llms.txt 完整文档索引请参见 llms.txt
工具
xiaohui
于收录

Gongwen GB/T 9704-2012 Skill | 把中文正式材料排成可交付的公文 DOCX

一个开源的中文公文排版 skill:把正式材料整理成符合 GB/T 9704-2012 的可编辑 DOCX,并自带一个可跑的格式检查脚本——能生成,也能验收。

Gongwen GB/T 9704-2012 Skill — GitHub 仓库首页。

Gongwen GB/T 9704-2012 Skill GitHub 仓库首页

Gongwen GB/T 9704-2012 Skill 是一个开源的中文公文排版 skill。它把中文正式材料整理成符合 GB/T 9704-2012《党政机关公文格式》 的可编辑 DOCX,并保留 Word / WPS 里可更新的目录。MIT 许可,2026 年 9 月 9 日建仓,目前约 538 star、117 fork。

它解决的问题,不是「写得好不好看」

很多 AI 会把标题设成黑体、正文设成仿宋,然后把输出称为「公文」。

这个项目不接受这个标准。它把 A4、版心、正文、层次、首页和页码这些版式参数做成了可生成、可检查的输出,并且接受你提供的机构名称、文号、署名、日期和页码模式——而不是让它临场发挥。

能生成,也能验收

这是它最值得说的一点:它不是一个提示词,而是两个带参数的脚本——一个负责生成,一个负责检查。

# 生成
node scripts/generate_gongwen_docx.mjs \
  --input tests/fixture.md --output /tmp/gongwen.docx \
  --format ordinary --title "公文格式回归测试"

# 检查
node scripts/verify_gongwen_docx.mjs --input /tmp/gongwen.docx --profile ordinary

「看着像」和「合格」之间的差别,就在第二步。

能力与边界

场景处理方式
文档主体A4、版心、标题、正文、层次、署名和日期排版
普通报告 / 方案 / 汇报默认 ordinary,不因为填了机构名称就自动使用红头
正式发文与红头纸显式 formal;默认「预印红头纸套打」,首面留白、不重绘红色机关标志和红线
完整电子红头显式 formal --letterhead digital,才在 DOCX 中绘制红头要素
机构名称与文号用 --org、--doc-no 定位;正式版式会拒绝不符合年份、六角括号、顺序号和「号」字规则的文号
标题与目录四级标题写入 Word/WPS 标题样式及大纲级别,可插入自动目录
页码居中、单双页或不显示
特种格式letter、command、minutes、horizontal-table 各走专用分支;联合行文用 --joint-org,分离装订附件用 --attachment-detached

GB/T 9704-2012 是现行标准,2025-05-30 复审继续有效。标准适用于党政机关制发公文,其他机关和单位可以参照执行。

跨平台:一套规则,八个入口

同一个 skill 可以安装到 Codex、Claude Code、OpenCode、Trae Code、Kimi、TraeWork、WorkBuddy、ZCode。各平台读的是同一份规则,后续修改也不必在七八个目录里反复补。

配套还有一个 CEB 文件转换 项目,负责把已验证的 CEB 文件转换为 PDF、Markdown、TXT。两个 skill 可以连成一条「读取 → 整理 → 交付」的工作流。

适用场景

  • 事业单位、国企、党政机关的正式材料排版
  • 需要交付可编辑 DOCX(而不是 PDF 成品)的场合
  • 需要走红头、文号、版记这类正式流程的发文

不太适合

  • 只需要一张好看的 PDF、不需要后续编辑的场景——用通用文档工具更直接
  • 不涉及中文公文格式的普通文档排版
  • 打算把涉密或受限文件丢进未授权的在线模型的场合(见下)

一处值得单独说的设计

这个项目的 README,把信息安全提醒放在了所有功能说明之前:

本 Skill 用于文件转换与公文排版,不会替你判断文件是否可以公开。请勿把企业内部、涉密、敏感、受限或明确禁止对外的文件,上传到未获授权的在线模型、第三方服务或公共仓库。

它同时建议:如果单位已经在本地或企业内网部署大模型,可以把 skill 部署在内部环境使用,并由使用单位自行落实访问控制、存储、日志与输出文件管理。

工具清楚地说明自己不做什么,比它宣称能做什么更值得信任。

下一步

本文由「策思路 C456」(c456.com)团队撰稿。

复制成功后将正文粘贴到公众号后台即可发布