gongwen-skill
中文公文全流程处理工具 - GB/T 9704 格式检查/修复/内容优化/模板生成/版式注入
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:linhut/gongwen-skill说明文档
阅读完整 README ↗使用示例
在 AI 对话中调用 gongwen-skill,输入自然语言指令,自动生成符合 GB/T 9704 国标格式的正式公文。
一步到位:检查 + 修复 + 版头/版记/页码全注入(--layout 指向 JSON 配置)
python -m gongwen optimize 公文.docx -o 成品.docx --layout 版式.json
⚠️ 使用红线
- 不伪造、冒用真实机关正式发文 — 生成物仅为草稿,正式发文须走审核流程
- 人事信息准确性铁律 — 领导姓名/机构全称/职务等仅有"确定"或"
[XXX]占位"两种状态,严禁推理/猜测填造 - 不编造政策依据、数据、结论 — 缺失信息用
XXX占位 - 涉密材料先脱敏再处理
- 字体版权 — 方正小标宋简体等字体可能受版权约束,缺少时 Word 会回退
🤖 作为 AI Agent Skill 使用
将本仓库放入 Agent 的 skills 目录,Agent 读取 SKILL.md 后自动调用命令。支持三条路径:
- 路径 A:格式修复(不改文字,只修排版)
- 路径 B:内容优化(润色文字,Word 原生修订+批注 / 差异对比版)
- 路径 C:生成公文(从零创建,四步流水线)
🔄 版本追新(Agent 加载 skill 后必须执行)
Agent 加载 skill 后必须执行版本追新自检,确保使用最新版本:
- 多渠道远程自检(首选):
python -m gongwen check-update——自动查询 GitHub/GitCode/AtomGit 三仓库最新 tag,取最高版本比对本地;任一渠道可达即不遗漏,全部不可达时明确告知"版本自检跳过" - 本地 git tag 对比(补充):对 skill 安装目录执行
git -C "" describe --tags --abbrev=0;若安装目录不在 git 管理下,应告知用户"无法执行版本对比,建议手动检查 GitHub 更新" - 落后则警告:发现本地版本落后于最新 tag 时,必须在执行前警告用户并提示更新(
cd && git pull && git fetch --tags),不得静默使用旧版本
严禁只用本地
git describe判断版本——它只读本地可达 tag,未 fetch 时会误判本地即最新。
方式零:仅作为 Python CLI 使用(最轻量)
git clone https://github.com/linhut/gongwen-skill.git
cd gongwen-skill
pip install -r requirements.txt # 或 pip install gongwen-skill(已上 PyPI)
python -m gongwen --version # 检验:gongwen-skill v1.12.67
DSH 插件配置化(v1.12.61+)
DSH 插件支持通过配置文件管理排版参数,Agent 调用时自动注入,纯 CLI 用户不受影响。
配置文件:~/.gongwen-skill/dsh-config.json
初始化配置(从默认模板创建):
### 对话中使用示例
| 用户说 | Agent 行为 | 路径 |
|--------|-----------|------|
| "帮我检查这份通知的格式" | 自动执行 `check` 并展示问题清单 | A |
| "帮我排版这份红头文件" | 自动执行 `optimize --apply` 修复格式 | A |
| "润色一下这份报告的措辞" | 生成 `changes.json`,执行 `optimize-content`(tracked 修订+批注) | B |
| "帮我写一份关于XX的通知" | 追问细节后走草稿→`md2docx`→`optimize`→`check` | C |
| "核验一下这份新闻稿里的人名职务" | 执行 `optimize-content --output-tasks` → Agent 核验 → `--input-tasks` 回填 | B+协作 |
| "给这份会议通知生成桌签" | 询问名单后执行 `table-signs` | 独立 |
| "看看这份文档有没有问题" | 执行 `audit` 检查删除线/加粗/AI声明 | 独立 |