• imhuhe

    我不是程序员,但是从小就对计算机、信息技术、互联网十分感兴趣。初中时期,在只有 ADSL 网络的网吧熬几个通宵,用 Dreamweaver 和 FrontPage 做了人生第一个个人网站,那真是回忆满满。到现在四十多岁,还保持着对这些技术方面的兴趣和热爱。尤其最近几年 AI 大行其道,突然发现可玩儿的东西真的太多了,也就跟着折腾了很多玩意儿。

    我在上市公司、国企干了 20 年。现在跟政府、央国企打交道多,天天要读写材料。然后从满足自己的实际需求出发,用 Claude 整了一些相关的工具。就把公文单独拿出来做成了一个小项目:公文生成与机检工具 gongwen-kit。代码主要是跟 Claude Opus 5.5 一起写的,测试和真实文件回放是我一遍遍盯着做的。第一次开源,心里没底,希望能帮到经常读写材料的朋友,也恳请各位大佬指点。

    地址: https://github.com/imhuhe/gongwen-kit 主要功能:按国标出公文、查公文、修公文。

    PS:上面的文字都是我手打的,我不喜欢大片大片的复制 AI 文本。但是下面的内容都是 Claude 写的,主要是内容太多,需要排版方便大家浏览,还请谅解!

    要素全览样张

    能做什么

    - 出稿:通知、报告、请示、函、纪要、管理办法,红头和不带红头的政府、企业文书都能出

    - 机检:每份稿子出完自动查三道,哪一道不过不算出稿

    - 体例:版心、层次序数、日期和发文字号写法、全半角

    - 数字:表格合计与分项、跨表同一个指标、正文说「以下三点」后面是不是真列了三点

    - 文风:异形词、中文里混进来的半角标点;套话和空词只提示

    - 修稿:手上已经写好的 .docx 交给它修

    - 版式直接改:版心、字体字号、页码

    - 体例写成 Word 修订痕迹,在「审阅」里逐条接受或拒绝

    - 数字一个不改,只插批注,指出哪里对不上

    相对突出的几点功能

    - 数字前后对得上:合计和分项、同一个指标在不同地方的取值、说了几点列了几点,这些人读稿时最容易漏

    - 改了什么一目了然:所有体例改动都留修订痕迹,全部拒绝就回到原文,一字不差

    - 数字不替你改:合计错还是分项错,工具判断不了,所以只标出来,由写稿人定

    - 拿真稿子验过:自己真实的两百六十八份文稿跑了一遍修复,全部正常

    - 版式量过:关键尺寸在 Word 里渲染后实测,比如版头标志上缘距版心 35.05 毫米,标准是 35

    - 数据不出电脑:工具全在本机运行,装好以后不联网

    怎么用

    - 装进 AI 用:作为 skill 装进 Claude Code 或 OpenCode ,其他 AI 未实测。直接说「按公文格式起草一份关于××的通知」

    - 命令行出稿:照样张改一份稿源,一条命令出 Word ,机检自动跑

    - 修现成稿:node tools/fix-doc.js 稿子.docx,输出 稿子-修订.docx,原文件不动

    - 先看样张:七份样张的 PDF 在仓库 docs/样张/,网页上可以直接看

    几点限制

    - 标题默认用方正小标宋简体,这个字体要自己装

    - 版式只在 Mac 版 Word 上测过,Windows 版 Word 和 WPS 没有逐项验;程序本身在 Windows 、Mac 、Linux 上都跑过测试,没有问题

    - 不校对内容和政治表述,写什么、怎么表态,责任在写稿人

    - 让 AI 起草正文时,内容去哪取决于你自己用的模型;涉密材料自己写,只交给它排版和检查

    几个技术上的取舍

    - Node 写的,依赖只有 docx 、jszip 、sax ,全部本地运行

    - 修复直接改 OOXML:体例改动写成 w:ins/w:del,测试断言「拒绝全部修订后正文逐字等于原文」

    - 改不了的元素不碰:超链接、域、已有修订、文本框、表格里的数字,碰到就跳过,留给批注

    - 每条机检规则都配一份必错的标本,规则报不出来测试就失败;可能误报的规则只提示不拦稿

    - 用 268 份真实 .docx 文件回放过修复:0 崩溃、0 不一致

    想听的意见

    - WPS 经手的稿子、各单位自己的模板、带封面和目录的长文,修完之后哪里不对

    - 代码结构和测试写法,哪些部分外行

    - 回帖或者提 issue 都行

    最后,感谢各位看帖、回帖,来 V2EX 也有六年了,真心希望能和大家交流、向大家学习!😄

    主楼
  • cloudyldy

    谢谢你笔杆子

    #1
  • keenkiller

    谢谢你,虽然我一般用 wps 会员自带的公文排版。

    另外我建议你做一个 dsh 的插件。

    #2
  • imhuhe

    @keenkiller 您能简单说说 WPS 会员自带的公文排版有哪些吸引点和离不开的功能吗?谢谢!

    #3
  • imhuhe

    @cloudyldy 😅😅

    #4
  • keenkiller

    @imhuhe 公司买了企业会员,不要钱啊

    #5
  • duck2

    还真是刚需了,我也尝试做了一个,但是逻辑不合适,我们一般的流程都是自己做一份就这种普通的公文通知,然后类似于用这种工具进行检查,各个层级的标题总是识别不准,因为是 WPS 的问题?

    图片

    我的想法最终类似于所有东西都在这个封装好的程序写,自由添加模块,也就是一级标题、二级标题、正文、表格这些,但是用起来不太流程

    #6

发表回复

登录后回复