Word公文周报帮手
定位
面向企事业单位写作者的日常文档助手:周报月报、通知请示、会议纪要的成稿与格式规范化。解决两类痛点:①「内容写完了、格式调不好」;②「从零开始不知道怎么搭结构」。交付的不只是文字,是格式合规、可直接提交的 docx。v1.1.0 起内置成稿脚本,一条命令把素材变成排版合规的 docx,不用手动调格式。
触发方式(怎么开口)
对话触发(推荐)——直接说需求并给素材,例如:
- 「帮我把这些工作记录写成周报」+ 粘贴/给出素材
- 「写一份会议通知,主题是安全生产大检查,11月1日到5日」
- 「这份老文档格式乱了,帮我按公文规范修一下」+ 给出文档
- 「把会议记录整理成纪要」
助手识别到「周报/通知/请示/纪要/总结/调格式」类意图即进入本技能流程,不需要读任何说明,缺什么要素助手会主动问。
命令行直跑脚本(不需要对话时):
python scripts/make_doc.py --type 通知 --subject 安全生产大检查 --input 素材.md --out 通知-安全生产大检查-20261028.docx
python scripts/make_doc.py --type 通知 --subject 安全生产大检查 --input 素材.md --out 通知.docx --date 2026年10月28日 # 显式指定成文日期(缺省取素材「日期:」行,再缺省今天)
python scripts/make_doc.py --list-types # 查看支持文体
回读口径:--input 素材里的「单位:」「日期:」「# 标题」行作为全局字段被采用(落款单位/成文日期/标题);显式传 --date 时命令行参数优先于素材行与默认今天。
输出预览(节选自「通知」文体实际成稿,完整素材→成稿对照见 assets/examples.md):
关于开展安全生产大检查的通知 ← 黑体二号居中,行距36磅
【待补:主送单位】: ← 主送单位占位(交付前替换)
一、检查范围
全厂各生产车间及仓储区域,重点为危化品库与配电室。 ← 仿宋三号,首行缩进2字符,固定行距28磅
二、检查时间
2026年11月1日至11月5日。
← 页脚「第 X 页 共 Y 页」域代码
设备科(落款右空四字) 2026年10月28日
使用前提(依赖):Python 3.8+ 与 python-docx(pip install python-docx -i https://pypi.tuna.tsinghua.edu.cn/simple)——生成/诊断修复 docx 离不开它;缺依赖时脚本会直接提示本安装命令(退出码 21),装完重跑同一条命令即可。
完整「素材 → 成稿效果」对照范例见 assets/examples.md。
六步工作流
第 1 步:场景识别(入口判断)
根据用户输入判断文体,五选一:
- 周报/月报:本周完成/下周计划/问题风险 三段式
- 通知:事由+事项+要求+落款 四件套
- 请示:一文一事,请示事项+理由+结语(「妥否,请批示」)
- 会议纪要:时间地点人员+议定事项(分条,每条有责任人+时限)
- 工作总结:成绩(数据支撑)+不足(真实可改)+计划(可衡量)
识别不了就问,禁止猜文体直接写。用户给的是已有文档 → 跳到第 5 步原文修改模式。
第 2 步:要素收集
按文体的要素清单(见 references/gb-format.md 第二节)逐项确认,缺项给默认建议并标注「待补」。用户一次说不齐可以分两轮,不逼问、不替用户编造事实(数据、人名、日期缺就留占位「【待补:××】」)。用脚本时,本步产出即素材文件与 --type/--subject 参数。
第 3 步:成稿
- 结构先于文字:先给用户看大纲骨架(各级标题+每段一句话概要),确认后再填充
- 每段正文直给结果,不写「首先/其次/再次」的空转句
- 数据表述与用户原话一致,不四舍五入、不美化
🛑 人工卡点 A:成稿确认
初稿生成后必须停下,请用户确认三件事:①事实与数据 ②结构顺序 ③语气分寸(对上报/对下发的措辞不同)。确认后才能进格式排版。用户不改就继续,改了按批注改,不重写用户确认过的段落。
第 4 步:格式规范(默认执行 scripts/make_doc.py)
- 首选:脚本成稿——GB/T 9704 基线自动落位:页边距 上37/下35/左28/右26mm,标题黑体二号居中(行距36磅防裁切,正文固定28磅),正文仿宋三号首行缩进2字符,请示自动补「妥否,请批示。」,落款右空四字(
rightChars原生字符单位,Word/WPS 精确对位),页脚「第 X 页 共 Y 页」域代码 - 标题字体口径:国标大标题为方正小标宋简体二号;脚本缺省用黑体二号(小标宋字体多数机器未预装,黑体为系统自带稳妥替代)。需严格小标宋时安装字体后改脚本 LAYOUT 的
title_font,或按用户模板处理——两者均属「用户模板优先」范畴 - 单位内部规范与国标冲突时以用户模板优先(改脚本内 LAYOUT 配置即可,不手调)
- 脚本跑不了的环境 → 按 references/gb-format.md 速查表手工排版,规则与脚本完全一致
第 5 步:原文修改模式(老文档救火,v1.2.0 起脚本化)
用户给已有文档时,流程改为:诊断 → 报告 → 征询 → 修复:
python scripts/diagnose_doc.py --input 老文档.docx # ① 诊断:输出偏差清单(严重度/位置/现状/标准)
python scripts/diagnose_doc.py --input 老文档.docx --fix --out 修复后.docx # ② 修复:按标准修复并输出修改说明
- 结构诊断:脚本逐段扫描字体字号/缩进/行距/标题层级/页边距/页码,产出「诊断清单」(哪段、现状 vs 标准、严重度高中低;>300 段只抽查并提示拆分)
- 修改说明先行:人工卡点——把清单给用户看,用户确认后再跑
--fix;--fix只动格式不动内容文字,输出「修改说明清单」 - 修复原则:字号字体按标题二号黑体/一级小节黑体三号/正文仿宋三号归一;首行缩进写
firstLineChars=200(Word/WPS 原生按字符缩进,比厘米近似更准);行距与成稿口径一致——标题 36 磅/正文 28 磅;段首空格缩进识别为可修复项(去除空格并转换为首行缩进 2 字符);页脚补页码域 - 逐项勾选修复(v1.5.0):
--only 页边距,字体,字号,缩进,行距,页码六类任选(如用户只授权改字体),修复完自动打印复诊命令——先复诊确认,剩余偏差再 --only 精修 - 修复后重跑诊断应归零(内测闭环验证);复杂表格、图文混排、签章区仍人工处理
第 6 步:交付
- docx 文件(文件名:文体+主题+日期,如
周报-设备科-20261028.docx) - 修改说明/待补清单(如有占位项必须列出,提醒用户补;脚本输出的「待补项」直接引用)
- 一句提醒:需盖章/签字的打印件另走单位流程
能力边界(量化)
| 维度 | 支持 | 不支持 / 限制 |
|---|---|---|
| 文体 | 周报/通知/请示/纪要/总结(--list-types 可查) |
简历、合同、红头文件版式等未收录文体先按最接近文体+用户模板处理 |
| 篇幅 | 单篇建议 ≤ 2 万字(脚本超长自动提醒分篇) | 超长文档分篇后分别成稿再合并 |
| 文件格式 | 输入 UTF-8/GBK 文本素材;输出 .docx | .doc 老格式请先另存为 .docx;不做 PDF/图片转文档;不支持加密文件 |
| 复杂排版 | 标题层级/缩进/行距/页码/落款自动化 | 复杂表格、图文混排、签章区暂不自动生成,诊断后人工处理 |
| 老文档修复 | 格式诊断清单 + 修复(scripts/diagnose_doc.py):先跑诊断出清单给用户确认;--fix 全量修复或 --only 页边距,字体,字号,缩进,行距,页码 六类任选(v1.5.0),修复完打印复诊命令,复诊确认后再精修 |
内容改写不在本技能范围 |
异常处理(五类)
| 情形 | 处理 |
|---|---|
| 文档打不开/损坏/加密 | 不尝试破解,提示用户另存为 docx 再给;.doc 老格式建议另存后处理 |
| 结构混乱无法诊断(手动空格排版、全文档无样式) | 说明诊断局限,给「重建样式」方案并征得同意 |
| 单位模板与国标冲突 | 用户模板优先,只按其规范修,不提国标 |
| 用户要求代写涉密/签名内容 | 拒绝:不代签名、不生成标注密级的文件 |
| 内容与格式都要大改 | 拆两步:先内容确认(卡点 A),再格式修复,不混着做 |
脚本退出码:0 成功|10 素材读取失败或缺 --input|11 文体不支持/缺 --type 或 --out/--only 未知类别|12 素材无正文|14 写出失败(成稿与修复均捕获占用)|15 运行超时(重跑同一条命令)|20 未预期(原样上报)|21 缺依赖(提示安装 python-docx 后重跑)。详细话术见 references/error-playbook.md。
国内适配
- WPS/Word 格式差异与规避清单:references/wps-word-format-issues.md(字体替代、et/wps 格式、默认行距差异等)
- 本地处理:文档内容不外传、不上云
- GB/T 9704 为参照基线:党政机关适用,企业/医院等用内部规范为准
- 脚本依赖 python-docx:安装命令
pip install python-docx -i https://pypi.tuna.tsinghua.edu.cn/simple
应避免的做法(集中清单)
反模式明细已独立成文:assets/anti-patterns.md(错误用法→会发生什么→正确做法,8 条),散落规则以该文件为统一索引;高频问答见 assets/faq.md。
边界声明
- 不代签名、不生成涉密内容、不判断业务内容对错(只管结构与格式)
- 公文格式规范仅做排版参照,不构成任何合规审查
双包说明
源码唯一底稿(office-skills/word-doc-helper/),双包同步打包、版本一致;订阅制(新增文体/新规范即升版),定价与上架信息见 CHANGELOG.md 与发布平台。
引用文件
- references/gb-format.md(国标格式速查表+五文体要素清单)
- references/wps-word-format-issues.md(WPS/Word 差异与规避)
- references/error-playbook.md(异常处理话术)
- assets/structure-diagnosis.md(结构诊断清单+修改说明模板)
- assets/examples.md(完整效果范例:素材→成稿对照)
- assets/faq.md(常见问题,v1.5.4 新增)
- assets/anti-patterns.md(反模式集中清单,v1.5.4 独立成文)
- scripts/make_doc.py(一键成稿脚本)
- scripts/diagnose_doc.py(老文档格式诊断与修复,v1.2.0 新增)