别再手动调公文格式了,700 星开源 Skill 按国标一键生成 Word

0 阅读10分钟

AI 写材料容易,排成合格公文难。这个开源 Skill 把 GB/T 9704-2012 拆成可执行规则,一条命令生成可编辑 DOCX,还附带校验器和截图证据链。本文拆解它凭什么比「标题黑体+正文仿宋」更靠谱。

你让 AI 写一份汇报材料,内容写得不错,发给办公室排版,对方一句话打回来:「格式不对。」

标题不是黑体?正文不是仿宋?页码不是四号宋体阿拉伯数字居中?红头纸套打留白差了几毫米?——对事业单位和国企来说,GB/T 9704-2012 里这些「没人愿意盯的细节」,就是文件能不能往下走的分水岭。

大多数 AI 工具只把标题设成黑体、正文设成仿宋,就敢自称「公文排版」。版心、层次、文号、页码、版记这些真正要命的地方,全都靠人肉返工。

有个开源项目专门治这个:gongwen-gbt9704-skill,一个按国标生成可编辑 DOCX 的 AI Skill。

GitHub:

github.com/mizzlelover…

一句话说清楚

这是一个开源的中文公文排版 AI Skill:把 GB/T 9704-2012 国家标准做成可执行的版式规则,一条命令生成符合规范的可编辑 DOCX,覆盖普通报告到正式红头发文,并支持九个主流 AI 编程工具平台安装。

它解决了一个什么问题

用 AI 写公文的流程,今天长这样:AI 生成内容 → 复制到 Word → 手动调字体 → 手动调行距 → 手动调页边距 → 手动加文号 → 手动排版记 → 还是被退回。

问题出在两层。

第一层是「像」和「对」的差距。AI 把标题设黑体、正文设仿宋,看起来像公文,但国标管的不只是字体:A4 版心尺寸、正文 3 号仿宋、28 磅固定行距、层次序数、首页红色反线、单双页页码规则、版记的粗细线和浮动锚定……每一项都是可测量的硬参数。差几毫米,文件就卡在流程里。

第二层是环境的不可控。作者在 README 里讲得很实在:WPS 和 Office Word 看着能互开,字体命名却不总在同一套规则里。有的环境认中文字体名,有的认英文名。一个文件在电脑上排得好好的,换个环境字号、行距、换行全变样。

这个 Skill 的解法是把国标从「文字描述」翻译成「可执行参数」:生成器按参数产 DOCX,校验器回头检查版式要素,视觉审计把每个场景转成 PDF/PNG 逐条对截图。不是让 AI「尽量排对」,而是让规则有生成、有检查、有证据。

核心功能

普通稿与正式发文分流

这是最体现设计判断的地方。默认走 ordinary 模式,做普通报告、方案、汇报——即使你给了机构名称,也不会擅自套红头。要走正式发文必须显式指定 --format formal,再选预印红头纸套打(preprinted)还是完整电子红头(digital)。

为什么这么设计:红头是公文严肃性的象征,误用红头比格式出错严重得多。「不自动升级到红头」是一个把合规风险挡在生成阶段的决策,比多写几个功能更有价值。

预印套打模式只在 DOCX 里留白,不重绘纸上已有的红色机关标志和红线;留白高度用 --letterhead-reserve-mm 控制,默认 72mm,可按本单位红头纸实际改成 37—130mm。电子红头才在文档里绘制红头要素,且要求目标电脑装有小标宋体和仿宋体,缺字体会在终端明确警告,--require-standard-fonts 可直接阻止替代输出。

全文种覆盖

除了常规「文件」格式,还内置信函、命令(令)、纪要、横排表格的专用生成分支:信函生成上粗下细/上细下粗的红色双线且关闭页码;命令落实机关标志距版心上边缘 20mm、令号下空二行;纪要把「出席/请假/列席」设黑体、名单设仿宋。联合行文用 --joint-org 重复传入即可,分离装订附件、另页附件也各有参数。

四级标题与自动目录

标题写入 Word/WPS 的标题样式和大纲级别,打开后「引用 → 目录」直接生成并可更新。这意味着产出不是「排死的」图片式文档,而是可以在 Word/WPS 里继续改表格、加附件、盖章的活文件——对需要二次编辑的实际办公场景,这一点比「生成时好看」更重要。

校验器与视觉审计

verify_gongwen_docx.mjs 检查生成器可承诺的版式要素;视觉审计把每个场景转 PDF/PNG,逐条记录截图证据;还有 PDF 字形坐标量测,独立核对份号首行、机关标志 35mm 定位。2.0 版本实测了 18 份 DOCX、37 个 PNG 页面。配套的 gbt9704-audit-matrix.md 更狠:逐条标明哪些能自动生成、哪些只做结构校验、哪些必须人工复核——把「AI 能承诺什么、不能承诺什么」写成了矩阵,而不是含糊的「支持国标」。

技术架构

技术选型克制到几乎「无聊」,而这正是它的优点:

组件选型为什么这么选
Skill 定义SKILL.md(开放结构)一份规则服务九个平台,不用重复维护
生成/校验脚本Node.js(.mjs)无重型依赖,脚本即工具,CI 友好
标准依据references/*.md(执行摘要、审计矩阵)把国标拆成可执行要点与人工边界
测试shell 回归 + 视觉审计 + 坐标量测生成、结构、视觉三层验证
安装install.sh / install.ps1(链接或复制到各平台技能目录)Windows 默认复制,规避符号链接权限问题

没有自建框架,没有数据库,没有服务端。整个项目的本质是「国标知识 + 两个 Node 脚本 + 一套可核对的证据链」。架构上最值得学的是它把验证体系和功能放到了同等地位:功能会迭代,验证体系保证迭代不把已对的版式改坏。

跨平台安装也想清楚了:同一份源目录链接到 Codex、Claude Code、OpenCode、Trae Code、Kimi、TraeWork、WorkBuddy、ZCode 等平台的用户级技能目录,后续改规则不用在七八个目录里反复补。

同类项目对比

维度gongwen-gbt9704-skillpython-docx 手写模板Office/WPS 模板 + AI 提示词商业公文排版 SaaS
国标依据逐条执行矩阵 + 视觉审计无,靠开发者自己查无,靠提示词措辞商业机密,黑盒
校验能力生成 + 校验 + 截图证据部分有
红头处理预印套打/电子红头分离自己写自己写
全文种文件/信函/命令/纪要/横排表自己写自己写视产品
可编辑性标准 DOCX,Word/WPS 可续编标准 DOCX视生成方式导出后视产品
数据安全本地脚本,可内网部署本地提示词在云端数据在厂商云
上手难度低(命令行一条命令)低但不稳

核心区别:市面方案要么「看起来像」(AI 提示词 + 模板),要么「全靠手」(python-docx 裸写)。这个项目第一次把「国标可执行化 + 生成后可校验 + 证据可回溯」三件事放进了同一个开源仓库,还把「哪些必须人工复核」诚实地写进了审计矩阵。数据安全维度也占优:纯本地运行,且 README 开头就挂了信息安全提醒——适合涉密敏感单位在内网部署大模型后使用。

优势与不足

这个项目的优势很集中:严格对照 GB/T 9704-2012 且 2025-05-30 复审确认现行有效,标准依据直接挂在国标全文公开系统;普通稿与红头严格分流,把合规风险挡在参数层;附带生成器、校验器、回归测试、视觉审计、坐标量测的完整证据链,不是「黑盒说支持」;四级标题进大纲级别,Word/WPS 里还能继续改;一份 SKILL.md 通吃九个 AI 平台,MIT 协议可商用可内网部署。

不足也得说清楚:单人维护,33 次提交,外部 PR 为零,长期维护存在不确定性;项目强依赖目标环境安装小标宋体、仿宋体,缺字体时需要人工介入,--require-standard-fonts 场景下会直接失败;测试虽覆盖结构与视觉,但最终仍需在目标 Word/WPS 与真实打印条件下人工复核——这是公文场景的固有约束,项目也如实承认;0 个 Release,版本管理靠 tag/文档而非 GitHub Releases 流程;社区仅 700 星、3 个 Watcher,生态和讨论氛围还很早期。

前景判断

项目处于早期成长阶段:2.0 刚完成一次扎实的标准核验与视觉审计,核心功能稳定,但社区生态、外部贡献、版本发布流程都还在建立中。

被弃用风险:中低。作者有同名内容 IP 在持续运营,项目与内容互相需要;但单人项目始终有「作者兴趣转移」的理论风险。

值得用的场景:体制内及国企的正式材料排版;需要在本地/内网跑完全部流程、文件不能出单位的环境;已经在用 Claude Code / OpenCode / Kimi 等工具、想把排版这一步也交给 AI 但要可校验的团队;需要红头套打、联合行文、分离附件这些冷门但真实存在的公文场景。

慎用/观望的场景:把国标执行完全托管给工具、不做任何人工终审的场景——审计矩阵自己都标了哪些必须人工复核;高频高并发的批量排版生产流水线(脚本工具,不是服务平台);完全不装中文字体的纯 Linux 无头环境,除非接受字体替代警告。

GitHub:

github.com/mizzlelover…

写在最后

这个项目让我看到一个趋势:AI 应用的下一步竞争,不在「会不会写」,而在「能不能被验收」

公文排版是个极端例子——内容 AI 早就会写,卡住所有人的是那几毫米的版心和一条红色反线。gongwen-gbt9704-skill 做的事本质上是把「行业默会知识」翻译成「机器可执行、人类可核对」的规则:执行摘要、审计矩阵、截图证据、坐标量测,一层比一层较真。

对整个 AI 工具生态,这给了一个启发:与其堆功能,不如把一个垂直场景的标准真正做穿。一份 SKILL.md、两个脚本、一套证据链,小,但把「像」和「对」之间的鸿沟填上了。

如果你在做中文正式材料,尤其是被格式卡过的,不妨试试。也记住它的第一条信息安全提醒:先确认文件可以进当前处理环境,再让 AI 碰它。

关注

如果这篇文章对你有帮助,可以点个关注,我会持续更新 AI 开源工具的深度解读系列,尤其是能真正落到办公场景的那些小工具。