gongwen-kit
Health Gecti
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 31 GitHub stars
Code Basarisiz
- child_process — Shell command execution capability in bin/gongwen.js
- spawnSync — Synchronous process spawning in bin/gongwen.js
- exec() — Shell command execution in checks/check-doc.js
- fs module — File system access in checks/check-doc.js
- exec() — Shell command execution in checks/check-num.js
- fs module — File system access in checks/check-num.js
- fs module — File system access in checks/check-style.js
- exec() — Shell command execution in checks/style-scan.js
- fs module — File system access in checks/style-scan.js
- exec() — Shell command execution in lib/fix/layout.js
- exec() — Shell command execution in lib/fix/ooxml.js
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
公文生成与机检工具:按 GB/T 9704 生成、修复 Word 公文,出稿自动查体例、数字与文风;本地运行,面向党政机关与央国企

按 GB/T 9704《党政机关公文格式》生成标准 Word 公文,出稿当场机检;现成的稿子也能修,
改动写成 Word 修订痕迹逐条确认。写稿人只管内容,版式交给国标,数字对不对得上交给机检。
面向党政机关、央国企和一般单位的日常公文:通知、报告、请示、函、纪要、管理办法、条例。

30 秒上手
git clone https://github.com/imhuhe/gongwen-kit.git && cd gongwen-kit
npm install
npm test # 生成七份样张,每份跑完三道机检;再跑全部必错标本与必过标本
样张在 samples/word/,用 Word 打开即可。
样张
七份样张由 Word 导出的 PDF 在 docs/样张/,GitHub 上可以直接翻页看。
要素全览:一份把全部构件摆出来——联合行文红头、份号密级紧急程度、四层层次序数、三线表、
附件说明、联合落款、附件页、版记。点图看 PDF。
非红头企业文书:央国企日常最常用的形态,没有版头,从标题直接起,版心与其余要素照样按国标。
表格合计和正文「三个方面」都过了数字机检。
| 样张 | 形态 | 页数 |
|---|---|---|
| 公文要素全览 | 联合行文、全部构件 | 5 |
| 公文通知 | 下行文,完整版头与版记 | 2 |
| 公文请示 | 上行文,签发人、附件页 | 4 |
| 公文信函 | 信函格式(10.1) | 2 |
| 公文纪要 | 纪要格式(10.3) | 2 |
| 公文管理办法 | 条文体,章条连号 | 3 |
| 企业内部报告 | 非红头 | 2 |
出图的机器没装方正小标宋,样张 PDF 的标题和机关标志用 Songti SC Black 代替;装了字体后
重新生成,就是国标用字。
它查什么
每份稿子写盘后自动跑三道机检,哪一道不过就非零退出,不算出稿。
| 机检 | 查什么 | 例子 |
|---|---|---|
| 体例 | GB/T 9704 版心、层次序数、日期与发文字号写法、全半角 | 发文字号:年份用六角括号〔〕:【2026】 |
| 数字自洽 | 表格合计与分项、百分比构成、跨表同一指标;正文「以下三点」与实际列出的条数;正文同一指标多处取值、正文与表格取值(这两项只提示) | 计数与列举:「以下三项」其后列了 2 个下一级标题 |
| 文风 | 异形词、中文里的半角标点(规范层,命中即拦);套话、黑话、空词(风格层,只提示) | 异形词 1 处(GF 1001-2001):筹画 → 筹划 |
每条规则都有一份「必错的标本」做负对照,规则报不出来,测试就失败;靠标签匹配、可能误报的规则只提示不拦稿,另有「必过的标本」防误报。机检输出可以存成文件,
作为合规凭据留档。
现成的 .docx 也能直接修,见下文「修复现成文件」。
和别家比
按国标排版、查错别字,大厂和开源都在做,有的版式比本仓全。本仓多做的是数字自洽这一类跨段落检查。
各家能力取自官网与公开资料(2026-10-13 核对,厂商口径),来源列在图底。

能力
- 两种体式:行文体(报告、请示、函、纪要等)与条文体(管理办法、条例,章条全文连号)
- 版头:发文机关标志(单个与联合行文)、发文字号、签发人(上行文,回行对齐)、
红色分隔线;数字红头与预印套打两种形态;份号、密级、紧急程度可选 - 信函格式(GB/T 9704 10.1):标志距上页边 30 mm、两条 170 mm 红色双线、
发文字号居右、首页不印页码、版记只留抄送 - 纪要格式(GB/T 9704 10.3):「×××纪要」标志、期号;出席、请假、列席名单
标签黑体、名单仿宋,回行与冒号后首字对齐 - 版记:抄送机关、印发机关和印发日期、三条分隔线,浮动锚定在版心底部
- 附件页:另面编排、单附件不编号、不装订附件的发文字号
关键尺寸都在 Word 渲染后量过,例如版头标志上缘距版心 35.05 mm(标准 35),
信函双线长 170.01 mm(标准 170)。量测脚本和全部校准值见 docs/版式.md。
数据在哪里处理
gongwen-kit 本身全部在本机运行,安装后不联网:排版和机检都不调用任何服务。
已经写好的稿子交给它排版、检查,内容不出本机。
让 AI 起草正文时,内容去哪由你用的模型决定。用云端模型,起草的内容会发给模型服务商;
涉密材料要么自己写好只交给它排版检查,要么接内网或本地部署的模型。
内网和离线安装
目标机器联不了网时,在能上网的机器上打一个带依赖的包:
node tools/pack-offline.js --out ~/Desktop # 产出 gongwen-kit-v<版本>-offline.tgz,约 2 MB
包里是 git 已跟踪的文件加生产依赖(docx、jszip、sax,都是纯 JavaScript),不含宣传图、PDF 样张、测试和 AGENTS.md,
另附一份《离线包说明.md》写明缺什么,所以包里 README 指向图片和样张的链接打不开,npm test 也不可用。
有未提交的改动或未跟踪的新文件时,打包会拒绝并点名这些文件,免得新文件被静默漏掉。
拷到内网机器解压,机器上只需要 Node 18 以上,不跑 npm、不联网:
tar -xzf gongwen-kit-v*-offline.tgz
node gongwen-kit-v*/bin/gongwen.js where # 能打印目录就说明可用
之后按下文「当作 agent skill 用」把解压目录链进 skill 目录。已在本机解压后完整走通起稿、出稿、机检;打包脚本的文件选择与拒绝逻辑由 npm test 覆盖(不联网),npm ci 那一步没有测试。Windows 内网机上的解压与运行没有实测。
两处要提前备好:可选的 PDF 检查需要 PyMuPDF,离线机器上要预先下载 wheel;
标题和机关标志用的方正小标宋要由目标机器自己提供,没装时的替代见 docs/字体.md。
当作 agent skill 用
目录里的 SKILL.md 是入口,格式是 Agent Skills 通用的 name 加 description。
各家读取的目录不同,装法如下:
| 工具 | 用户级目录 | 项目级目录 | 依据 |
|---|---|---|---|
| Claude Code | ~/.claude/skills/ |
.claude/skills/ |
code.claude.com/docs/en/skills |
| Codex | ~/.agents/skills/ |
.agents/skills/ |
developers.openai.com/codex/skills |
DeepSeek Harness(dsh) |
~/.agents/skills/ 或 ~/.dsh/skills/ |
.agents/skills/ 或 .dsh/skills/ |
其仓库 packages/skill/skill-filesystem 的说明 |
| OpenCode | ~/.agents/skills/、~/.claude/skills/ 或 ~/.config/opencode/skills/ |
.agents/skills/、.claude/skills/ 或 .opencode/skills/ |
opencode.ai/docs/skills |
Codex、DeepSeek Harness 和 OpenCode 都读 ~/.agents/skills/,装一处三边都能读到:
mkdir -p ~/.agents/skills
ln -s "$(pwd)" ~/.agents/skills/gongwen-kit
Claude Code 换成 ~/.claude/skills/gongwen-kit。
之后直接说「按公文格式起草一份关于××的通知」即可。
与通用 Office skill 并存。 DeepSeek Harness 自带一组通用 Office skill(office、office-docx 等),
模型按任务从目录里自己选。本 skill 的 description 写明了只管中文公文、不管合同简历等一般 Word 文档,SKILL.md 里也要求中文公文一律走本 skill。两者可以同时装;在 DeepSeek Harness 里模型是否总能选对,
尚未实测。
与 agent 的工作目录无关。 agent 的工作目录是你的项目,不是本仓库,所以命令统一走入口脚本,
任何目录都能调:
node /path/to/gongwen-kit/bin/gongwen.js new --form wen --out 稿子.js # 起稿源脚本
node /path/to/gongwen-kit/bin/gongwen.js check 稿子.docx --strict # 三道机检依次跑完
node /path/to/gongwen-kit/bin/gongwen.js check 稿子.docx --json # 同上,stdout 只出一份 JSON(出错也是),退出码 0 通过、1 命中、2 工具故障
node /path/to/gongwen-kit/bin/gongwen.js fix 稿子.docx # 修复现成文件
SKILL.md 里把这个目录记作 $KIT,它只是记号,不是环境变量:agent 要换成加载 skill 时看到的 SKILL.md 所在目录的绝对路径。npm link 之后可以直接敲 gongwen。
验证状态。 目录约定取自上表四家的官方文档与源码说明(2026-10-17 核对);入口脚本在仓库之外的目录里走完起稿、
出稿、机检、修复,npm test 覆盖这一点,SKILL.md 的 frontmatter 也按 DeepSeek Harness
与 Codex 的规则在测试里近似校验(自写的简易解析,不是它们的真实加载器)。Codex 与 DeepSeek Harness 上的真实加载与端到端起草尚未实测。
DeepSeek Harness 仍是 developer preview,目录约定可能变。
写自己的公文
node tools/new-doc.js --form wen --out 我的稿子.js # 行文体;条文体用 --form zhang
node 我的稿子.js # 出稿,写盘后自动机检
所有构件的用法看 templates/complete.js,真实场景看 templates/notice.js、templates/xinhan.js 与 templates/jiyao.js;
不要红头的企业文书看 templates/qiye.js。
修复现成文件
手写的、别人发来的、旧模板出的 .docx,交给它修一遍:
node tools/fix-doc.js 某文件.docx # 输出 某文件-修订.docx,原文件不动
分三档处理:
| 档 | 怎么改 | 例子 |
|---|---|---|
| 版式 | 直接改 | 版心与网格、仿宋三号、层次标题字体、公文标题、页码 |
| 体例与规范层文风 | 写成 Word 修订,在「审阅」里逐条接受或拒绝 | 【2026】第012号 → 〔2026〕12号、05月08日 → 5月8日、筹画 → 筹划 |
| 数字与要靠判断的项 | 不改,插批注 | 合计与分项对不上、「以下三点」只列了两点 |
数字一律不自动改:合计错还是分项错,工具判断不了。引号与书名号里的原话、网址、超链接、
表格里的数字、红头都不动;全部拒绝修订,正文逐字等于原文。规则、不改什么、已知限制见
docs/修复.md。
只体检不改:
node checks/check-doc.js 某文件.docx --strict # 体例
node checks/check-num.js 某文件.docx --strict # 数字自洽
node checks/check-style.js 某文件.docx --strict # 文风
导出 PDF 后核字体与版面(可选,需要 pip install pymupdf):
python3 tools/check-pdf.py 导出件.pdf
依据
GB/T 9704—2012、GB/T 15834、GB/T 15835、GB/T 1.1、GB/T 8170、GF 1001,
以及《党政机关公文处理工作条例》(中办发〔2012〕14 号)。党政机关适用,其他机关和单位
参照执行。条款对照见 docs/依据.md。
标题与发文机关标志默认用方正小标宋简体,需要自行安装;没装时的替代方案见
docs/字体.md。版式在 Mac 版微软 Word 上渲染验收;Windows 版 Word 与 WPS 没有逐项验过渲染。
测试在 Windows、macOS、Linux 与 Node 18/20/22 上都跑过(CI)。
文档
| 文件 | 内容 |
|---|---|
| docs/依据.md | 引用的国标与条款对照 |
| docs/版式.md | 硬指标、校准值、踩过的坑,改版式前必读 |
| docs/修复.md | 修复现成文件:三档处理、规则表、不改什么、已知限制 |
| docs/文风.md | 两层判据、词表校准办法、怎么加自己的词 |
| docs/字体.md | 国标用字对照、方正小标宋授权与替代、字体验证 |
| SKILL.md | 给 agent 的入口(工作流与要素速查) |
不做的事
不校对内容与政治表述,判断和责任归写稿人;工具只管形制合规与数字自洽。
不做命令(令)格式、OFD 与电子公文交换、印章图像与数字签章(只预留位置)、公文流转审批、云端服务。
维护
个人开源项目,低频维护。issue 会看,不承诺处理时限。许可证 MIT。
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi

