• 请不要在回答技术问题时复制粘贴 AI 生成的内容
imhuhe
V2EX  ›  程序员

战战兢兢,非程序员的第一个开源项目,以国标为基础的公文生成与机检工具

  •  
  •   imhuhe · 3h 25m ago · 200 views

    我不是程序员,但是从小就对计算机、信息技术、互联网十分感兴趣。初中时期,在只有 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 也有六年了,真心希望能和大家交流、向大家学习!😄

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   930 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 105ms · UTC 21:55 · PVG 05:55 · LAX 14:55 · JFK 17:55
    ♥ Do have faith in what you're doing.