dsh-tool-gongwen:在 DSH 里按 GB/T 9704—2012 生成与校验公文

前言

在 DeepSeek Harness(DSH)里让模型写机关公文,难点往往不在措辞,而在版式:行距 28 磅、三号字 16 磅、首行缩进两字、发文机关标志小标宋且为红色、页码奇右偶左——参数多且彼此牵连,手工调 Word 或让模型「凭感觉」排版,很容易一处记错整份不合规。

下面介绍社区插件 dsh-tool-gongwen(维护者 longaotiandedage):把 GB/T 9704—2012《党政机关公文格式》里的机械部分固化成三个原生工具,会话内可直接生成 DOCX、在具备 TeX 环境时生成 PDF,并对已有文件做版面回读校验。内容组织、文种与措辞仍由使用者与模型判断,插件不干预正文逻辑。

这是什么

dsh-tool-gongwen 是 DSH 的 cordis bundle 插件(当前版本 0.1.0,MIT)。简介可概括为:按国标排版中文公文,DOCX 与校验为纯 JavaScript、除 Node 内置模块外零 npm 依赖;PDF 路径依赖本机 TeX Live(xelatex)。项目在 GitHub 仓库 longaotiandedage/dsh-tool-gongwen 维护,社区目录页:skillhub.cn 插件页。目录站点为社区聚合,与 DeepSeek / 幻方无官方从属关系。

README 写明:三个工具已在 DSH 桌面版完成真实加载验证,生成 DOCX/PDF 后回读校验十一项均可符合国标(具体项以 gongwen_check 输出为准)。

核心功能

插件暴露三个工具,分工如下。

工具 作用 外部依赖
gongwen_docx 生成符合国标的 DOCX 无
gongwen_pdf 生成符合国标的 PDF 本机需装 TeX Live(xelatex)
gongwen_check 校验既有 DOCX 或 PDF 的版面 无(PDF 仅能校验页面尺寸,见下文边界)

DOCX 生成自行实现 ZIP 与 OOXML(lib/zip.js、lib/docx.js)。版心、天头订口、字号行距等换算为 twips / 半磅后写入,与国标表一致——例如 A4、天头 37 mm、正文三号仿宋 16 磅、固定行距 28 磅、首行缩进 2 字等。

正文块类型包括:body 普通段、h1 / h2 / h3 三级标题、to 主送机关;可选版头 org、字号 docno、附件 attachments、署名与成文日期等,字段说明见仓库 README「内容规格」一节。

安装与启用

前置条件

项目 要求
DSH 0.2.x(cordis 规范加载 bundle)
Node.js 20 及以上(可用 DSH 自带运行时)
TeX Live 可选,仅 gongwen_pdf 需要
中文字体 仿宋、黑体、楷体、宋体;Windows 自带,macOS / Linux 可能降级替代

插件以当前 DSH 进程权限运行;安装前建议通读仓库源码与 LICENSE,确认可接受其能力边界与法律提示(README 第八节)。

一键安装(Windows)

取得源码后,在仓库根目录双击 install.bat:脚本会定位 DSH 目录与 profile、备份 package.json / pnpm-lock.yaml、登记 bundle 并安装依赖,完成后提示重启 DSH。卸载可用 uninstall.bat 或 node uninstall.mjs。

预演安装步骤、不改文件:

node install.mjs --dry-run

安装失败时脚本可还原 package.json;也可手动:

node install.mjs --rollback

手动安装

  1. 取得源码并放到固定位置(README 示例路径为 ~/dsh-tool-gongwen;也可用仓库页 Download ZIP 解压后同名放置)。

  2. 在 profile 目录以本地路径安装:

cd ~/.dsh/profiles/desktop
pnpm add "file:$HOME/dsh-tool-gongwen"
  1. 在 profile 的 package.json 里,向 dsh.profile.bundles 数组追加 "dsh-tool-gongwen"(与 @deepseek-ai/dsh-base 等并列)。仅 pnpm add 而未登记 bundles 时插件不会加载,且通常不报错——这是常见踩坑点。

  2. 重启 DSH;若开启热加载,保存后等待片刻亦可。

bundle 通过包内 dsh.bundle.patch 指向 cordis.patch.yml,用 insert 把 dsh-tool-gongwen 挂入配置树;机制说明见 README「挂载机制说明」。

验证安装

重启后在会话中可试:

用 gongwen_docx 生成一份关于××的通知,输出到 test.docx

再用 gongwen_check 校验,结论应为符合 GB/T 9704—2012。不依赖 DSH 时可在仓库根目录运行:

node test/selftest.mjs

未装 TeX Live 时自检会跳过 PDF 相关项,其余照常。

典型用法

生成 DOCX

在工具调用中传入结构化字段,output 为必填,相对路径按会话工作目录解析:

gongwen_docx({
  org: "华中科技大学教务处文件",
  docno: "教字〔2026〕15 号",
  title: "关于开展数值方法课程资源建设的通知",
  to: "各教学单位:",
  blocks: [
    { type: "body", text: "为加强……现将有关事项通知如下。" },
    { type: "h1", text: "一、建设目标" },
    { type: "h2", text: "(一)总体要求" },
    { type: "h3", text: "1. 讲义建设" }
  ],
  attachments: ["1. 任务分工表", "2. 体例说明"],
  signOrg: "华中科技大学教务处",
  signDate: "2026年10月26日",
  output: "notice.docx"
})

README 说明:examples/ 内通知为排版示例,机构名、文号、日期等为虚构,不指向真实机关。

生成 PDF

参数相同,将 output 改为 .pdf 即可;需本机已安装 TeX Live。

版面校验

gongwen_check({ path: "notice.docx" })

输出为逐项对照表(页面宽、白边、版心、字号、行距、奇偶页等),最后一行给出是否符合 GB/T 9704—2012。对 PDF,插件仅能读取页面尺寸(MediaBox);四边白边需文字坐标时,README 指向配套技能里的 scripts/verify_layout.py(依赖 PyMuPDF),不在本插件内实现。

适用场景与注意

适合谁: 需要在 DSH 会话里快速产出版式合规的机关公文 DOCX、在具备 TeX 时同步出 PDF、或对已有 DOCX 做国标版面自检的开发者与办公自动化场景。

能力边界: 插件不生成印章;不代替你对文种、主送机关、法定表述的审核。生成正式文件时不得冒用真实机构名称与文号——README 引用了《刑法》第二百八十条及《治安管理处罚法》(2025 年修订)相关条款,伪造、变造公文有法律风险。

运行与安全: 工具在 DSH 进程内执行,读写路径由调用参数与会话工作目录决定;安装脚本会改动 profile 下的 package.json,并可能留下 .gongwen-backup-* 备份目录,可自行清理。

结尾

dsh-tool-gongwen 把 GB/T 9704—2012 里易错的版式参数收进三个工具,让 DSH 输出在版面上「有据可查」,而不是反复手工改 Word。进一步了解与安装步骤以仓库 README 为准。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye