公文全流程处理专家(GB/T 9704)
⚠️ 硬门控(Agent 必须遵守,不可跳过)
一、执行前路径声明
在任何操作之前,Agent 必须先声明以下内容,不得跳过:
■ 当前调用环境:[CLI / workbuddy / cloudcode / dsh / dialogue-only / 其他(请注明)] ■ 用户需求判定:[路径 A 格式修复 / 路径 B 内容优化 / 路径 C 生成公文 / 其他(请注明)] ■ 判定依据:[用户原话或内容摘要]
环境适配规则:
| 环境 | 能力 | 行为要求 |
|---|---|---|
| CLI 直接调用 | 可执行命令、读写文件 | 必须执行完整命令(python -m gongwen check/optimize/optimize-content),展示命令和输出 |
| workbuddy / cloudcode | 加载 SKILL.md 注册为 skill,可执行命令 | 加载 skill 后直接调用 CLI 命令,按 SKILL.md 指引执行路径路由和禁令 |
| dsh | 加载 SKILL.md + cordis 插件,可执行命令、有 Web UI | 加载 skill 后调用 CLI 命令,或通过 DSH 插件 API 调用;配置面板可调整排版参数 |
| dialogue-only | 纯对话,不能执行命令 | 不应直接执行命令,应引导用户手动操作;同时可读取项目内的文字性资源库(prompts/style-prompts.md、prompts/usage-prompts.md、rules/official/*.yaml、SKILL.md 等)作为公文写作指导的知识库,在对话中提供用词用语、写作规范、风格指引等专业建议;参考 README.md 中的「纯对话 LLM 使用指引」 |
格式兼容性:工具链基于 OOXML(
.docx),不支持旧版.doc(OLE2/WPS 二进制格式)。用户提供.doc文件时,Agent 应先用 WPS/Word「另存为 .docx」;本机装有 WPS 时可用 COM 转换:KWPS.Application→Documents.Open(src)→SaveAs(dst, 12)(WPS 枚举 12 = OOXML),再走check/optimize/optimize-content全流程。
二、聚合禁令(违反任一条即为不合格执行)
❌ 路径 B(内容优化)严禁自写 Python 脚本操作 docx——必须使用 optimize-content 命令 ❌ 路径 B 严禁只交付干净版不交付差异对比版——差异对比版是唯一交付物 ❌ 严禁连续多次执行 optimize-content 而不穿插 optimize——多轮优化必须先走路径 A 生成中间稿 ❌ 严禁凭空编造 reference(如"公文'主持词'写作规范")——引用必须真实可查 ❌ 严禁静默失败——命令出错必须向用户报告错误信息和排查过程 ❌ 严禁未读取参考文件声称"已阅读"——扫描件 PDF 应尝试 OCR 或告知用户 ❌ 严禁编造领导姓名、机构名称、职务、人物姓名——所有人事信息必须来源明确或用 XXX 占位
三、模板保留策略(当用户提供 .docx 模板时)
- 必须严格保留模板的格式约定:文档样式、字体、页面布局(边距/页面大小/方向)、页眉页脚、分节结构和表格样式
- 不得引入模板中不存在的结构或版式,不得静默偏离模板
- 若用户需求与模板约束冲突,先说明具体冲突并获得用户明确同意,再做结构性变更
四、依赖降级策略(依赖缺失时的强制处理顺序)
当必需依赖缺失或不可用时,Agent 必须按以下顺序处理:
- 先尝试安装:
pip install -r requirements.txt(或按 requirements.txt 补充安装缺失包) - 再使用降级模式:若安装失败或工具仍不可用,运行指定的降级命令:
缺失依赖 主用命令 降级命令 python-docx pip install python-docx不可降级(核心依赖),需修复安装环境 pydantic pip install pydantic不可降级(模型定义依赖) pyyaml pip install pyyamlpython -m gongwen内置 YAML 解析兜底(rules 加载)lxml pip install lxml不可降级(OOXML/批注/修订注入核心) LibreOffice(文档转图片) soffice --headless --convert-to pdfpython engine/docx_to_image.py <docx> --outdir <dir>(docx2pdf/PyMuPDF 降级)kdocs-cli(可选云协作) kdocs-cli --help回退纯本地流程,不影响 gongwen 功能 - 不得自创降级方案:严禁自行替换工具、使用替代流程或自创降级方案,除非上述两步均已尝试且确实无法满足任务需求
五、环境说明
本 Skill 通过多种方式被 AI 平台加载使用:
| 方式 | 说明 |
|---|---|
| 本地 CLI | 克隆仓库 → pip install -r requirements.txt → python -m gongwen <命令> |
| WorkBuddy / CloudCode 类 | 将仓库路径加入 skills 目录,加载 SKILL.md 后注册为 skill,Agent 可直接调用 CLI 命令 |
| DeepSeek Harness (DSH) | 通过 npm 包或 skill 目录加载,支持 cordis 插件体系(Web UI 配置面板 + API 路由) |
| 纯对话 LLM | 无法执行代码的 AI 平台(如豆包、Kimi、ChatGPT 网页版),应引导用户手动操作,详见 README.md 使用指引 |
六、版本自检(Agent 必须在技能加载后执行)
- 读取
gongwen包顶部的__version__常量,获取本地版本号 - 告知用户:
当前加载 gongwen-skill v{__version__} - 版本自检(不能只用本地
git describe——它只读本地可达 tag,未 fetch 时会误判本地即最新;也不能只查单一仓库——网络抖动会导致误判):bash# 首选:CLI 内置自检命令(PyPI pip 包权威判定 + GitHub 备用渠道,自动比对本地版本) python -m gongwen check-update # 手动回退:PyPI 权威(pip 包发布源) python -c "import urllib.request,json;print(json.loads(urllib.request.urlopen('https://pypi.org/pypi/gongwen-skill/json',timeout=10).read())['info']['version']))"- PyPI 为权威判定渠道(pip 包核心分发,pip install -U 即从 PyPI 拉取);PyPI 不可达时回退 GitHub tag(备用渠道,git 用户/CI 触发源)
- GitCode/AtomGit 与 GitHub 同源 tag,仅在 GitHub 不可达时作国内拉取镜像提示(不参与版本判定)
- GitHub 不可达且触发 DNS 诊断时(系统解析为保留/Fake-IP 段),
check-update --json会输出dns_diagnosis字段(含hosts_suggestions),如实向用户转述排查建议即可 - 若全部渠道均不可用(无 git/无网络),必须明确告知用户"版本自检因无法访问远程而跳过",不得静默假设本地即最新 3.5. 本地 git tag 对比(P6,Agent 执行版本确认时补充):
- 优先对 skill 安装目录执行 git tag 对比:
bash
git -C "<skill安装目录>" describe --tags --abbrev=0 - 若 skill 目录不在 git 管理下,应告知用户"无法执行版本对比,建议手动检查 GitHub 更新"
- 版本对比结果若发现本地版本落后于最新 tag,应在执行前警告用户
- 若权威渠道最新版本 > 本地
__version__,提示用户:有更新可用:最新版 {最新版},当前 {本地version} 安装形态自动检测(pip 包 / git 目录),按形态给出精准更新命令: pip 包安装:pip install --upgrade gongwen-skill git 目录安装:cd <gongwen-skill目录> && git pull && git fetch --tags 拉取地址: PyPI(权威):https://pypi.org/project/gongwen-skill/ GitHub(备用):https://github.com/linhut/gongwen-skill GitCode / AtomGit(国内镜像):https://gitcode.com/linhut/gongwen-skill / https://atomgit.com/linhut/gongwen-skill
七、会话交接(长任务收尾必须遵守)
目的:跨会话上下文传递。当会话结束(上下文溢出/超时/人为中断/用户说"下次继续")时,新会话的 Agent 必须能无需用户复述即可继续任务。
收尾时(满足任一条件 → 结束前必须写交接文档):
- 本轮会话处理了 3 个以上公文文件
- 执行了多轮 check / optimize / optimize-content 迭代
- 用户明确表示"下次继续""先到这里""收尾"
- 会话上下文即将耗尽或已发生压缩
交接文档写入:~/.gongwen-skill/handoffs/{YYYY-MM-DD}_{简短描述}.json
(位于 APP_DATA_DIR,git pull 更新 skill 不会覆盖;与 user_rules/ 同属用户持久化目录)
写入方式(Agent 用 Python 调用,禁止手写 JSON 字符串到 PowerShell):
bashpython -c " import sys; sys.path.insert(0, '<skill目录>/engine') from handoff import write_handoff write_handoff( session_id='简短任务描述', # 如 '会议材料优化' handoff_type='long_task', # long_task / batch / interrupted context={'what_we_are_doing': '我们在做什么', 'doc_type': '公文类型', 'input_file': '输入文件', 'working_directory': '工作目录'}, completed=[{'item': '已完成事项', 'evidence': '验证依据/产出文件'}], blocked_on=[{'issue': '卡住的问题', 'severity': 'P2', 'detail': '详情'}], next_steps=[{'action': '下一步', 'status': 'pending'}], pitfalls=[{'lesson': '踩过的坑,不要再踩', 'reference': '来源/修复编号'}], related_files=[{'path': '文件绝对路径', 'role': '角色说明'}], agent_hint='写给新 Agent 的一句话引导', ) "
新会话开始时(强制检查):
- 先执行
python -m gongwen handoff --list查看是否有未完成任务 - 若有,读取最新一条:
python -m gongwen handoff --latest --summary(Markdown 摘要) - 向用户确认:"检测到上次未完成的交接文档《{session_id}》,是否继续该任务?"
- 用户确认后,按
context/completed/blocked_on/next_steps/pitfalls恢复上下文继续
命令速查:
bashpython -m gongwen handoff --list # 列出所有交接文档 python -m gongwen handoff --latest # 最新交接文档(JSON) python -m gongwen handoff --latest --summary # 最新交接文档(Markdown 摘要)
注意事项:
- 交接文档是任务级上下文(做了什么/卡在哪/下一步),与
user_rules/(格式知识模板)、TeleAgent 长期记忆(用户偏好)互补,不冲突 - 完成后可在交接文档中标记对应
next_steps为 done,或新建交接文档记录新任务;任务彻底完结后可删除旧交接文档 - 禁止使用 PowerShell 写交接文档(编码/转义不可靠,同 OOXML 编辑规范)
顶层路由:三点式入口
这个 Skill 做四件事
- 路径 A - 格式修复:用户有文档,只需排版标准化(GB/T 9704),不改文字内容
- 路径 B - 内容优化:用户有文档,需要润色文字并生成修订对比版(原稿 vs 优化稿,红色标注修改处)
- 路径 C - 生成公文:用户没有文档,根据背景和要求从零生成新的公文。四步流程:编写 Markdown 草稿 → md2docx 转换 → 引用路径 A optimize 套国标格式 → check 验证交付;也可用
gongwen draft 草稿.md -o 成品.docx -t 类型一条命令完成(含自动格式修复 + 验证)。 - 路径 D - 一键格式修复(
fix-common新增):用户有文档,只需快速规范化常见格式问题(段落类型修正/编号拆分/首句加粗/加粗范围修复),一步到位,输出不含 AI 声明段的干净文档。与路径 A 的区别:不依赖规则引擎、不追加 AI 声明段,适合对"干净中间稿"做最终格式规范化。 - 路径 E - 样式学习(
style-learn新增):用户提供一份标准文档(如本单位定稿的红头公文/排版规范的样例),要求"学习排版样式""按这个格式生成模板""做成模板以后都用这个格式"。Agent 应调用style-learn解析文档的字体/字号/字间距/行距/缩进/页边距,生成命名自定义模板(注册到 user_rules),后续所有文档可用optimize -t 模板名套用该格式。
路径判断规则
| 用户行为 | 关键提示词 | → 路径 |
|---|---|---|
| 上传/指定了文档 | "排版"/"格式"/"红头"/"标准化"/"套红头"/"版式" | A |
| 上传/指定了文档 | "润色"/"改写"/"对比"/"修改"/"改一下"/"措辞" | B |
| 上传/指定了文档 + 明确要改内容 | "优化"/"调一下"(需先追问消歧) | B |
| 没有文档 | "写一份"/"生成"/"起草"/"帮我写" + 公文类型 | C |
| 上传/指定了文档 + 只要格式规范化 | "规范一下"/"整理格式"/"格式不对"/"一键修复" | D(fix-common) |
| 上传标准文档 | "学习排版"/"做成模板"/"按这个格式"/"学这个样式"/"提取格式" | E(style-learn) |
「优化」消歧强制规则: 用户说"优化一下""帮我改改""调整内容"等模糊表述时,Agent 必须先追问:
您是希望改文字内容(润色措辞/调整表述),还是修排版格式(字体/行距/页边距)?
- 改文字内容 + 有文档 → 路径 B
- 改文字内容 + 无文档 → 路径 C
- 修排版格式 → 路径 A
严禁未经追问直接选择默认路径。
路径选择决策树(Agent 加载 Skill 后必须执行)
前置步骤(不可跳过):Agent 必须先向用户介绍四条路径的能力范围,使用以下简洁模板:
本工具支持五种处理方式:
- 格式优化(路径 A):不改文字,只修排版——字体/字号/页边距/行距/缩进按国标标准化,输出干净成品
- 内容优化(路径 B):润色文字表达,生成带红色标注+删除线的对比版,每段附修改说明
- 生成公文(路径 C):从零生成新的公文,四步流程:草稿→转换→套格式→验证
- 一键格式修复(路径 D):快速规范化常见格式问题(段落类型/编号拆分/首句加粗/加粗范围),一步到位,输出不含 AI 声明段的干净文档
- 样式学习(路径 E):上传一份标准文档,自动学习其排版样式(字体/字号/字间距/行距/页边距),生成命名模板,后续所有文档可用
optimize -t 模板名套用该格式
介绍完毕后再按以下决策树判断路径:
用户消息 │ ├─ 包含"优化/润色/改/调整" + 指定了已有文档 │ └── 识别为路径 B(内容优化) │ ├── 必须使用 optimize-content 命令 │ ├── 必须产出差异对比文档 │ └── 严禁自写脚本操作 docx │ ├─ 包含"排版/格式/红头/标准化" + 指定了已有文档 │ └── 识别为路径 A(格式修复) │ └── 必须使用 check → optimize → check │ ├─ 包含"规范一下/整理格式/格式不对/一键修复" + 指定了已有文档(只需快速规范化) │ └── 识别为路径 D(一键格式修复) │ └── 必须使用 fix-common 命令(不含 AI 声明段) │ ├─ 包含"生成/写/起草" + 未指定已有文档 │ └── 识别为路径 C(生成公文) │ └── 必须走 md2docx → [bold-first] → optimize → check(或 `draft 草稿.md -o 成品.docx -t 类型` 一步到位) │ └─ 不确定 └── 必须追问用户:是改格式还是改内容?不得猜测路径直接执行
关键规则:
- 一旦判定为路径 B,严禁使用 python-docx 自写脚本修改文档
- 如果 optimize-content 因文本匹配失败,必须:
- 检查
original_text是否与para.text完全一致(包括空格、标点) - 参考 warning 中的诊断信息(文本长度、相似度、差异字符)定位问题
- 如仍失败,向用户报告并寻求指导,不得切换到自写脚本
- 检查
用户交互指引(Agent 必须遵守)
终端用户也可直接运行
python -m gongwen wizard:交互式向导以菜单方式完成同样的 A/B/C/D/E 路径选择与逐步确认(详见下文「向导式交互」小节)。Agent 读到本条时,若用户表示「不熟悉命令/不想记参数」,应主动引导其使用向导,而非逐字念命令行参数。
第一步:确认路径(必须,严禁跳过)
用通俗语言问用户走哪条路,不允许跳过。向导模式与对话模式共用同一套路径:
这个工具支持四种处理方式:
- A. 格式优化:不改文字,只修排版(字体/字号/页边距/行距/缩进),按国标标准化
- B. 内容优化:润色文字表达,生成带标记的对比文档——保持原文档排版样式,修改处红色高亮或删除线、每段附修改说明
- C. 生成模板:直接生成一份空白公文模板,按国标设好版式
- D. 一键格式修复(fix-common):快速规范化常见格式问题(段落类型/编号拆分/首句加粗),输出不含 AI 声明段的干净文档
若用户说「帮我优化一下」,必须追问是改格式还是改内容。
第二步:告知输出物
执行前明确说会生成什么文件、包含什么标记。向导模式会在执行前展示将运行的完整命令。
第三步:执行后验证
执行完告诉用户:改了几处、标记是否到位、格式是否合规。
向导式交互(wizard 命令)
当用户不熟悉命令行、希望逐步确认后再执行,或 Agent 需要把交互决策委托给工具时,使用向导:
python -m gongwen wizard # 终端交互:菜单选 A/B/C/D/E → 逐项填参 → 预览确认 → 执行 python -m gongwen wizard --answers 答案.json # Agent 非交互:跳过提问直接执行 python -m gongwen wizard --answers 答案.json --dry-run # 只打印将执行的命令,不真正执行
- 路径菜单:A 格式优化(
optimize)|B 内容优化(optimize-content)|C 生成模板(template)|D 一键格式修复(fix-common)|E 样式学习(style-learn) - 交互流程:选择路径 → 收集参数(公文类型支持 序号 / id / 中文名,如
1、notice、通知)→ A/B/D 先预览再 y/n 确认 → 执行;C 无修改风险直接执行 --answersJSON 扁平结构(Agent 场景,顶层带path):json{"path": "A", "input": "原文.docx", "doc_type": "notice", "output": "成品.docx", "apply": true}- 字段缺失:非交互模式直接报错并列出缺失项(不静默、不进交互菜单)
- 不写
apply时 A/B/D 仅预览不执行(安全默认);apply: true跳过确认直接执行 - 非交互执行机制:
subprocess调用sys.executable -m gongwen <子命令>,输出流式透传,Agent 可直接解析子命令原始输出
--dry-run:只打印将执行的命令;A/B 会同时打印「预览」与「执行」两条命令,便于 Agent 预演与调试
执行标准总则(所有路径共享)
Agent 行为准则
1. 理解用户真实需求
用户通常给出简短或模糊的描述,Agent 必须先理解再行动,不得机械匹配关键词:
| 用户说 | 实际需求 | Agent 应做 |
|---|---|---|
| "帮我改一下这份通知" | 不确定要改格式还是改内容 | 追问"是调整排版格式还是润色文字内容?" |
| "这个发文好像不太对" | 可能有格式问题或内容问题 | 先 check 展示问题清单,再问用户是否修复 |
| "按上级文件要求调整" | 用户有政策依据但未提供 | 追问具体文件名或文号,或用 web 搜索相关政策 |
| "弄漂亮一点" | 希望格式规范 | 解释 GB/T 9704 标准是唯一合规格式 |
原则:不确定时 先确认路径(A/B/C/D/E,向导模式同),再用 具体示例引导用户选择,不猜测。
2. 充分利用 skill 知识库
本 skill 内置的知识资源,Agent 应主动利用:
| 知识资源 | 位置 | 用途 |
|---|---|---|
| GB/T 9704 格式标准 | rules/official/_common.yaml | 字体/字号/页边距/行距权威依据 |
| 22 种公文类型规范 | rules/official/*.yaml + SKILL.md 附录 | 每种公文的检查规则和写作规范 |
| 6 套公文语言风格 | prompts/style-prompts.md | 庄重严谨/平实简洁/宏观概括/请示商洽/法规条文/讲话稿 |
| 公文段落骨架模板 | SKILL.md 路径 C | 10 种公文类型的标准结构 |
| 五角色审稿机制 | SKILL.md | 分层把关、人机协同的审稿流程 |
| 九种段落类型优化清单 | SKILL.md 路径 B | 开头/依据/事项/要求等段落的专项检查 |
| 自定义样式模板 | ~/.gongwen-skill/user_rules/*.yaml | style-learn 从标准文档学习的命名模板,存储于仓库之外,git pull 更新 skill 不会丢失 |
强制规则:
- 生成公文时必须引用
style-prompts.md中的风格定义,不得自创风格 - 格式标准以
_common.yaml中的 GB/T 9704 参数为准 - 审稿意见使用五角色机制中的角色定义和规范表述
3. 网络政策信息获取
公文写作常需要引用最新的政策法规、标准文件。Agent 应利用 web 工具获取权威信息:
| 场景 | 应执行的操作 |
|---|---|
| 用户提到某政策文件但未提供文号 | 用 web_search 搜索"文件名称 + 文号/发布机关" |
| 引用 GB/T 国家标准 | 确认标准最新版本号(如 GB/T 9704-2012 是否还有更新) |
| 涉及特定行业术语/规范 | 搜索行业主管部门官网的最新规范 |
| 引用领导人讲话/会议精神 | 标注信息来源,使用 web_fetch 确认真实原文 |
获取规则:
- 网络获取的信息必须标注来源(URL + 发布时间)
- 优先使用
.gov.cn或官方媒体来源 - 无法确认的信息用
[待确认]标注,不凭空编造 - 引用政策文件时应注明文号和发布日期
4. kdocs 云文档协同(可选增强,结合 kdocs-skill)
当环境中同时安装了 kdocs-skill(金山文档 CLI Skill,提供 kdocs-cli)时,gongwen-skill 可与云文档联动,弥补本地处理的短板:
| 场景 | kdocs 命令/服务 | 与 gongwen 的衔接 |
|---|---|---|
| 扫描件 PDF 读取 | kdocs-cli pdf inspect / pdf convert | 用户提供扫描件 PDF 时,先用 kdocs 提取文字 → 保存为 .docx/.md → gongwen 正常处理 |
| 云端文档读取 | kdocs-cli drive search-files / read_file | 用户给金山云文档链接时,先下载/导出为本地 .docx → gongwen parse/check/optimize |
| 产物云保存 | kdocs-cli drive create_file_with_content / upload_file | gongwen 生成的公文成品上传到金山云文档,获取分享链接给用户 |
| 公文转 PDF | kdocs-cli pdf convert | 成品 .docx 转 PDF 用于分发归档 |
| 网页剪藏素材 | kdocs-cli workflows/web-scrape | 抓取网页内容作为公文引用的素材来源 |
协同规则:
- kdocs-skill 是可选增强,未安装时不影响 gongwen 任何本地功能
- 使用 kdocs 前先确认
kdocs-cli可用(kdocs-cli --help),不可用则回退为纯本地流程 - kdocs 的 Token 认证遵循 kdocs-skill 自身规范(
kdocs-cli auth),gongwen 不涉及 - 云端读取的文档必须先落盘为本地 .docx 再进入 gongwen 管线,不直接跨进程传对象
- 云端保存成功后必须向用户展示可访问链接
强制规则(MUST FOLLOW — 违反即为不合格执行)
以下规则具有最高优先级,Agent 在任何情况下不得违反:
规则 1:路径 B 必须使用 optimize-content 命令
- 内容优化任务必须使用
python -m gongwen optimize-content命令 - 严禁自写 Python 脚本直接操作 docx 文件替换段落文本
- 严禁使用 python-docx 库的
add_run/clear方法手动修改段落 - 如果
optimize-content报错或匹配失败,必须排查原因并重试,不得静默切换到自写脚本
规则 2:路径 B 必须产出差异对比文档
- 每次
optimize-content执行必须生成差异对比文档(红色标注+删除线+修改说明) - 差异对比文档是路径 B 的唯一交付物,不得只交付干净版
- 干净版需用户确认差异对比版后,通过路径 A 生成
规则 3:每次任务必须加载 Skill
- 即便是延续上一轮任务,也必须重新调用 Skill 工具加载最新版本
- 加载后必须执行版本自检,确认当前版本号并告知用户
规则 4:处理流程必须可追溯
- 每次执行 skill 命令后,必须在回复中记录:调用了哪个命令、参数是什么、输出文件路径
- 不得省略 skill 命令调用记录,不得只报告最终结果
规则 5:Agent 协作模式(V1/V4)
- Agent 环境中优先用
--output-tasks/--input-tasks协作,不依赖GONGWEN_LLM_API:python -m gongwen optimize-content 文档.docx --changes changes.json --output-tasks tasks.json --apply --mode tracked -t news→ Skill 输出待核验实体 + 风格增强请求到 tasks.json,同时生成基础版文档(内容修订+结构/焦点检查批注)- Agent 用自身 LLM+搜索能力处理 tasks.json(核验人事信息、生成风格建议),输出 tasks_result.json
python -m gongwen optimize-content 文档.docx --changes changes.json --input-tasks tasks_result.json --apply --mode tracked -t news→ Skill 读入回填结果(事实核验修正 status=error+auto_fix / 风格建议),合并到 changes 后执行
--output-tasks与--input-tasks互斥,不能同时指定GONGWEN_LLM_API保留为降级通道:CLI 独立使用且配置了 API 时,Skill 内部自行调用(自动优化/风格增强/LLM 实体提取);未配置则跳过这些环节,不影响确定性工作
规则 5b:失败必须上报
- skill 命令执行失败时,必须向用户报告:
- 失败的命令和参数
- 错误信息
- 排查过程
- 是否有备选方案
- 不得静默失败并切换到替代方案
规则 6:交付前必须执行质量评审
- 每次交付前必须执行六维度质量评分(文种适配20分/事实密度20分/逻辑结构15分/语气克制15分/语言规范15分/格式合规15分)
- 评分结果必须在回复中展示(如"六维度评分:85/100")
- 必须执行 Humanizer 二次审稿(降AI味检查),逐项自查意义膨胀、假深刻动词链、模糊主体、规则三连、同义词轮换、元话语、万能结论、二元包装句、旁白式表达、段落间多余空行等10项
- 评分 < 80 分的段落必须重写后再交付
规则 7:多轮优化必须走 Path A 生成中间稿
- 若用户对路径 B 产出的差异对比文档不满意,需要再次优化:
- 必须先走路径 A 对当前成品执行
optimize --apply,生成无标记的干净中间稿 - 再以干净中间稿为输入,进入下一轮路径 B 优化
- 必须先走路径 A 对当前成品执行
- 这样每轮的
optimize-content输入都是干净的,不会叠加旧 annotation 段 - 严禁连续多次执行
optimize-content而不穿插optimize
规则 8:批量更改(一次性收集,减少轮次)
- 在生成 changes.json 之前,Agent 必须一次性收集用户全部修改意图
- 不要在用户每提一条修改意见后就执行一次
optimize-content - 收集完所有修改后,在
changes.json中一次性包含所有变更 - 批量更改 = 1 次 parse + 1 次 diff + 1 次 generate,严禁 N 条修改跑 N 次
规则 9:人事信息准确性铁律(最高优先级,所有路径强制)
严禁编造、猜测、假设任何真实世界的人事信息。违反本条即为严重不合格输出。
9.1 绝对禁止编造的信息类别
| 类别 | 说明 | 典型示例 |
|---|---|---|
| 领导人姓名 | 党和国家领导人、地方党政主要负责人姓名 | 不得编造"XX省委书记XXX指出" |
| 机构名称 | 党政机关、企事业单位全称及规范化简称 | 不得编造"XX省XX厅XX处"等不存在的机构 |
| 职务名称 | 领导职务、行政职级 | 不得编造"XX局党组书记、局长XXX" |
| 人物姓名 | 公文中出现的自然人姓名(发文机关负责人、联系人、参会人员等) | 不得编造"联系人:张三" |
| 文号 | 公文发文字号 | 不得编造"XX发〔2026〕XX号" |
| 具体数据 | 金额、百分比、人数等未经用户确认的数据 | 不得编造"共计500万元" |
9.2 处理规则
| 场景 | 正确做法 | 错误做法 |
|---|---|---|
| 用户未提供领导姓名 | 用 [XXX领导姓名] 占位,提示用户填写 | 凭记忆填写"李某某" |
| 用户未提供机构全称 | 用 [XXX单位全称] 占位 | 猜测"XX省发展和改革委员会" |
| 用户未提供联系人信息 | 用 [联系人姓名] + [联系电话] 占位 | 填写"张三,13800138000" |
| 用户提供了部分信息 | 仅使用用户明确提供的部分,其余占位 | 根据部分信息"推理"出其余信息 |
| 需要引用政策文件 | 仅引用用户提供或搜索确认的文号 | 编造"根据国发〔2026〕XX号文件" |
| 用户说"按常规写" | 追问具体人事信息,不得按"常规"假设 | 假设"常规"的机构名称和领导姓名 |
9.3 唯一例外(合法来源)
以下情况才可以使用真实人事信息:
| 来源 | 条件 | 要求 |
|---|---|---|
| 用户明确提供 | 用户原话中包含该信息 | 直接使用,无需额外标注 |
| ai_search 搜索确认 | 官方公开信息(.gov.cn 或权威媒体) | 标注来源 URL 和发布时间 |
| 参考文件直接提取 | 用户提供的参考文件中明确记载 | 标注来源段落 |
判定标准:凡是需要"推理""猜测""按常识""按惯例"得出的人事信息,一律禁止直接填写,必须用
[XXX]占位。
9.4 违规自检(所有路径交付前必须执行)
Agent 在交付任何路径产物前,必须扫描全文并自检:
| # | 检查项 | 不合格处理 |
|---|---|---|
| 1 | 文档中是否包含用户未提供的领导姓名? | 替换为 [XXX领导姓名] |
| 2 | 文档中是否包含用户未提供的机构全称/简称? | 替换为 [XXX单位全称] |
| 3 | 文档中是否包含用户未提供的人物姓名(联系人、参会人员等)? | 替换为 [姓名] |
| 4 | 文档中是否包含用户未提供或未经搜索确认的文号? | 替换为 [XXXX]XX号 |
| 5 | 文档中是否包含用户未提供且未经搜索确认的数据(金额、百分比等)? | 替换为 [XXX] |
发现违规时:必须在交付前修正,并在回复中明确告知用户"发现 N 处编造/未确认的人事信息,已替换为占位符,请您确认补充"。
路径产物特征与隔离铁律(最高优先级)
三条路径的产出物有本质区别,严禁混淆或叠加。Agent 在任何情况下不得在一个路径的产物中混入另一个路径的特征。
| 路径 | 产物 | diff 标记 | 修改说明 | 颜色标记 | 产出文件命名 |
|---|---|---|---|---|---|
| A(格式修复) | 干净成品 | 无 | 无 | 无 | 修订版+{原文档名}+日期+版本号.docx |
| B(内容优化) | 行内修订文档 | 有(红删+红增) | 每段附楷体说明 | 有(#FF0000 红色) | {原文档名}+{风格}+日期+版本号.docx |
| C(生成公文) | 新公文文档 | 无 | 无 | 无 | 修订版+{公文类型}+日期+版本号.docx |
路径 B 的绝对禁令:
- ❌ 严禁在
optimize-content之后调用optimize——optimize会覆盖 annotation 段的字体/字号/颜色,破坏修订标记 - ❌ 严禁在路径 B 产物中生成无标记「成品版」替代修订版作为交付物
- ✅ 路径 B 的唯一交付物是行内修订文档(红色标注 + 删除线 + 楷体修改说明)
- ✅ 用户确认修订版无误后,可走路径 A 对修订版做格式修复得到无标记成品(此为独立操作,非路径 B 的一部分)
路径 A 的产物标准:
- 输出干净文档,无任何 diff 标记、无修改说明、无颜色标记、无 AI 声明
- 仅含格式修复后的正文内容
所有路径通用格式基准(GB/T 9704 + 实务规范)
| 元素 | 字体 | 字号 | 对齐/缩进 | 说明 |
|---|---|---|---|---|
| 公文标题 | 方正小标宋简体 | 22pt(二号) | 居中 | ⚠️ 非宋体,非黑体 |
| 一级标题(一、二、三) | 黑体 | 16pt(三号) | 顶格,两端对齐 | 国标黑体 |
| 二级标题((一)(二)) | 楷体_GB2312 / 华文楷体 | 16pt(三号) | 首行缩进2字符 | 议题材料中常用华文楷体 |
| 三级标题(1. 2.) | 仿宋_GB2312 加粗 | 16pt(三号) | 首行缩进2字符 | |
| 四级标题((1)(2)) | 仿宋_GB2312 | 16pt(三号) | 首行缩进2字符 | |
| 正文 | 仿宋_GB2312 | 16pt(三号) | 首行缩进2字符,两端对齐 | 主送/称谓也用此字体 |
| 一是/二是/三是等内容 | 楷体_GB2312 加粗 | 16pt(三号) | 首行缩进2字符 | 汇报材料/议题材料高频写法,预留给核心结论 |
| 汇报单位/落款 | 华文楷体 | 16pt(三号) | 居中 | 位于标题与正文之间 / 正文末尾 |
| 日期 | 仿宋_GB2312 | 16pt(三号) | 右对齐,右空四字 | |
| 会议材料题头 | 楷体_GB2312 加粗 | 16pt(三号) | 左对齐 | [单位]党组20XX年第X次会议材料议题之X |
| 西文/数字 | Times New Roman | 与所在位置中文字号一致 | — | 仅用于阿拉伯数字和英文字母,不影响中文字体。字号与所在位置的中文字体一致(正文字号为16pt即三号) |
| 页边距 | — | — | 上2.8cm / 下2.8cm / 左2.7cm / 右2.7cm | A4纸,版心156×225mm |
| 行距 | — | — | 33磅固定值 | 每面22行,每行28字 |
段首短句加粗 vs 独立小标题(高频易混淆,必读)
汇报材料、调研报告、工作小结中,两种格式很容易混淆,但用途和格式完全不同:
| 对比项 | ① 独立小标题 | ② 段首短句加粗(领句) |
|---|---|---|
| 位置 | 独立成行,上下有空行 | 嵌在段落开头,不换行 |
| 末尾标点 | 不写句号 | 使用句号(不是逗号) |
| 格式 | 黑体 / 楷体,加粗或不加粗均可 | 仿宋_GB2312 加粗,后面接正文 |
| 作用 | 划分章节结构 | 把本段核心结论前置,方便快速抓取重点 |
| 适用范围 | 所有文种 | 汇报稿、调研报告、讲话稿、简报大量使用;极正式上行请示/通知正文较少使用 |
示例对比:
❌ 错误写法(小标题和领句混用): (一)加快平台迭代完善 加快平台迭代完善。紧扣运动会赛时运行需求,持续优化平台功能模块。 ✅ 正确写法(二选一,全篇统一): 写法A — 独立小标题(章节式): (一)加快平台迭代完善 紧扣运动会赛时运行需求,持续优化平台功能模块,完成系统压力测试、安全测评与实操演练。 写法B — 段首加粗领句(汇报式): 加快平台迭代完善。紧扣运动会赛时运行需求,持续优化平台功能模块,完成系统压力测试、安全测评与实操演练。
实操规范:
- 领句尽量控制在 15 字以内,简洁动宾短语
- 末尾统一使用句号,不要逗号
- 全篇格式统一:要么全部用小标题,要么全部用领句,不可一段加粗一段不加
- 禁止大面积整段加粗,只加粗开头主旨短句
- GB/T 9704 国标没有强制规定这种加粗格式,属于机关通行排版惯例
文件命名规范(全部路径通用)
输出文件名必须包含风格/类型标识、日期和版本号,让用户一眼区分产物类型和版本:
| 路径 | 命名格式 | 示例 |
|---|---|---|
| A(格式修复) | 修订版+{原文档名}+日期+版本号.docx | 修订版+关于XX的通知+2026-07-25+v1.docx |
| B(内容优化) | {原文档名}+内容风格+日期+版本号.docx | 关于XX的通知+庄重严谨+2026-07-25+v1.docx |
| C(生成公文) | 修订版+{公文类型}-模板+日期+版本号.docx | 修订版+通知-模板+2026-07-25+v1.docx |
规则说明:
- 原文档名不含扩展名
- 日期格式:YYYY-MM-DD(执行当天)
- 版本号从 v1 起始,同一文档同一天多次生成则递增(v2 / v3)
- 内容风格:从 修订内容 的
style字段提取,多个段落取出现最多的标签 - 不允许使用无信息量命名(如
成品.docx、v5.docx)
质量评审与持续优化框架(所有路径通用)
以下框架适用于全部三条路径。每条路径的每轮输出在交付前都必须经过质量评审。
一、六维度质量评分(每轮交付前自检)
| 维度 | 分值 | 检查内容 |
|---|---|---|
| 文种适配 | 20 | 文种选得对不对(请示不是报告、函不是通知)、结构准不准、结语是否匹配 |
| 事实密度 | 20 | 有人物、动作、机制、数据或案例,不空泛(不出现"等"收尾的无内容项) |
| 逻辑结构 | 15 | 段落功能明确(开头/依据/事项/要求),推进自然,不机械排比 |
| 语气克制 | 15 | 判断强度与证据匹配("取得明显成效"须有数据支撑,"重大突破"须有权威认定) |
| 语言规范 | 15 | 术语准确,无 AI 味表达(二元包装句/万能结论/元话语/规则三连) |
| 格式合规 | 15 | GB/T 9704 行距/字体/缩进/层级序号/附件说明 |
评分处理规则:
- 90 分以上 → 可直接输出
- 80-89 分 → 局部压缩套话并增强具体性
- 70-79 分 → 重写问题段落
- 70 分以下 → 按文种结构整体重构
二、Humanizer 二次审稿(降 AI 味检查清单)
每次生成后逐项自查,以下列出一处修一处:
| 问题类型 | 典型表现 | 修正方向 |
|---|---|---|
| 意义膨胀 | 普通事项写成"重要里程碑""充分彰显""重大突破" | 改为具体任务、结果或依据 |
| 假深刻动词链 | "推动、促进、助力、强化、彰显"连续堆砌 | 保留一个主动作,补对象和流程 |
| 模糊主体 | "相关部门""有关方面"无责任对象 | 写清来源、责任单位或反馈渠道 |
| 规则三连 | 所有段落强行三点并列,内容实际凑数 | 按实际任务数量分条,不强凑三点 |
| 同义词轮换 | 避免重复而把同一主体反复换称呼(市局→我局→主管单位) | 重复最准确的主体名称 |
| 元话语 | "下面从三个方面展开""接下来我们来看" | 删除,直接进入正文 |
| 万能结论 | "谱写新篇章""再上新台阶""作出更大贡献" | 回到责任、时限、报送和下一步 |
| 二元包装句 | "不仅…更…""既是…也是…""既…又…"多组嵌套 | 只保留必要的一层,其余拆为陈述 |
| 旁白式表达 | "值得注意的是""需要强调的是""毋庸置疑" | 直接陈述事实,删除引导框 |
| 段落间多余空行 | 每段之间均插入空行,结构转换处与非转换处无差别 | 删除非结构转换处的空行。保留标题与正文之间、落款前的结构空行,删除正文连续段落之间的多余空行 |
三、要素分层体系
每类公文的结构要素按如下优先级分层,不得无脑堆砌:
| 层级 | 说明 | 示例(通知) |
|---|---|---|
| ①必备 | 缺失即不合格 | 主送机关、事项、要求、时限 |
| ②常见 | 通常应有,视情况或可省略 | 依据、联系人、抄送 |
| ③条件项 | 仅在特定条件下出现 | 附件说明、经费预算、保密提示 |
| ④单位样式 | 本单位特有的模板格式 | 红头样式、发文编号格式、审核栏 |
| ⑤自定义 | 用户额外要求的补充要素 | 背景材料链接、术语解释 |
四、持续优化需求适配(处理人为审核意见)
用户对生成内容进行人为审核后,往往给出简短、模糊的修改意见(如"理顺一下内容""这段有点乱""感觉不对""再调调")。应按下述流程处理:
用户意见 ↓ 第1步:意见分类 ├─ "理顺内容/理顺逻辑/这段有点乱" │ → 结构问题:检查段落功能是否明确、论点论据是否脱节、是否有跳跃 ├─ "太啰嗦/再精简/太长了" │ → 冗余问题:检查套话、重复表达、三元包装、可省略的修饰语 ├─ "力度不够/太软了/再强硬点" │ → 语气问题:检查措辞强度、缺少"须""应""不得"等强制动词 ├─ "感觉不对/再改改" │ → 综合问题:先检查文种→再检查事实→再检查结构→再检查语气 └─ 具体意见(直接指出某处问题) → 针对该处精准修改,不改无关内容 第2步:精准定位 - 用户说全段"太乱" → 问"是这一整段方向不对,还是内部顺序有问题?" - 用户说"再调调" → 追问"具体哪部分不满意?(开头/中间/结尾/语气/篇幅)" - 有上下文关联时,确认修改范围不波及已确认的其他段落 第3步:实施修改(走对应路径) ├─ 结构问题 → 回到路径 C 第一步:重写 Markdown 草稿,确认后再生成 ├─ 内容优化 → 走路径 B:optimize-content 做行内修订(红色标注变更) ├─ 语气/措辞调整 → 走路径 B:optimize-content,提供具体的 background/context/perspective └─ 格式问题 → 走路径 A:optimize,不做内容修改 第4步:验证交付 - 展示修改前后对比(变更摘要) - 标注与路径 B 时,明确哪些文字被改、修改理由 - 问"是否还有需要调整的地方?"(最多 3 轮迭代后建议定稿)
常见模糊意见映射表:
| 用户原话 | 实际含义 | 应走路径 | 操作要点 |
|---|---|---|---|
| "理顺一下内容" | 逻辑不连贯、段间跳跃 | 路径 C 重写 | 先出提纲确认,再逐段生成 |
| "这段有点乱" | 段落内论据顺序不当 | 路径 B optimize-content | 在该段后附【修改说明】说明重组理由 |
| "太啰嗦了" | 套话/重复/空泛 | 路径 B optimize-content | 逐句压缩,标注删除内容 |
| "再改改" | 不满意但说不清问题 | 综合 | 先追问具体方向,不做盲目修改 |
| "力度不够" | 缺少强制性动词 | 路径 B optimize-content | 补充"须""应""不得",收紧措辞 |
| "差不多,再微调" | 大方向OK,局部优化 | 路径 B optimize-content | 只改具体指出的段落,不动其他 |
五、五角色审稿机制(分层把关 / 人机协同)
核心设计思路:分层把关、权责清晰、人机协同、闭环留痕,杜绝一人包干、错漏无人兜底的局面。
5.1 审稿角色设置
| 角色 | 责任主体 | 审稿侧重点 | 硬性要求 |
|---|---|---|---|
| ①撰稿人(第一责任人) | 起草人 | 业务事实准确、数据来源可靠、逻辑通顺、覆盖完整 | 未经自审不得流转下一环节 |
| ②业务审核人 | 处室/部门负责人 | 业务口径、事实真实、权责分工、工作可行性 | 对业务表述和分工边界负责 |
| ③文字校对岗 | 综合岗(可配合 gongwen-skill) | 错别字/标点/语病、序号规范、术语统一、格式合规 | 先运行 skill 自动化预检,再人工复核 |
| ④综合核稿人 | 综合办/专班负责人 | 政策口径、全局逻辑、风险排查、行文基调 | 重大表述和敏感措辞必须审核 |
| ⑤签发领导(终审定稿人) | 分管领导 | 核心观点确认、重大工作安排、是否同意印发/报送 | 签字或线上确认定稿 |
5.2 角色职责详解
①撰稿人(初稿责任人|第一责任人)
- 根据工作要求起草文稿,保证内容贴合业务事实、数据准确、逻辑通顺
- 完成自审自查:基础错别字、语病、事实错误、上下文冲突
- 对照写作提纲,核查是否完整覆盖全部工作要点
- 输出初稿,附带写作说明、数据来源,提交审稿流程
②业务审核人(业务处室 / 部门负责人)
- 审核文稿内业务表述、分工边界、项目信息、需求内容、数据真实性
- 核查职责划分、工作安排是否符合现行工作机制
- 修正业务口径偏差,确认业务目标和工作举措具备可行性
③文字校对岗(文稿编审 / 综合岗,可搭配 gongwen-skill 工具)
- 文字校对:错别字、标点、语病、口语化表述、语句歧义
- 公文规范校对:序号规范(一、(一)1.(1))、专有名词统一、格式合规
- 排版格式校验:红头法定公文执行 GB/T 9704,汇报/方案材料执行单位统一排版惯例
- 人机协同:先用 gongwen-skill 自动化扫描格式和用语问题,再人工复核
④综合核稿人(综合办 / 专班综合负责人)
- 对标上级政策,核查文稿站位、提法是否合规
- 统筹跨部门表述,避免说法冲突
- 审核文稿结构和层次逻辑,重大表述和敏感措辞风险排查
- 把控文稿篇幅和行文基调,判断是否符合呈报场景
⑤签发领导(最终审定人)
- 审定文稿核心观点、重大工作安排
- 确认是否同意对外报送、印发
- 作出终审修改意见,确认定稿
5.3 两套审稿方案
| 方案 | 角色数 | 流程 | 适用场景 |
|---|---|---|---|
| A(完整版) | 5 | 撰稿人→业务审核→文字校对→综合核稿→领导签发 | 正式对外发文、红头公文、重大课题汇报 |
| B(精简版) | 3 | 撰稿人(自审)→业务+文字复合审核→综合负责人终审 | 内部交流材料、阶段性工作汇报 |
5.4 配套关键机制
- 修改留痕机制:统一使用修订模式,所有修改标注修改人和修改原因;禁止直接覆盖原文
- 意见闭环机制:每轮审稿意见必须逐条反馈——采纳/不采纳(写明理由),无反馈不得流转下一环节
- 分级审稿规则:红头法定公文(请示、函、通知)走完整版流程;内部汇报、实施方案可走精简版
- 工具嵌入机制:所有文稿提交文字校对环节前,强制先用 gongwen-skill 执行自动化预检(格式校验、用语规范扫描)
- 差错追责机制:低级文字错误由文字校对岗兜底;业务事实/分工错误由业务审核人负责;重大政策表述问题由综合核稿把关
5.5 流转示例(贴合课题汇报文稿场景)
撰稿人撰写课题汇报初稿 → 信息技术部负责人(业务审核:核对项目、职责内容) → 综合岗文字校对(gongwen-skill 预检 + 人工润色、格式规范) → 综合专班核稿 → 分管领导终审签发
合规自检清单(交付前必须执行)
Agent 在交付任何文档前,必须逐项检查并在回复中汇报:
| # | 检查项 | 合格标准 |
|---|---|---|
| 1 | Skill 加载 | 是否调用了 Skill 工具?版本号是多少? |
| 2 | 路径判定 | 根据用户需求判定为哪条路径?判定依据是什么? |
| 3 | 命令调用 | 实际调用了哪些 skill 命令?列出完整命令行 |
| 4 | 是否绕过 | 是否使用了自写脚本替代 skill 命令?如有,说明原因 |
| 5 | 交付物 | 产出了哪些文件?是否符合该路径的产物规范? |
| 6 | 质量验证 | 是否运行了 check 命令?结果如何? |
汇报格式:
📋 合规自检报告 Skill 版本: 填写当前版本号(运行 python -m gongwen --version) 路径判定: B(内容优化) 依据: 用户说"优化第二章节"且指定了已有文档 命令调用: 1. python -m gongwen optimize-content input.docx --changes changes.json --apply 是否绕过: 否 交付物: 关于XX的通知+庄重严谨+2026-07-29+v1.docx(差异对比版) 质量验证: check 通过,剩余 6 项已知误报
路径 A:格式修复
不改内容,只修排版。 输出无标记的成品文档。
⚠️ 执行前检查清单(必须逐项确认,缺一不可):
- □ 用户有现成 .docx 文档
- □ 用户仅需修排版格式,不改文字内容
- □ 已确认文档类型(-t 参数)
- □ 已告知用户:路径 A 产出无标记成品,不保留修改痕迹
完整流程
bash# 三步走 python -m gongwen check 文件.docx -t <类型> # 第1步:检查问题(只读) python -m gongwen optimize 文件.docx -o 成品.docx -t <类型> -y # 第2步:修复(-y 跳过确认) python -m gongwen check 成品.docx -t <类型> --json # 第3步:验证
检查结果分级
| 级别 | 含义 | 处理 |
|---|---|---|
| P0 | 必须修复(字体/字号/页边距不符国标) | optimize 自动修 |
| P1 | 建议修复(缩进/对齐问题) | optimize 自动修 |
| P2 | 可选修复(多余空行等) | optimize 自动修 |
可选增强
bash# 注入版头版记页码 python -m gongwen optimize 文件.docx -o 成品.docx --layout 版式.json # 单独补版式要素 python -m gongwen header 文件.docx --org-name 单位全称 --doc-number "发文编号" python -m gongwen footer 文件.docx --cc 抄送单位 --printer 印发单位 --print-date 印发日期 python -m gongwen pagenum 文件.docx --alignment center
路径 D:一键格式修复(fix-common)
快速规范化常见格式问题,一步到位。 使用 fix-common 命令,输出不含 AI 声明段的干净文档。
⚠️ 执行前检查清单(必须逐项确认,缺一不可):
- □ 用户有现成 .docx 文档
- □ 用户只需快速规范常见格式问题(段落类型/编号拆分/首句加粗/加粗范围)
- □ 已告知用户:路径 D 产出不含 AI 声明段的干净文档
- □ 若文档可能含修订标记(tracked changes),路径 D 会自动接受全部修订(P3)
命令
bashpython -m gongwen fix-common 文件.docx -o 成品.docx
7 步修复流程(内部自动执行):
- 解析文档
- 清理路径B标记(修改说明段落/删除线标记)
- 段落类型检测与格式修正:称呼段左对齐无缩进、导语/过渡段不加粗、会议日期段居中 18pt、署名段居中 18pt(P4/P5/P8)
- 编号段落自动拆分:同一段内"一是…二是…三是…"拆分为独立段落(P6)
- 首句加粗(段落类型感知):仅编号正文/普通正文加粗,称呼/导语/过渡/署名/会议日期不加粗(P2)
- 加粗范围修复(fix_bold_range)
- 生成文档(no_ai_declaration=True,不含 AI 声明段)
与路径 A 的区别
| 维度 | 路径 A(optimize) | 路径 D(fix-common) |
|---|---|---|
| 修复引擎 | 规则引擎(check_rules/fix_rules) | modifier 独立修复逻辑 |
| AI 声明段 | 默认追加 | 不追加 |
| 适用场景 | 完整格式合规(含页边距/字体检查) | 快速规范化常见问题 |
OOXML 编辑规范(P7,所有路径强制)
- 严禁使用 PowerShell 操作 docx 的 XML(
System.IO.Compression/[xml]解析等不可靠,P7 已证实) - 所有 .docx 的解析/修改/生成必须走 Python 代码路径(
engine/core/document/*或python -m gongwen子命令) - 需编辑 OOXML 层时使用 Python
python-docx+lxml(项目内engine/core/document/generator.py的_accept_all_revisions即为参考实现) - 违反此规范的操作视为不合格执行
AI 声明段控制
默认所有生成文档末尾会追加 AI 声明段("(内容由GongWen-skill-AI生成,仅供参考)",楷体 9pt 居中,pStyle=Annotation 避免 check 误判)。以下参数可控制:
| 命令 | 参数 | 效果 |
|---|---|---|
md2docx | --no-ai-declaration | 生成的文档不追加 AI 声明段 |
optimize | --remove-ai-declaration | 修复输出的文档不追加 AI 声明段 |
fix-common | (内置) | 固定不追加 AI 声明段 |
附录:全部命令速查(29 个,按用途分组)
Agent 遇到用户需求时,先在此表定位对应命令;命令用法不明确时运行
python -m gongwen <命令> --help查看完整参数。
🧭 向导式交互
| 命令 | 用途 | 最小用法 |
|---|---|---|
wizard | 交互式路径引导(A/B/C/D/E)+ 一键执行;Agent 用 --answers 非交互 / --dry-run 只打印命令 | python -m gongwen wizard |
🏗️ 生成与模板
| 命令 | 用途 | 最小用法 |
|---|---|---|
list-types | 列出 25 种支持的公文类型 | python -m gongwen list-types |
template | 按类型生成 GB/T 9704 空白模板 | python -m gongwen template notice -o 通知.docx |
generate | 从 DocumentModel JSON 生成 .docx | python -m gongwen generate 模型.json -o 公文.docx |
md2docx | Markdown 草稿 → 格式化公文(初稿) | python -m gongwen md2docx 草稿.md -o 公文.docx -t notice |
draft | Markdown 草稿 → 国标成品 + 验证(路径 C 四步合一) | python -m gongwen draft 草稿.md -o 成品.docx -t notice |
style-learn | 从标准文档学习排版样式生成模板 | python -m gongwen style-learn 标准.docx -n 模板名 |
style-list | 列出已学习的自定义样式模板 | python -m gongwen style-list |
🔍 解析与检查
| 命令 | 用途 | 最小用法 |
|---|---|---|
parse | .docx → 结构化 DocumentModel JSON(含文本框/修订摘要) | python -m gongwen parse 公文.docx |
check | 按国标检查格式(只读,分级 P0/P1/P2) | python -m gongwen check 公文.docx -t notice |
audit | 审计文档:检查删除线/加粗/AI 声明等痕迹 | python -m gongwen audit 公文.docx |
🔧 修复与优化
| 命令 | 用途 | 最小用法 |
|---|---|---|
optimize | 检查+修复+生成(默认预览,--apply 执行;--verify 单命令闭环自动复查输出、P0 存在时退出码非 0;--json 结构化输出) | python -m gongwen optimize 公文.docx -o 成品.docx --apply --verify |
fix-common | 一键修复常见格式问题(路径 D) | python -m gongwen fix-common 公文.docx -o 成品.docx |
optimize-content | 内容优化:修订+批注对比版(路径 B;--precheck 预检 changes 与原文一致性、--preset quick/full/review 参数收敛) | python -m gongwen optimize-content 原文.docx --changes 修订.json --apply --preset full |
full-review | 完整审校:格式修复→内容优化→批注,一条命令 | python -m gongwen full-review 公文.docx -o 成品.docx |
bold-first | 正文段落首句加粗(公文规范) | python -m gongwen bold-first 公文.docx -o 成品.docx |
📄 版式注入
| 命令 | 用途 | 最小用法 |
|---|---|---|
header | 注入版头:机关标志+发文字号+签发人+红色反线 | python -m gongwen header 公文.docx --org-name "XX单位" |
footer | 注入版记:抄送+印发机关+印发日期+分隔线 | python -m gongwen footer 公文.docx --cc "各单位" |
pagenum | 注入 Word PAGE 域动态页码 | python -m gongwen pagenum 公文.docx --alignment right |
🧰 特殊工具
| 命令 | 用途 | 最小用法 |
|---|---|---|
table-signs | 从名单批量生成会议桌签 | python -m gongwen table-signs 名单.txt -o 桌签.docx |
review | 生成公文审稿流转单(五/三角色) | python -m gongwen review report -o 审稿单.docx |
handoff | 跨会话交接(长任务收尾必写) | python -m gongwen handoff --write |
check-update | 版本自检(PyPI pip 包权威 + GitHub 备用,自动检测安装形态;GitHub 不可达时 DNS 诊断) | python -m gongwen check-update |
font | 公文标准字体管理(安装/检查/列出;下载失败时自动安全 DNS 直连兜底) | python -m gongwen font install |
🩺 诊断与修复
| 命令 | 用途 | 最小用法 |
|---|---|---|
doctor | 全面诊断:检查 Python 版本/依赖/版本一致性/字体/DSH 文件/代码风格/网络 DNS 等 | python -m gongwen doctor |
doctor --json | JSON 结构化输出(便于 Agent 解析) | python -m gongwen doctor --json |
doctor --offline | 跳过网络/DNS 诊断(离线模式) | python -m gongwen doctor --offline |
repair | 修复常见问题:安装缺失依赖/字体/同步 SKILL.md 副本 | python -m gongwen repair |
⚙️ 规则管理
| 命令 | 用途 | 最小用法 |
|---|---|---|
rule-export | 导出合并后的规则 YAML | python -m gongwen rule-export -o 规则.yaml |
rule-list | 列出三层规则(官方/单位/用户) | python -m gongwen rule-list |
rule-import | 导入/保存自定义规则 YAML | python -m gongwen rule-import 规则.yaml |
若文档中已存在 AI 声明段,generate_docx 会先去重(保留最后一段)再统一格式;未传上述参数时默认行为不变(保留 AI 声明段),向后兼容。
路径 B:内容优化
润色文字,保留格式。 使用 optimize-content 命令做行内修订,输出带红色标注+删除线的修改文档。
⚠️ 执行前检查清单(必须逐项确认,缺一不可):
- □ 用户有现成文档需要优化文字内容
- □ 已确认用户要改的是文字措辞(而非排版格式)
- □ 已确认内容优化方向(background/context/perspective)
- □ 已告知用户:路径 B 产出红色标注+删除线+楷体说明的对比版
- □ 用户确认内容后自动转路径 A 修格式,无需额外询问
完整流程
第0步:确认背景/语境/角度(提供 background/context/perspective) 第0.5步:文本匹配预检(必须执行,严禁跳过) **必须**先用 python-docx 逐段读取文档实际文本,将每段的 para.text 写入临时对照表,然后逐条验证 changes.json 中的 original_text 与此对照表完全一致(包括空格、标点、全半角)。 只有验证通过后的 JSON 才能传给 optimize-content。 特别注意:经过 bold-first 处理的段落可能被拆分 run, 但 para.text 仍是完整文本,应直接使用 para.text 的值。 严禁凭记忆或脑记直接写 original_text。 **JSON 生成规范**(P5,避免 PowerShell 编码问题): - 必须使用 Python `json.dump()` 直接写出 JSON 文件,禁止在 PowerShell 中内嵌含特殊字符的字符串 - 推荐方式: ```python import json, pathlib pathlib.Path("changes.json").write_text(json.dumps(changes, ensure_ascii=False, indent=2), encoding="utf-8") ``` - 生成后必须删除 optimized_text == original_text 的零修改条目(skill 端也会预检过滤,但应源头避免) - 每条 change 必须含 paragraph_index(int)/original_text/optimized_text/reason 四个必填字段 **背景与视角**(P1/P2):确认背景后**必须**将背景信息以 `--background` 传入 (背景描述写入 `.temp/background.txt` 后传文件路径),并**必须**传入 `--perspective "..."`(优化视角/风格方向,如"务实客观,数据驱动,避免主观评价和万能结论") 第1步:LLM 逐段分析 → 确认修订后的文本内容 第2步:python -m gongwen optimize-content 原文.docx -o 修订版.docx -f 修订后.md --background ".temp/background.txt" --perspective "..." → 行内修订文档(自动继承原文档格式 + 红色标注 + 删除线 + 楷体修改说明) 第3步:产出验证(P3,强制步骤,严禁跳过) **必须**对产出文件执行格式合规验证: ```bash python -m gongwen check "产出文件.docx" -t <doc_type> --json ``` - check 含 ERROR 级别问题 → 交付时向用户报告 - check 含 WARNING 级别问题 → 交付时附注提醒
路径 B 到此结束。 行内修订文档即为最终交付物。
用户确认优化内容后,即代表同意进入路径 A 做格式合规修复,Agent 直接执行 check → optimize → check 生成无标记成品文档,无需额外询问。
路径 B / 第0步:读取原文档格式
在生成 修订内容 前,读取原文档的格式属性,作为 LLM 优化文本时的参考约束。
pythonimport docx doc = docx.Document("原文档.docx") # 读取:每段字体/字号/行距/缩进/对齐方式 # 读取:页边距
这些数据仅供 LLM 参考,optimize-content 内部会自动从原文档继承格式,Agent 无需手动传递。
路径 B / 第1步:变更 JSON 格式
修订内容 格式:
json{ "changes": [ { "paragraph_index": 5, "original_text": "原段落文字", "optimized_text": "经审稿合成后的最终文字", "reason": "【撰稿人自审】事实准确,建议精简过渡句;【业务审核】业务口径无误;【文字校对】'抓紧'→'尽快'", "style": "庄重严谨", "reference": "《党政机关公文处理工作条例》第三章: 公文用语应准确、简洁、庄重、规范" } ] }
字段分工(各司其职,不可混同):
| 字段 | 职责 | 示例 |
|---|---|---|
optimized_text | 五位审稿角色意见合成后的最终可用内容,直接用于替换原文生成对比文档 | 见上方示例 |
reason | 各审稿角色的修改意见,用【角色名】标注来源 | 【撰稿人自审】事实准确,建议精简过渡句;【文字校对】'抓紧'→'尽快' |
style | 行文风格定性标签,一个段落一个标签即可 | 庄重严谨 / 简洁明快 / 条理清晰 |
reference | 公文写作规范依据,先定位段落类型再引用该类文段写作规范 | 公文"汇报导语"部分写作规范——开头点明事由与依据,属地全称不可省略 |
reference 字段引用规范(严禁虚构):
- 引用内容必须是真实可查证的标准或文件(GB/T 9704、《党政机关公文处理工作条例》、
style-prompts.md中的风格定义等)- 严禁使用"公文'主持词'写作规范""公文'讲话稿'写作规范"等不存在的标准名称
- 无法引用具体标准时,可标注为"机关通行惯例"或"公文实务规范",不得编造标准名称
注意:
optimized_text是五角色审稿意见全部合成后的 唯一最终版本。reason字段必须包含全部五个审稿角色的意见,即使某角色对该段落无修改建议,也应标注"【业务审核】无意见"或"【综合核稿】通过",不得省略任一角色(除非使用了精简版3角色方案)。
路径 B / 对话审稿模式(LiveEdit:一次解析,多次优化,一次生成)
核心设计:审稿是一个完整机制流程,不应每段打断用户。Agent 一次性完成全文审稿分析,生成所有优化建议的汇总清单,交给用户一次性确认。
适用场景:用户希望完整走审稿流程优化文档,但不想反复文件 I/O,且不希望每段都被询问。
核心流程:只解析一次 → 内存中累积五角色审稿意见 → 一次性输出来源对比汇总 → 用户一次性确认 → 最后一次性生成成品。
第1步:Agent 执行 python 代码——parse_docx 原文,创建 LiveEditSession 第2步:LLM 对全文逐段执行五角色审稿分析,生成完整 changes 清单(内存中) 第3步:Agent 在对话中展示「审稿汇总报告」——列出所有段落的原文→优化对比 第4步:用户一次性确认:「同意全部修改」或「驳回/修改某条」 第5步:用户确认无更多优化后,调用 session.finalize_both("关于XX的通知", style="庄重严谨", version=1) → 自动生成两份文档(遵循 SKILL.md 文件命名规范): - 干净版(路径 A 规则):`修订版+关于XX的通知+2026-07-29+v1.docx` - 差异对比版(路径 B 规则):`关于XX的通知+庄重严谨+2026-07-29+v1.docx` → 同时保存 .changes.json 变更日志供后续参考
对话审稿示例(完整汇总输出,用户一次性确认):
Agent: 📋 审稿汇总报告 ═══════════════════════════════════════ 原文:关于召开2026年网络安全工作会议的通知(30段) 类型:notice 审稿方案:完整版(5角色) ─────────────────────────────────────── ✅ 段落 1:「主送机关」 【撰稿人自审】事实准确,无需修改 ✅ 段落 5:「会议时间」 【业务审核】建议补充会议时长 原文:2026年8月15日上午9时 优化:2026年8月15日上午9时,会期半天 ✅ 段落 12:「参会人员」 【文字校对】"信息中心"→"信息技术部",统一全文称谓 ✅ 段落 28:「落款」 【综合核稿】落款单位应使用全称 原文:局办公室 优化:XX省民族宗教事务委员会办公室 ═══════════════════════════════════════ 共 6 处修改建议。是否全部同意?[Y / n(逐条讨论)]
对话审稿与文件模式的对比:
| 对比项 | optimize-content(文件模式) | LiveEdit(对话模式) |
|---|---|---|
| 输入 | changes.json 文件 | LLM 逐段分析,内存中积累 |
| 解析次数 | 每次修改都 parse → generate | 一次 parse,多次编辑,一次 generate |
| 用户确认 | 一次性确认全部变更 | 一次性确认「审稿汇总报告」 |
| 审稿呈现 | reason 字段写在 JSON 中 | 在对话中以审稿汇总报告呈现 |
| 适用场景 | 一次性批量优化 | 完整审稿流程优化 |
Agent 实施规则:
- 确定用户要走审稿流程后,构造
LiveEditSession并进入with块 - 不逐段询问用户,而是完成全部审稿分析后,输出一份完整的「审稿汇总报告」
- 汇总报告按段落列出:原文、优化文本、审稿意见(含角色名)
- 询问用户是否全部同意。若用户有异议,再针对具体段落讨论
- 用户确认后调用
session.finalize("成品.docx")输出 - 将生成的
.changes.json路径告知用户,供后续参考
路径 B / 增强命令(新增)
路径 B 提供两种增强输出模式,Agent 应根据用户需求选用:
批注模式(--comment-mode)
将优化建议以 Word 原生批注 写入,用户在 Word 中可通过「审阅 → 接受/拒绝」逐条处理,而非行内标记:
bashpython -m gongwen optimize-content 原文.docx --changes changes.json --apply --comment-mode
- 批注按字符范围锚定(可精确定位到被修改文字)
- 五角色审稿时,批注作者名区分五种角色,可按审阅者筛选
- 兼容:不加
--comment-mode时保持原行内标记模式
修订追踪(--tracked-change)
将修改以 Word 原生修订标记(<w:ins>/<w:del>)写入,用户可在「审阅 → 修订」面板逐条接受/拒绝:
bashpython -m gongwen optimize-content 原文.docx --changes changes.json --apply --tracked-change
- 修订 ID 全局唯一、RSID 无冲突
- 保留原 run 字体格式,修订不损毁排版
完整审校(full-review)
一条命令完成「格式修复(路径 A)→ 内容优化(路径 B)→ 批注输出」:
bashpython -m gongwen full-review 原文.docx --changes changes.json -o 审校版.docx
样式学习(style-learn / style-list)
上传标准文档,学习其排版样式(含字间距等细微属性),生成自定义命名模板:
bashpython -m gongwen style-learn 单位定稿红头.docx -n 单位红头规范 # 学习并注册模板 python -m gongwen style-list # 列出已学习模板 python -m gongwen optimize 文档.docx -t 单位红头规范 --apply # 套用模板
模板存储于 ~/.gongwen-skill/user_rules/(仓库之外),git pull 更新 skill 不会丢失。
文档审计(audit)
对文档处理链进行系统级审计,输出问题清单(含严重级别与位置):
bashpython -m gongwen audit 原文.docx -t notice
- 检查维度(与实现一致):格式合规(删除线 val=false 伏笔、bold-first 整段加粗误判、AI 声明残留、修订标记残留)+ 结构统计(段落/run 数)
- 输出 P0(阻断)/P1(重要)/P2(次要)分级问题列表
- 与
check的区别:audit 检查文档处理链痕迹(删除线/加粗/修订残留等过程产物问题),check 检查版面格式合规;五维度内容审稿由路径 B 审稿机制承担
三种输出模式对照(路径 B)
路径 B 的 optimize-content 支持四种交付模式,Agent 按用户需求选用:
| 模式 | 参数 | 交付物 | 用户操作 |
|---|---|---|---|
| 行内标记(默认) | (无) | 灰色删除线 + 红色新增 + 楷体修改说明 | 直接查看,人工誊改 |
| 批注模式 | --comment-mode | Word 原生批注(字符级锚定,可精确到被修改文字) | 「审阅→接受/拒绝」逐条处理 |
| 修订追踪 | --tracked-change | Word 原生修订标记(<w:ins>/<w:del>,保留原格式) | 「审阅→修订」面板逐条接受/拒绝 |
| 修订+批注(推荐) | --mode tracked | <w:ins>/<w:del> 修订标记 + 修改说明批注(reason/style/reference 写入 comments.xml,按审阅者区分) | 「审阅」面板逐条接受/拒绝 + 查看批注理由 + 按审阅者筛选 |
D5 说明:批注模式为字符级锚定——start/end 边界均精确拆分到 run 内部,Word 中选中批注文本时高亮范围与被修改文字完全一致。
修订+批注模式使用(--mode tracked)
bash# 完整版(5 角色审稿,默认) python -m gongwen optimize-content 原文.docx --changes changes.json --mode tracked --apply # 精简版(3 角色) python -m gongwen optimize-content 原文.docx --changes changes.json --mode tracked --reviewers 3 --apply # 带事实核验(--background 背景资料,对存疑人事信息追加核验批注) python -m gongwen optimize-content 原文.docx --changes changes.json --mode tracked \ --background "背景资料1.pdf" --background "资料2.docx" --apply
- 修订标记与批注共享同一编辑语义,Word 识别为同一次修改
- 支持背景资料格式:.docx / .pdf / .md / .txt / URL
- 存疑/未核验实体自动生成
【事实核验⚠️】批注 +.fact_check.json核验报告 - 执行分步回显:
[1/6] 加载变更 → [2/6] 匹配预检 → [3/6] 修订注入 → [4/6] 批注写入 → [5/6] 事实核验 → [6/6] 生成文档 - 回显控制:
--quiet仅输出最终结果;--verbose输出每个 run 匹配细节
路径 B / 上下文感知原则(三步思考法和内容保留审查之前必须先执行)
在进入内容保留审查和三步思考法之前,LLM 必须先完成上下文感知分析。该阶段不产生 修订内容,仅为后续优化提供全局参照。
1. 全文通读两遍制
-
第一遍 · 整体理解:通读全文,建立以下五个维度的全局认知——
- 文档类型:通知 / 报告 / 请示 / 函 / 纪要等(对照 22 种类型)
- 核心论题:全文主旨是什么?要解决什么问题或汇报什么事项?
- 组织结构:段落层级关系(总→分 / 背景→问题→措施 / 事由→依据→请示事项)、各段功能定位
- 关键数据分布:哪些段落包含金额、日期、文号、百分比、人名、地名等关键信息?在脑中形成"数据地图"
- 逻辑链条:前因→后果、问题→措施、依据→请示 是否闭合
-
第二遍 · 带上下文逐段分析:在生成 修订内容 时,始终带着第一遍的全局认知进行——
- 修改某段时,同时扫描该段与前段、后段的逻辑衔接是否仍然通顺
- 引用某术语、地名、文号时,确认与全文其他部分保持一致
- 精简某段时,确认信息点未被后文重复覆盖(避免去重遗漏)
2. 背景来源优先级
| 优先级 | 背景来源 | 说明 |
|---|---|---|
| P0 | 用户输入提示 | 用户明确提供的背景信息(如"这是向省厅汇报的材料,重点突出经费使用情况""受众是乡镇基层干部,语言要通俗")→ 最高优先级,覆盖所有其他背景推断 |
| P1 | 原文档全文推断 | 无用户提示时,从原文中提取:文档目的(标题+首段)、受众(抬头/落款/行文语气)、核心论点(各级标题+首尾段) |
| P2 | 公文类型默认规范 | 当上述两层均无明确信息时,按公文类型(通知/报告/请示等)的通用写作规范推断受众和语气 |
注意:P0 与 P2 冲突时 P0 优先。例如用户说"语言通俗"但公文类型规范要求"庄重严谨"→ 以用户"语言通俗"为准,可在style字段标注"简洁明快(用户指定)"。
2a. 参考文件处理规范(参考文件读取失败时的应对)
当用户提供的参考文件(PDF/图片等)无法直接读取文本时,Agent 必须按以下优先级处理:
| 优先级 | 处理方式 | 说明 |
|---|---|---|
| P0 | OCR 识别 | 扫描件 PDF / 图片文件应尝试 OCR 工具提取文字(如 pytesseract + pdf2image)。如环境有对应库则必须使用 |
| P1 | 告知用户并提供文字版 | 若 OCR 不可用或识别率过低,必须告知用户"该文件为扫描件,无法自动提取关键信息",请用户提供文字版本 |
| P2 | 标注为"未读取到参考文件" | 用户无法提供文字版时,在回复中标注"(参考文件为扫描件,内容未读取)",不得凭空编造参考文件中的信息 |
严禁:
- 未成功读取参考文件内容,就声称"已阅读参考文件"
- 在
reference字段中引用"参考文件显示"等无法验证的信息
3. 跨段一致性检查(必检项)
在生成完整 修订内容 后、写入磁盘前,LLM 必须逐项检查:
| # | 检查项 | 检查方法 | 不合格处理 |
|---|---|---|---|
| 1 | 术语统一 | 搜索全文同一概念是否出现多个称谓(如"协同创新中心"vs"联合创新中心"、"我省"vs"湖南省") | 统一为首次出现时的正式称谓,在 reason 中注明"术语统一" |
| 2 | 数据一致 | 同一数据指标在全文中是否出现冲突(如第3页"300万元"第10页"500万元"、同一日期前后不一致) | 以首次出现的数值为准(除非明显笔误),在 reason 中注明"数据一致性修正" |
| 3 | 标题正文对应 | 各级标题的覆盖范围是否与正文内容匹配(标题说"三大措施"正文只列两条、标题说"问题与建议"正文只写了建议) | 修正标题措辞使其与正文内容匹配,或标注缺失内容用XXX占位 |
| 4 | 逻辑闭环 | 上文提出的问题/任务,下文是否有对应的解决措施/完成情况(不能前文"存在三个突出问题",后文只回应了两个) | 在缺失处标注(此处应补充 XXX 相关内容)并写入 reason |
| 5 | 层级对等 | 同级标题是否语法结构一致(如都是动宾短语、或都是名词短语) | 统一为最常见的结构形式 |
4. 背景驱动扩展约束
合理扩展必须基于上下文推断,遵守以下边界:
- ✅ 可扩展:前文提到"获省级立项",后文可合理扩展"该项目已通过省级评审,获得省科技厅立项支持"
- ✅ 可扩展:前文详述问题成因,后文措施段可补充"针对上述问题,重点从以下方面突破"
- ❌ 不可扩展:前文"获省级立项" → 后文凭空添加"获国家级立项"
- ❌ 不可扩展:原文无任何经费数据 → 扩展出具体金额
- ❌ 不可扩展:原文未提及某政策 → 扩展引用该政策文号
扩展必须严格基于原文已出现的信息进行合理推演,不得从文档整体语境之外引入新信息。
路径 B / 内容保留优先原则(铁律,上下文感知之后、三步思考法之前必须过审)
在完成上下文感知分析后、进入三步思考法之前,LLM 必须逐段过审以下红线。违反任一条即为不合格输出。
-
关键信息绝对不可删除:严禁删除包含以下类型信息的整段或整句——
- 关键里程碑(日期 + 事件,如"2025年3月与省科技厅汇报")
- 领导协调 / 汇报记录(如"向××部门文宣司汇报")
- 资金 / 经费 / 项目预算数据(含具体金额或来源)
- 政策依据引用(含文号、政策名称)
- 省情 / 背景分析段落(提供论证基础的信息段)
- 人事信息(领导姓名、机构全称、职务、文号等——此类信息在原文中存在则必须保留,但严禁在原文基础上编造或扩展,新增人事信息一律用
[XXX]占位,遵循强制规则第 9 条)
-
去重必须逐句对比,不可凭「主题相似」判重:当判断某段与另一段「重复」时——
- ✅ 必须逐句对比,确认每一句都在另一段中有完全相同(非相似)的对应内容,才能整段删除
- ❌ 仅主题相似但表述不同(角度、细节、举例不同)→ 不得删除
- ❌ 两段内容各有独特信息点 → 不得以「合并」为由删掉其中任一段的信息
-
精简段落必须保留全部关键信息要素:精简时保留 who / what / when / where / why / how,仅删除真正的冗余修饰词(如多余的"的""了""进行"),不可砍掉信息点。
-
删除操作必须在 reason 中透明说明:每项涉及删除的操作(整句删除、整段删除),reason 中必须写明——
- 删除了什么(引用原文关键句)
- 为什么它确实是冗余的(指出与哪一段哪一句完全重复,或指出该信息在上下文中已由何处覆盖)
- 禁止使用「与上文重复」等模糊描述,必须具体到对应的段落和句子
路径 B / 内容合理扩展原则(补充原则,保留优先于扩展)
保留优先,扩展为辅。以下扩展权限仅在不违反「内容保留优先原则」的前提下生效。
-
允许扩展的场景:
- 逻辑跳跃:原文句子之间因果/递进关系不清晰时,补充过渡句使行文更连贯
- 论据不足:原文提出观点但支撑论述薄弱时,基于上下文合理推演,补充论证语句
- 数据罗列缺乏总结:原文列举数据后缺乏归纳时,增加一句总结性表述
- 段落衔接生硬:两段之间缺少承上启下的引导句时,增加过渡衔接句
-
扩展边界(硬约束):
- 不得虚构人物、事件、数据、日期、文号、政策名称
- 不得添加与原文立场相悖的观点或改变原文结论
- 扩展内容必须在
修订内容的reason字段中标注「此为补充内容」,并说明补充理由 - 单段扩展量不超过原段落字数的 30%(以
original_text字数为基准)
-
与「内容保留优先原则」的关系:
- 保留优先原则的 4 条红线(关键信息不可删除 / 去重必须逐句对比 / 精简必须保留全部要素 / 删除必须在 reason 中透明说明)始终优先
- 当保留原则与扩展原则冲突时(如精简段落后仍有空间扩展),优先满足保留原则的全部约束,再考虑扩展
路径 B / 三步思考法(生成 reason/style/reference,LLM 每段必须执行)
第1步 · 段落类型定位:这段文字在公文中是什么类型/处于什么位置? 示例:"开头惯用语段"、"问题分析段"、"工作部署段"、"收尾总结段"、"过渡衔接句"
第2步 · 写作规范查阅:针对该类段落,公文写作规范要求什么? 示例:"汇报导语应庄重简洁、点明事由与依据"、"问题分析应聚焦现状不足、避免与建议混同"、"部署应具体可操作"
第3步 · 逐处对比判断:逐一对比原文与修订文的差异,将每处修改用「原文」→「修订」格式输出到
reason;必须从第2步的规范判断中提炼风格标签填入style(必填项,从风格词典中选取,不可留空);将写作规范来源写入reference;如需扩展(补充过渡句、论证语句、总结归纳、衔接引导句),在reason中标注「此为补充内容」并说明理由
reference 引用原则:必须引用真实、可查证的公文写作规范,不可凭空编造;格式为:公文"XX"部分写作规范——具体规范说明。
完整示例:
json{ "paragraph_index": 0, "original_text": "紧扣省委省政府关于推动经济高质量发展的决策部署,落实相关工作要求,研究有关情况,现就有关事项汇报如下:", "optimized_text": "深入贯彻省委、省政府关于推动经济高质量发展的决策部署,全面落实相关工作,研究进展情况,现就有关事项汇报如下:", "reason": "「紧扣」→「深入贯彻」更符合公文庄重语体;「省委省政府」→「省委、省政府」保持格式规范;「落实」→「全面落实」增强力度;补充「湖南省」全称保持一致性;「研究有关情况」→「研究进展情况」更精准", "style": "庄重严谨", "reference": "公文"汇报导语"部分写作规范——开头点明事由与依据,属地全称不可省略,动词力度与公文庄重语体匹配" }
修改原则:
- 每段修改点控制在 5 处以内
- 优先级:笔误 > 语病 > 措辞润色 > 结构优化
- 必须先执行三步思考法再动笔修改:判类型 → 查规范 → 出修改意见
- 不编造数据、不替换事实信息、缺失用 XXX 占位
- 优化后文字必须能独立成段,保持原段落信息完整
路径 B / 多轮优化规则
路径 B 的 optimize-content 支持多轮迭代。每轮以用户上一轮已确认的 optimized_text 为新的 original_text,仅新轮次的变更生成红色标注+删除线,上一轮已确认内容视作"原文",不再标记。
第1轮: original_text: "推动赛事组织提质增效" optimized_text: "全面提升赛事组织的智能化水平和运行效率" 用户确认 ✅ → 以此版为新 baseline 第2轮: original_text: "全面提升赛事组织的智能化水平和运行效率" ← 第1轮确认版 optimized_text: "全方位推动赛事组织的智能化转型与效能提升" 用户确认 ✅ → 以此版为新 baseline 第N轮: 以此类推,每轮仅标注本轮变更 标记始终干净、可追溯、无叠影
关键规则:
- 每轮
changes中的reason只写本轮修改差异,不重复历史修改记录 optimized_text为各角色审稿意见全部合成后的唯一最终版本- 单文档累计迭代不超过 5 轮,超限后建议定稿
路径 B / 审稿机制嵌入(审稿意见 → 修订内容)
路径 B 在生成 changes JSON 时直接嵌入五角色审稿机制。每个角色对每段的修改意见汇总为 reason 字段中的分项标注,optimized_text 为全部意见合成后的最终版本。
审稿产出 → revisions 的映射规则:
| 审稿角色 | 产出形式 | 在 changes 中的映射 |
|---|---|---|
| ①撰稿人自审 | 业务事实修正、数据核验 | reason 中标注 【撰稿人】 及其修正内容 |
| ②业务审核人 | 业务口径、分工边界审核 | reason 中标注 【业务审核】 及审核结论 |
| ③文字校对岗 | 错别字/语病/用语规范修正 | reason 中标注 【文字校对】 及修改依据 |
| ④综合核稿人 | 政策口径、敏感措辞排查 | reason 中标注 【综合核稿】 及复核结论 |
| ⑤签发领导 | 终审确认意见 | optimized_text 中体现终审修改,reason 标注 【终审】 |
合成规则:
optimized_text= 撰稿人原文 → 经业务审核 → 经文字校对 → 经综合核稿 → 经领导终审 后的文本reason= 合并各角色对该段的判断依据,角色间用分号分隔- 若某角色对该段无意见,
reason中不出现该角色的标注,optimized_text不做变更
示例如下:
json{ "changes": [ { "paragraph_index": 5, "original_text": "请各单位在收到通知后认真组织学习,按时报告落实情况。", "optimized_text": "请各单位在收到通知后认真组织学习,并于2026年8月15日前书面上报贯彻落实情况。", "reason": "【撰稿人】补充上报截止时间,使要求明确可执行;【业务审核】确认口径:书面报告;【文字校对】「报告」→「上报」更符合下行文用语规范;【综合核稿】无意见;【终审】同意。", "style": "庄重严谨", "reference": "公文通知写作规范——事项段应包含"时限+方式+反馈对象"三要素" } ] }
精简版审稿方案(3角色)的映射:
撰稿人(自审)→ 业务+文字复合审核 → 综合负责人终审 ↓ ↓ ↓ reason标注 reason标注 optimized_text体现 【撰稿人】 【复合审核】 【终审】标注
路径 B / 风格词典(8 种风格,style 字段取值范围)
⚠️ style 字段必填规则:每个 change 对象的 style 字段为必填项,不可留空或省略。必须从以下风格词典中选取最匹配的一项填入。每种风格含六维度详细指引,LLM 应参照对应维度的句式特征/用词偏好/结构要求执行优化。
1. 庄重严谨(优先级 1)
| 维度 | 说明 |
|---|---|
| 句式特征 | 中长句为主(20-40 字),多用主动语态、第三人称;少用"的"字长定语,一句一个核心动作 |
| 用词偏好 | ✓ 常用:贯彻/落实/部署/推进/强化/深化/统筹/协调;✗ 禁用:口语词(搞/弄/抓一抓)、程度副词堆砌(非常/特别/极其) |
| 结构要求 | 总分总结构:首段点明事由依据 → 中段并列展开措施/要求 → 末段收束总结 |
| 语气调性 | 正式度 10/10,权威感强,不卑不亢,体现发文机关的公信力 |
| 典型句式 | ①"为深入贯彻落实…,现就有关事项通知如下:" ②"各地区、各部门要高度重视,切实抓好…" ③"坚持…与…相结合,统筹推进…" ④"按照…的部署要求,扎实推进…" |
| 反面示例 | ①"大家要把这个事情搞起来"(口语化) ②"非常非常重视这项工作"(副词堆砌) ③"大概可能完成了一半左右"(模糊表述) |
2. 简洁精炼(优先级 2)
| 维度 | 说明 |
|---|---|
| 句式特征 | 短句为主(10-20 字),一段不超过 4 句,善用分号并列 |
| 用词偏好 | ✓ 常用:单字动词(抓/促/推/保),去冗余修饰;✗ 禁用:"的""了""进行""加以"等填充词,"进一步""持续""不断"等虚化副词堆叠 |
| 结构要求 | 并列式展开(要点→要点→要点→总结),每段首句揭示核心,末句不做多余收束 |
| 语气调性 | 正式度 8/10,直击要点,节奏明快,不拖泥带水 |
| 典型句式 | ①"一是…二是…三是…" ②"重点抓好以下工作:"后接短要点 ③"做到:目标明、任务清、措施实" ④"突出…,聚焦…,狠抓…" |
| 反面示例 | ①"对于这个问题,我们进行了深入的研究和分析"("进行了"冗余) ②"希望能够进一步持续不断地加强和改进"(虚化副词堆叠) |
3. 庄重得体(优先级 3)
| 维度 | 说明 |
|---|---|
| 句式特征 | 中长句为主(15-35 字),多用敬语式祈使句("请""恳请""敬请"),避免命令式 |
| 用词偏好 | ✓ 常用:谨/恳请/敬悉/承蒙/惠予/赐复;✗ 禁用:命令式动词(必须/应立即/要求)、居高临下措辞 |
| 结构要求 | 三段式:敬启语 → 事项说明 → 恳请语,每层之间自然过渡,不突兀 |
| 语气调性 | 正式度 9/10,亲和度 7/10,体现尊重和谦逊,保持平等沟通姿态 |
| 典型句式 | ①"贵单位来函收悉,现就…函复如下:" ②"谨定于…,敬请莅临指导" ③"恳请贵单位在…方面给予支持为盼" ④"如有不妥,敬请指正" |
| 反面示例 | ①"你们必须在本周五前回复"(命令式) ②"收到你们的信了,答复如下"(过于随意) ③"希望你们配合"(缺乏敬意) |
4. 务实汇报(优先级 4)
| 维度 | 说明 |
|---|---|
| 句式特征 | 中等句长(15-30 字),大量使用主谓宾陈述句,数据与结论紧密关联 |
| 用词偏好 | ✓ 常用:完成/实现/达到/增长至/同比/占比/超额;✗ 禁用:空泛形容词堆砌("极大的""空前的""历史性的"无数据支撑时) |
| 结构要求 | 背景→做法→成效→数据→不足→下步,每部分有明确的数据锚点 |
| 语气调性 | 正式度 8/10,客观务实,数据驱动,避免空话套话 |
| 典型句式 | ①"全年完成…,同比增长 X%,超额完成年度目标" ②"主要做法:一是…二是…三是…" ③"存在的主要问题:…" ④"下一步将重点做好以下工作:" |
| 反面示例 | ①"取得了极大的成功,获得了空前的反响"(无数据支撑) ②"各项工作都有很大提升"(笼统空泛) |
5. 请示恳切(优先级 5)
| 维度 | 说明 |
|---|---|
| 句式特征 | 中等句长(15-30 字),多用"恳请""祈请""敬请"引导的祈使句,陈述理由用因果复句 |
| 用词偏好 | ✓ 常用:恳请/祈请/妥否/当否/呈请/报请/为盼;✗ 禁用:"应该""理应""理所当然"等预设同意前提的词 |
| 结构要求 | 事由→依据→理由(必要性+可行性+预期效果)→请示事项→恳请语,理由部分不少于整体 50% |
| 语气调性 | 正式度 9/10,态度恳切,有理有据,不卑不亢 |
| 典型句式 | ①"为…,现就…事项呈请如下:" ②"鉴于…,亟需…,故恳请…" ③"以上请示妥否,请批示" ④"如无不妥,请转发…执行" |
| 反面示例 | ①"这个事应该批,理由很充分"(口语化+预设同意) ②"我们觉得需要这笔钱"(缺乏正式事由和依据) |
6. 动员激励(优先级 6)
| 维度 | 说明 |
|---|---|
| 句式特征 | 中长句为主(20-35 字),多用排比句、递进句营造气势,善用"要""必须""务必"增强力度 |
| 用词偏好 | ✓ 常用:奋力/全力/着力/攻坚/冲刺/确保/坚决/开创;✗ 禁用:消极/犹豫措辞("争取""尽量""可能")、长句拖沓 |
| 结构要求 | 目标定向→任务分解→责任压实→号召动员,层层递进,末尾以排比句收束 |
| 语气调性 | 正式度 8/10,鼓动性 10/10,节奏感强,富有感染力 |
| 典型句式 | ①"让我们…,为…而努力奋斗!" ②"要拿出…的决心,…的力度,…的措施" ③"确保…,坚决…,全力…" ④"以…的优异成绩,向…交出满意答卷" |
| 反面示例 | ①"希望能努力争取完成"(缺乏决心) ②"差不多应该可以了"(消极模糊) |
7. 总结回顾(优先级 7)
| 维度 | 说明 |
|---|---|
| 句式特征 | 中等句长(15-30 字),多用过去时态陈述句,善用"回顾""总结""盘点"等引导词 |
| 用词偏好 | ✓ 常用:回顾/总结/积累/提炼/梳理/取得/迈出;✗ 禁用:与回顾性质冲突的未来承诺("将""计划""打算"过多使用) |
| 结构要求 | 总述→分类回顾(工作领域维度)→亮点提炼→经验教训→展望,各类回顾权重均衡 |
| 语气调性 | 正式度 8/10,客观平和,夹叙夹议,避免过度渲染成绩 |
| 典型句式 | ①"回顾过去一年,…取得了显著成效" ②"主要呈现以下特点:一是…二是…" ③"在肯定成绩的同时,我们也清醒地认识到…" ④"这些成绩的取得,得益于…" |
| 反面示例 | ①"我们干得特别好,特别棒"(过于主观渲染) ②"一切都很好,没有不足"(回避问题) ③"虽然有点小问题但没关系"(轻描淡写) |
8. 逻辑严密(优先级 8)
| 维度 | 说明 |
|---|---|
| 句式特征 | 中长句为主(18-35 字),多用因果复句、条件复句("由于…因此…""若…则…"),关联词明确 |
| 用词偏好 | ✓ 常用:由此可见/综上所述/究其原因/归根结底/据此/基于/鉴于;✗ 禁用:跳跃式表述(无关联词直接切换话题)、模糊笼统的归因 |
| 结构要求 | 前提→分析→推导→结论,每一步有明确逻辑标记(首先/其次/因此/综上),段落间环环相扣 |
| 语气调性 | 正式度 9/10,理性缜密,层层递进,说服力强 |
| 典型句式 | ①"究其原因,主要有以下三个方面:" ②"基于上述分析,可以得出以下结论:" ③"若不…,则…,因此必须…" ④"由此可见,…与…之间存在显著关联" |
| 反面示例 | ①"这个问题很严重,所以要加强"(跳跃推导,缺少中间环节) ②"总之各方面都挺好的"(无逻辑总结) ③"因为时间紧,所以没完成"(单一归因) |
使用说明:上述六维度按优先级排列,LLM 优化时应优先满足前 4 维度(句式特征→用词偏好→结构要求→语气调性),典型句式为参考模板、反面示例为红线禁区。
路径 B / 风格组合与叠加规则
当用户在同一句需求中指定多个风格时(如"严谨正式+简洁精炼""逻辑严密+务实汇报"),或段落特征需要融合两个风格时,按以下规则组合。
规则一:优先级裁决
当两种风格在某维度上冲突时,序号靠前的风格为主导风格,其在该维度的设定优先:
主导风格优先级(序号靠前 > 序号靠后): 庄重严谨(1) > 简洁精炼(2) > 庄重得体(3) > 务实汇报(4) > 请示恳切(5) > 动员激励(6) > 总结回顾(7) > 逻辑严密(8)
示例:用户指定"庄重严谨 + 简洁精炼"→ 句式以庄重严谨的中长句为主,但融入简洁精炼的去冗余原则。
规则二:按维度合并(默认策略)
对于不冲突的维度,取各风格的并集或最佳实践:
| 维度 | 合并策略 | 示例(庄重严谨 + 简洁精炼) |
|---|---|---|
| 句式特征 | 主导风格决定句长范围,辅助风格优化结构 | 中长句(庄重严谨),但删除冗余修饰词(简洁精炼) |
| 用词偏好 | 取并集,冲突时主导风格优先 | 庄重严谨词汇库 + 简洁精炼的简练原则 |
| 结构要求 | 主导风格决定宏观结构,辅助风格优化微观组织 | 总分总(庄重严谨),但每段不超过 4 句(简洁精炼) |
| 语气调性 | 主导风格决定语气基调,辅助风格微调 | 正式度 10 → 9(庄重严谨基调 + 简洁精炼的直接感) |
| 禁止项 | 取所有风格的禁止项并集 | 禁止口语词 + 禁止填充词 |
规则三:同段不拆分原则
一个段落只分配一个 style 标签。 即使该段同时体现多种风格特征,也只选取该段最主要功能对应的风格。多功能段落的风格判定优先级:
段落功能 → 风格标签: 请求类内容(请示/请求批准) → 请示恳切 部署类内容(命令/安排/要求) → 庄重严谨 汇报类内容(数据/进度/成果) → 务实汇报 分析类内容(原因/影响/推导) → 逻辑严密 号召类内容(动员/鼓劲/总结) → 动员激励 / 总结回顾
规则四:全文档风格一致性
同一份 修订内容 中,所有段落的 style 标签应呈现主风格+辅助风格的分布模式:
- 主风格(占 ≥ 60% 的段落):由文档类型和用户需求决定的统一风格
- 辅助风格(占 ≤ 40% 的段落):根据各段功能不同灵活选取
示例:一份"工作报告"走务实汇报风格优化,其中部署段可标"庄重严谨",问题分析段可标"逻辑严密",总结段可标"总结回顾"——但 70% 以上的段落应统一标"务实汇报"。
风格组合典型场景速查
| 用户需求 | 主导风格 | 辅助风格 | 适用场景 |
|---|---|---|---|
| "正式一点,别太啰嗦" | 庄重严谨 | 简洁精炼 | 通知、决定 |
| "向领导汇报,要有数据支撑" | 务实汇报 | 逻辑严密 | 工作报告、总结 |
| "写给兄弟单位,要有礼貌" | 庄重得体 | 简洁精炼 | 函、请示 |
| "动员部署,要有力度" | 动员激励 | 庄重严谨 | 工作部署、方案 |
| "年度总结,客观全面" | 总结回顾 | 务实汇报 | 年度总结、述职报告 |
路径 B / 段落类型优化检查清单(修订内容 生成后必须逐段过审)
LLM 在生成 修订内容 后、写入磁盘前,必须按以下 9 种段落类型逐段审查。每段至少在 修订内容 中附录该类型的检查结果(可在
reference字段末尾追加)。
1. 标题(4 项检查维度)
| # | 检查项 | 评判标准 | 不合格处理 |
|---|---|---|---|
| 1.1 | 序号体系规范 | 是否使用规范的公文序号层级(一、(一) 1. (1) ①),无跳层、无倒序 | 修正为规范序号,在 reason 中注明 |
| 1.2 | 标题概括性 | 标题是否准确覆盖正文全部要点,无遗漏、无过度泛化 | 调整措辞使标题与正文内容匹配 |
| 1.3 | 同级标题结构对仗 | 同级标题语法结构是否一致(全为动宾短语 / 全为名词短语) | 统一为最常见结构 |
| 1.4 | 文种标识准确 | 公文标题是否含正确的文种名称("关于...的通知/报告/请示") | 修正文种,确保与 -t 参数一致 |
2. 主送机关(4 项检查维度)
| # | 检查项 | 评判标准 | 不合格处理 |
|---|---|---|---|
| 2.1 | 全称/规范化简称 | 主送机关是否使用全称或法定规范化简称,无口语化简称 | 替换为规范全称 |
| 2.2 | 排序规则 | 多主送机关是否按党→政→军→群顺序排列,同级按惯例 | 调整顺序 |
| 2.3 | 格式位置 | 主送机关是否顶格、是否在标题之下正文之上独立一行 | 修正位置 |
| 2.4 | 标点准确 | 多主送机关之间用顿号,最后一个用冒号;单机关直接用冒号 | 修正标点 |
3. 汇报导语段(7 项检查维度)
| # | 检查项 | 评判标准 | 不合格处理 |
|---|---|---|---|
| 3.1 | 惯用语规范 | 是否使用"为...现将...汇报如下"标准格式,无自创惯用语 | 替换为标准惯用语 |
| 3.2 | 背景紧扣上级部署 | 事由是否与上级文件/会议精神对齐,引用准确的文号或会议名称 | 补充或修正引文 |
| 3.3 | 主体定位准确 | 发文主体自称是否一致(我委/我局/我办),无混用 | 统一为规范自称 |
| 3.4 | 事项全称准确 | 首次提及的事项是否使用全称,后续使用规范简称 | 补充全称 |
| 3.5 | 过渡衔接自然 | 事由与汇报内容之间的过渡是否通顺,"如下:"后是否直接接正文 | 调整衔接措辞 |
| 3.6 | 语气得体 | 向领导/上级汇报的语气是否庄重不卑不亢,不口语化 | 替换非正式表达 |
| 3.7 | 冗余检查 | 是否与标题或第一段正文内容重复(导语应概述而非复述) | 精简冗余措辞 |
4. 正文/成绩汇报段(8 项检查维度)
| # | 检查项 | 评判标准 | 不合格处理 |
|---|---|---|---|
| 4.1 | 时序逻辑 | 工作按时间推进(年初→年中→年底)或按任务线排列,无混乱 | 调整段落顺序 |
| 4.2 | 数据支撑具体 | 关键指标后有具体数字(避免"大幅增长"而无数字) | 补充数据或标注 XXX |
| 4.3 | 主谓完整 | 每句主谓宾完整,无歧义指代(避免"这项工作""相关方面") | 补全主语或明确指代 |
| 4.4 | 成果归属明确 | 多部门协作时明确牵头与配合单位,责任归属清晰 | 补充归属 |
| 4.5 | 措辞分寸得当 | 成绩用词不夸大("显著""重大"需有数据支撑),不贬低其他单位 | 调低形容词程度 |
| 4.6 | 层次递进分明 | 成绩段落有总分/递进结构,非简单罗列 | 增加引导句和总结句 |
| 4.7 | 术语前后统一 | 全文同一概念使用同一术语,不混用 | 统一术语 |
| 4.8 | 动词力度恰当 | 动词是否与成绩分量匹配("完成"→"圆满完成"需有依据) | 调整动词力度 |
5. 问题分析段(7 项检查维度)
| # | 检查项 | 评判标准 | 不合格处理 |
|---|---|---|---|
| 5.1 | 逻辑链完整 | 问题→原因→影响是否形成完整因果链,不跳跃 | 补充缺失环节 |
| 5.2 | 例证支撑 | 每个问题有无宏观概述+具体例证(至少各一),不空谈 | 补充具体案例或数据 |
| 5.3 | 严重程度措辞恰当 | "突出问题/亟待解决/需引起重视"等措辞是否与事实匹配 | 调整严重程度措辞 |
| 5.4 | 客观不回避 | 是否涉及主观因素而不只归咎客观,态度坦诚 | 补充主观因素分析 |
| 5.5 | 与成绩段对应 | 成绩段中提到的领域,问题段是否也有所覆盖 | 确保覆盖一致性 |
| 5.6 | 篇幅比例合理 | 问题段篇幅与成绩段比例是否合理(通常不超成绩段 50%) | 精简或标注扩展 |
| 5.7 | 结论具建设性 | 问题分析后是否有方向性指引句 | 补充引导句 |
6. 建议/请示段(7 项检查维度)
| # | 检查项 | 评判标准 | 不合格处理 |
|---|---|---|---|
| 6.1 | 建议具体可操作 | 每条建议是否可量化/可执行,不含"进一步""着力"等空话堆砌 | 拆分为具体行动项 |
| 6.2 | 提请对象明确 | 是否明确"恳请XX部门/XX领导"审批/协调/支持 | 补充提请对象 |
| 6.3 | 一文一事 | 请示是否只涉及一个事项,无多个不相关请示混编 | 拆分或合并同类 |
| 6.4 | 理由充分 | 请示事项是否说明必要性、可行性、预期效果三层理由 | 补充不足的理由层次 |
| 6.5 | 附件引用完整 | 正文引用的附件是否全部列出,编号与附件说明一致 | 补充遗漏附件 |
| 6.6 | 语气合规 | 请示用"妥否,请批示"/"请审批",报告用"请审阅" | 修正结尾语 |
| 6.7 | 建议按优先级排列 | 多条建议是否按重要性/紧迫度从高到低排列 | 调整排序 |
7. 结尾规范语(4 项检查维度)
| # | 检查项 | 评判标准 | 不合格处理 |
|---|---|---|---|
| 7.1 | 文种匹配 | 报告→"特此报告";请示→"妥否,请批示";函→"特此函告";批复→"此复" | 替换为规范用语 |
| 7.2 | 位置独立成段 | 结尾语是否顶格或空两格独立成段,不接在正文末句后 | 独立成段 |
| 7.3 | 无多余修饰 | 结尾语前不加"以上""现""特此"以外的多余修饰词 | 删除多余修饰 |
| 7.4 | 不重复使用 | 全文仅保留一处结尾规范语,不在正文中间误用 | 删除多余的结尾语 |
8. 落款/署名段(5 项检查维度)
| # | 检查项 | 评判标准 | 不合格处理 |
|---|---|---|---|
| 8.1 | 单位全称规范 | 署名是否使用发文机关全称或法定规范化简称 | 替换为规范全称 |
| 8.2 | 日期用汉字 | 成文日期是否使用汉字数字(如"二〇二六年七月二十六日"),非阿拉伯数字 | 转换为汉字数字 |
| 8.3 | 右对齐 | 署名和日期是否右对齐,右空约四字 | 调整对齐 |
| 8.4 | 印章位置预留 | 日期上方是否预留了印章位置(通常空一行),署名是否在印章下方居中 | 调整空行 |
| 8.5 | 多单位署名排序 | 联合发文是否按主办机关→协办机关顺序排列,印章不交叉 | 调整排序 |
9. 附件说明(4 项检查维度)
| # | 检查项 | 评判标准 | 不合格处理 |
|---|---|---|---|
| 9.1 | 名称与正文一致 | 附件名称是否与正文中引用的名称完全一致,一字不差 | 统一名称 |
| 9.2 | 序号与顺序对应 | 附件序号(1. 2. 3.)是否与正文引用顺序一致 | 调整序号 |
| 9.3 | 格式标注 | 附件名称后是否标注文件格式(如"(PDF)""(Excel)"),可选但建议 | 建议补充 |
| 9.4 | "附件:"前空一行 | 正文末尾与"附件:"之间是否空一行(按 GB/T 9704 格式规范) | 补充空行 |
产出要求:每个 change 对象的
reference字段末尾需追加对应段落类型的审查结论,格式为[段落类型: XX] 检查项 N/N 通过,X项需修正:具体项。例如:[段落类型: 汇报导语段] 检查项 6/7 通过,1项需修正:惯用语"汇报一下"→"汇报如下"。
路径 B / 去重操作完整性检查(修订内容 生成后必须执行)
对于标记为「去重 / 与上文重复 / 合并同类」的删除类 change 对象,LLM 必须在生成完整 修订内容 后执行以下自检:
- 成对删除检查:如果某段(段落 A)被标记删除且 reason 中写了「与段落 X 重复」,则必须同步检查段落 X 是否也被标记为删除或合并。去重必须成对完成——不能只删一段而留另一段。
- 残留检查:遍历所有 change 对象,若
optimized_text与另一段的original_text或optimized_text存在大段(≥20字)完全相同的内容,且其中之一已被标记删除 → 另一段必须同步处理(删除或合并),否则去重未完成。 - 声称完成检查:修订内容 中任何 reason 字段若出现「去重」「合并重复」「删除重复段」等表述,必须在 修订内容 末尾追加一个
_dedup_audit字段,列出:json"_dedup_audit": { "deleted_paragraphs": [3, 7], "retained_counterpart": 3, "verified_pairs": [[3, 3], [7, 3]] }deleted_paragraphs:被删除的段落索引列表retained_counterpart:保留的对应段落索引(若多段合并到一个则取主段)verified_pairs:每对去重关系的原文段索引配对([已删除的, 保留的])- 此字段仅供 Agent 审计,不会影响
optimize-content运行
路径 B / 强制审计清单(路径 B 完成后必查)
Agent 在路径 B 交付产品前,必须逐项审计以下五点并汇报结果:
| # | 审计项 | 评判标准 |
|---|---|---|
| 1 | 交互流程 | 三步确认走了吗?用户选的是格式还是内容? |
| 2 | 文件命名 | 路径 B 是否按 {原文档名}+内容风格+日期+版本号.docx 命名?路径 A/C 是否按 修订版+... 命名? |
| 3 | 内容准确性 | diff 标记数量与 修订内容 一致?误标记未修改文字? |
| 4 | 优化说明质量 | 每段说明是三段式还是「大幅优化措辞」? |
| 5 | 格式继承 | 对比文档字体/字号/行距与原文档一致?无 optimize 混入? |
审计结果用表格呈现,每项标记 ✅ / ⚠️ / ❌。
路径 B / 第2步:生成差异对比文档
bash# 自动命名:{原文档名}+{内容风格}+{日期}+v1.docx(如 工作报告+庄重严谨+20260725+v1.docx) python -m gongwen optimize-content 原文档.docx --changes 修订内容 # 也可显式指定输出文件名 python -m gongwen optimize-content 原文档.docx -o 对比文档.docx --changes 修订内容
标记规则:
- 原文被修改/删除:灰色(#999999)+ 删除线
- 新增/修改后:红色(#E00000)高亮
- 未改动:黑色正常格式
- 每段末尾:楷体_GB2312 五号(10.5pt)灰色
【修改说明】xxx 【风格】xxx 【依据】xxx - 文档末尾:自动追加
(内容由GongWen-skill-AI生成,仅供参考)灰色小字
自定义声明文字(可选):
bash# 覆盖默认声明 python -m gongwen optimize-content 原文.docx --changes 修订内容 --disclaimer "(本稿经GongWen-skill-AI辅助生成,请人工复核)" # 不使用声明 python -m gongwen optimize-content 原文.docx --changes 修订内容 --disclaimer ""
路径 B / 如需格式修复:走路径 A
用户确认对比版内容无误后,如需对差异对比文档做格式合规修复,Agent 必须明确告知用户这是切换到路径 A,不再是路径 B 的一部分。确认后执行路径 A 的 check → optimize → check 流程。
路径 B / 表格和图片处理
当原文档包含表格或图片时:
- 表格:
optimize-content在生成差异文档时会自动保留表格在原位置,不参与 diff 标注;表格内的段落不会被内容优化处理 - 图片:
_replace_paragraph_content自动保留含图片(w:drawing / w:pict)的 run,不参与 diff - 定位:表格和图片均通过
insert_after_index机制保持在原文档中的相对位置
若需要对表格内容做优化,建议先将表格数据提取为文本,走路径 B 优化后再手动回填。
路径 B / 格式继承原则
只改文字,不改格式。 差异对比文档必须完整继承原文档的字体、字号、行距、缩进、对齐、页边距。
optimize-content 内部自动从原文档段落读取格式并继承。Agent 不可在路径 B 前后跑 optimize(格式修复),会覆盖原文档格式。
引擎级保护:_select_paragraphs 中 target="all" 已排除 role='annotation' 的段落;fix_bold_range / bold_first_sentence_of_body 也排除 annotation。Agent 侧的责任是确保不走 optimize 落盘路径。
路径 B / 从零生成(无原文档,走路径 B 时)
当用户走路径 B 但没有原文档时(极少见,通常是路径 C),按以下流程:
- 确认公文类型(report / notice / request 等 22 种之一)
md2docx生成初稿(必须指定-t)optimize套 GB/T 9704 规范格式- 最终交付经过标准化后的文档
路径 C:生成公文
没有现有文档,根据背景和要求从零生成新公文。 输出符合 GB/T 9704 格式标准的全新公文文档。
⚠️ 执行前检查清单(必须逐项确认,缺一不可):
- □ 用户没有现成文档,需要从零生成
- □ 已完成第0步搜索确认关键事实(时间/地点/人名/数据)
- □ 已确认公文类型和核心信息
- □ 已使用段落模板写 Markdown 草稿
- □ 已告知用户:路径 C 产物仅为草稿,正式发文须走审核流程
- □ 会议类文档须同步询问是否需要生成桌签
完整流程(五步)
第〇步:收集背景信息(必须执行,严禁跳过)
路径 C 是从零生成公文,Agent 在写草稿前必须按以下优先级确认关键事实信息:
| 优先级 | 来源 | 说明 |
|---|---|---|
| P0 | 用户明确提供的背景 | 用户说的时间、地点、数据、人名 → 最高优先级,直接使用 |
| P1 | Agent 主动搜索确认 | 时效性信息(举办时间、政策文件、最新数据等)→ 必须搜索确认,不得凭记忆编造 |
| P2 | 公文类型通用规范 | 文种格式、常用句式、标准结构 → 使用下方段落模板 |
搜索执行规则:
- 涉及具体时间、地点、人名、政策文号 → 必须走 P1 搜索确认
- 搜索不到的关键信息用
XXX占位,不得编造 - 已完成搜索确认后,向用户报告关键信息来源
- 人事信息铁律(路径 C 专用):生成公文涉及领导人姓名、机构全称、职务、联系人、文号等信息时,严格遵循强制规则第 9 条(人事信息准确性铁律)。未经用户明确提供或
ai_search搜索确认的信息,一律用[XXX]占位,不得凭经验或推理填写。路径 C 第〇步向用户收集信息时,必须主动询问发文机关全称、主送机关全称、关键人物姓名和职务。
同时向用户确认以下信息:
- 公文类型(通知/请示/报告/函/纪要等,不确定时参考下方类型选择表)
- 发文单位(本单位全称)
- 主送机关
- 核心事项(具体什么事情)
- 关键信息(时间、地点、数据、人名等)
- 背景材料(如有,请用户提供)
- 风格偏好(可选,默认"务实汇报")
交互原则:
- 如果用户已提供全部信息,直接跳过进入第一步
- 如果有信息缺失,以简洁的方式逐项询问用户补充
- 不要一次性列出所有问题轰炸用户,可分批询问(先问类型和发文单位,再问核心事项和关键信息)
- 如果用户明确表示无法提供或不想提供某项关键信息(如具体日期、人名、数据等),不强行追问,直接用"XX"或"XXX"占位,生成模板后再提醒用户确认替换
第一步:编写生成 Markdown 草稿
LLM 根据用户背景和要求,参考下方段落结构模板和惯用语库,编写完整的公文 Markdown 草稿。使用 [] 占位符标记待用户确认的信息(如日期、具体数据等)。
表格与附件处理规则:
md2docx自动将 Markdown 表格转换为 Word 表格(使用|管道符语法),表格样式继承 GB/T 9704 正文格式- 附件(如报名表、回执等)应直接嵌入同一文档末尾,而非生成为单独文件。草稿中在"附件说明"下方用 Markdown 表格写出即可
- 附件页的标题用
# 附件:一级标题,与正文部分的标题层级区分 - 表格中的空行用
| | | |保持行结构,行数可根据需要增减
附件说明排版要求(参考定稿文件和 GB/T 9704):
正文末尾 (空一行) 附件:[编号.]附件名称 ← 仿宋_GB2312 16pt,左空二字 ← 附件名称末尾不加标点 (空一行) 落款单位 日期
- 附件说明位于正文下空一行,左空二字
- 多个附件用阿拉伯数字分行列出:
附件:1.附件名称一下一行2.附件名称二 - 附件名称后不加句号等标点
- 附件说明与落款之间保留空行
- 附件本身的正文格式:附件标题用方正小标宋简体 22pt 居中,正文仿宋_GB2312 16pt
- 如附件为表格(如报名表),直接在同一文档末尾用 Markdown 表格生成即可,不要生成单独文件
- 附件页与正文页必须用分页符隔开,不得连续排版。草稿中在正文末尾(落款之后)与"# 附件:"标题之间保留
---标记分页 - 附件表格若列数较多或内容较宽,可考虑将页面方向调整为横向(Landscape),在
---处标注[横向]或[landscape]
操作提示:Agent 在编写 Markdown 草稿时,务必在正文落款后、附件标题前保留一行
---作为分页标记。
附件生成规则(强制遵守):
- 会议类文档(会议方案、会议通知、纪要等):凡涉及需要参会单位报名或反馈参会人员信息的,必须在文档末尾一键生成参会人员报名表(含序号、单位名称、姓名、职务、联系电话、备注等列),不得遗漏
- 非会议类文档(请示、报告、函等):视情况判断是否需要附件。如正文引用"详见附件"或在有关事项中提到"附报名表""附统计表""附征求意见表"等,必须同步生成附表
- 多个附件:如有多个附件,均嵌入同一文档末尾,用
# 附件1:# 附件2:分级标题区分,每个附件前加分页符---
桌签同步生成规则(会议类文档专用): 处理会议通知、纪要、会议方案、会议议题材料等涉及参会人员/列席人员的文档时,Agent 必须在完成主文档后主动询问用户:
是否需要同步生成会议桌签?可用名单通过
python -m gongwen table-signs批量生成(A5横版、黑体130pt、双面打印)。
具体执行规则:
- 若用户有参会人员名单(或用户能在文档中提供)→ 直接执行
python -m gongwen table-signs 名单.txt -o ./桌签/生成每人一份独立桌签 - 若用户无名单但有具体人数 → 提示用户给出人员姓名清单
- 若用户既无名单也不知参会人员 → 跳过桌签生成,不追问
- 仅询问一次,用户明确说"不需要"后不再重复追问
桌签模板由工具内置模板(
engine/templates/table_sign.dotx)自动生成,无需外部模板文件。 生成时以名单输入文件或标准输入传递人员姓名(每行一人),支持--combined合并为一个多页文档。
第二步:md2docx 转换(管线内步骤)
执行 python -m gongwen md2docx 草稿.md -t <类型>,输出为管线内临时文件(如 _temp_draft.docx),不单独作为产物交付。
bashpython -m gongwen md2docx 草稿.md -o _temp_draft.docx -t <类型> --signer 落款单位 --date 日期
第三步(可选):正文段落首句加粗
若需要按公文规范将正文段落的首句加粗,在 optimize 之前执行 bold-first:
bashpython -m gongwen bold-first _temp_draft.docx -o _temp_draft.docx
注意:
bold-first必须在optimize之前执行,以便 optimize 内的fix_bold_range规则能正确处理边界情况。若先 optimize 再 bold-first,会导致整段加粗问题。
第四步:调用路径 A 的 optimize 套国标格式生成成品
对第二步/第三步的临时文件执行 python -m gongwen optimize _temp_draft.docx -t <类型>,套用 GB/T 9704 国标格式(版头、版记、页码、字体、字号、行距等)。这一步是纯格式处理,不改文字内容。
bashpython -m gongwen optimize _temp_draft.docx -o 成品.docx -t <类型>
第五步:验证产物并交付
执行 python -m gongwen check 成品.docx -t <类型> --json 进行格式合规检查。向用户报告格式合规情况和最终产物路径,提醒用户确认 [] 占位符处的内容。
审稿流转(路径 C 交付附加流程):
交付后,Agent 必须主动询问用户:
是否需要进入公文审稿流转流程?可生成审稿流转单,由对应角色逐级审核把关。
- 完整版(5角色):撰稿人→业务审核→文字校对→综合核稿→领导签发(适用红头法定公文)
- 精简版(3角色):撰稿人→业务+文字复合审核→综合负责人终审(适用内部材料)
若用户确认,Agent 执行:
bash# 完整版(默认) python -m gongwen review 通知 -o 审稿流转单-通知.docx --title "关于XXX的通知" # 精简版 python -m gongwen review 请示 --scheme compact -o 审稿流转单-请示.docx --title "关于XXX的请示"
生成后的审稿流转单包含:审稿角色表格(含意见栏/签名栏)、流转记录表、使用说明。用户打印后即可随文稿实物流转。仅询问一次,用户明确说"不需要"后不再重复追问。
bashpython -m gongwen check 成品.docx -t <类型> --json
第二步至第四步使用同一 -t 类型。
推荐做法:Agent 先根据用户需求在对话中生成 Markdown 草稿(使用下方段落模板),再走上述四步流程生成格式化成品并验证合规;需要一步到位时可直接
python -m gongwen draft 草稿.md -o 成品.docx -t <类型>(自动完成格式修复 + check 验证,P0 存在时退出码非 0)。
路径 C / 交付后的用户修改处理
路径 C 生成并交付后,根据用户反馈的不同类型分两种情况处理:
情况一:内容不满意(措辞/结构/逻辑/语气)
用户说"改个措辞""润色一下""太啰嗦了""理顺内容""整体不太满意""逻辑不顺" → 统一走路径 B
optimize-content路径 B 能处理从措辞润色到段落重组的全部内容修改需求。结构调整通过
--background和--context参数传达重组意图,LLM 逐段生成最终文本,产物保留红色标注+删除线+修改说明。用户确认优化内容后,即代表同意进入路径 A 做格式合规修复,Agent 直接执行
check → optimize → check生成无标记成品文档,无需额外询问。
情况二:格式不满意/不涉及内容
用户说"字体不对""行距有问题" → 走路径 A
optimize仅修排版不改文字。
定稿
用户确认内容与格式均无异议 → 进入五角色审稿机制(附流程图) 红头法定公文走完整版5角色,内部材料走精简版3角色。
决策流程(无"回 C 第一步"分支):
路径 C 产出成品 │ ▼ 用户反馈 ├─ 内容不满意(措辞/结构/逻辑/语气) │ → 统一走路径 B optimize-content │ (三步思考法 + 修订内容 JSON) │ → 交付红色标注+删除线+楷体说明 对比版 │ → 用户确认内容 ✅ │ → 自动转路径 A:check → optimize → check │ → 交付无标记成品文档 │ ├─ 格式不满意(字体/行距/页边距) │ → 路径 A optimize │ → 交付无标记成品文档 │ └─ 满意/定稿 → 五角色审稿机制
核心设计思路:
内容修改统一由路径 B 承载,所有修改痕迹可视、可追溯、可理解。用户确认内容后自动衔接路径 A 处理格式,无需二次确认。 结构与措辞不再分立——B 的三步思考法和
background/context/perspective完全覆盖结构调整需求。
路径 C / 公文类型选择
不确定类型先 python -m gongwen list-types。用户描述模糊时,按以下映射引导:
| 用户意图 | 推荐类型 | -t 值 |
|---|---|---|
| 告知事项、部署工作、传达政策 | 通知 | notice |
| 向上级请求指示/批准(人/钱/事) | 请示 | request |
| 向上级汇报工作/反映情况 | 报告 | report |
| 不隶属机关之间商洽/问答 | 函 | letter |
| 记载会议情况和议定事项 | 纪要 | minutes |
| 对重要事项做决策 | 决定 | decision |
| 表彰/批评/传达重要精神 | 通报 | bulletin |
| 公布应遵守或周知的事项 | 通告 | announcement |
| 答复下级请示事项 | 批复 | reply |
| 提出见解和处理办法 | 意见 | opinion |
| 年度/季度/专项工作总结 | 总结 | summary |
| 工作计划/实施方案 | 方案/计划 | work_plan |
路径 C / 段落结构模板
以下为常用公文类型的标准段落骨架。Agent 应按骨架生成 Markdown 草稿,用 [ ] 标注待填项,引导用户提供必要信息。
C1. 通知
C1a. 事项通知
标题格式:关于[事项]的通知
主送:[主送机关全称/规范化简称]:
导语标准句式:
为[目的/依据],根据[政策依据/文件名称],现就[事项]通知如下:
正文骨架:
一、[总体要求/背景意义] [简要说明事项的重要性和必要性,1-2句] 二、[具体内容一] [详细说明第一项具体安排或要求] 三、[具体内容二] [详细说明第二项具体安排或要求] 四、[保障措施/工作要求] [组织保障、督促检查、时间节点等]
结尾规范用语:特此通知。 或直接以正文最后一条结束(不加结尾语)。
落款格式:
[发文机关全称] 二〇二六年七月二十六日
C1b. 会议通知
标题格式:关于召开[会议名称]的通知
主送:[参会单位/人员]:
导语标准句式:
为[会议目的],经[批准机关/领导]同意,定于[日期]召开[会议名称]。现将有关事项通知如下:
正文骨架:
一、会议时间 [年]年[月]月[日]日(星期[X])[上/下]午[X]时[安排说明] 二、会议地点 [详细地址、楼层、会议室名称] 三、参会人员 [列出参会单位、职务要求、人数] 四、会议议程 (一)[议程一] (二)[议程二] (三)[议程三] 五、有关事项 (一)请各单位于[日期]前将参会人员名单报[报送单位/联系方式]。 (二)参会人员请提前[时间]入场,遵守会场纪律。 (三)[其他注意事项,如着装、材料准备等]
结尾规范用语:特此通知。
落款格式:同 C1a。
C1c. 任免通知
标题格式:关于[姓名]等[人数]名同志任免职的通知 或 关于[姓名]同志任职的通知
主送:[主送机关]:
导语标准句式:
经[决定机关/会议名称]研究决定:
正文骨架:
[姓名]同志任[职务名称]([职级]); 免去[姓名]同志的[原职务]; [如多人,依次列出]
结尾规范用语:特此通知。
落款格式:同 C1a。
C2. 请示
C2a. 事项请示
标题格式:关于[事项]的请示
主送:[上级机关全称]:
导语标准句式:
为[目的/背景],现就[事项]请示如下:
正文骨架:
一、请示事项 [简明说明需要批准的具體事项] 二、事由和依据 (一)[必要性说明] [阐述为什么要做这件事,政策依据、上级要求、现实需要等] (二)[可行性分析] [已具备的条件、前期准备工作、风险评估等] (三)[预期效果] [预期达成的目标、产生的效益等] 三、具体方案 [方案要点,涉及人/财/物/时间/地点等关键要素]
结尾规范用语:
妥否,请批示。
或:
以上请示如无不妥,请转发[XXX]执行。
落款格式:
[请示机关全称] 二〇二六年七月二十六日
C2b. 经费请示
标题格式:关于申请[项目/事项名称]经费的请示
主送:同 C2a。
导语标准句式:
为[目的],根据[依据],特申请[项目名称]经费[金额]万元(大写:人民币[大写金额]元整)。现将有关情况请示如下:
正文骨架:
一、项目概况 [项目名称、实施单位、项目周期、总体目标] 二、经费需求及测算依据 (一)经费总需求:[金额]万元 (二)经费明细: 1. [科目一]:[金额]万元,用于[用途] 2. [科目二]:[金额]万元,用于[用途] 3. [科目三]:[金额]万元,用于[用途] (三)测算依据:[列出定价标准、市场询价、历史同类项目等] 三、预期效益 [经济效益/社会效益/工作效益] 四、资金筹措情况 [自筹/其他来源情况说明]
结尾规范用语:同 C2a。
C3. 报告
C3a. 工作报告
标题格式:关于[工作名称/时间段]工作情况的报告
主送:[上级机关全称]:
导语标准句式:
根据[依据/通知要求],现将[工作名称]有关情况报告如下:
正文骨架:
一、工作进展情况 [整体概述,1-2句] 二、主要做法及成效 (一)[做法一]:[成效和数据] (二)[做法二]:[成效和数据] (三)[做法三]:[成效和数据] 三、存在的主要问题 (一)[问题一] (二)[问题二] 四、下一步工作计划 (一)[计划一] (二)[计划二] (三)[计划三]
结尾规范用语:特此报告。
落款格式:
[报告机关全称] 二〇二六年七月二十六日
C3b. 情况报告
标题格式:关于[事件/情况]的报告
主送:同 C3a。
导语标准句式:
[时间],[地点]发生[事件描述]。现将有关情况报告如下:
正文骨架:
一、基本情况 [事件发生时间、地点、涉及人员/单位、当前状态等客观事实] 二、已采取的措施 (一)[措施一] (二)[措施二] (三)[措施三] 三、原因分析 (一)[直接原因] (二)[间接原因/深层问题] 四、下一步工作建议 (一)[建议一] (二)[建议二]
结尾规范用语:特此报告。
C4. 函
C4a. 商洽函
标题格式:关于[商洽事项]的函
主送:[主送机关全称]:
导语标准句式:
为[目的/背景],现就[事项]有关事宜函告如下,请予协助为盼。
正文骨架:
一、[事项背景/事由] [简要说明来函原因和需要对方配合的事项] 二、[具体内容] [商洽事项的具体安排、时间节点、分工要求] 三、[联系方式/后续安排] [联系人、联系电话、反馈截止时间等]
结尾规范用语:
此函。
或:
盼复。此函。
落款格式:
[发函机关全称] 二〇二六年七月二十六日
C4b. 询问函
标题格式:关于[询问事项]的函
主送:同 C4a。
导语标准句式:
[来函背景说明]。现就以下事项函询,请予答复为盼。
正文骨架:
一、[询问事项一] [具体问题描述,注意措辞不预设答案] 二、[询问事项二] [具体问题描述] 三、[答复要求] [请于[日期]前以书面形式函复,联系人:[姓名],联系电话:[电话]]
结尾规范用语:恳请函复。此函。
C4c. 答复函
标题格式:关于[答复事项]的复函
主送:同 C4a。
导语标准句式:
贵单位《关于[原函标题]的函》([原发文号])收悉。经研究,现就有关问题函复如下:
正文骨架:
一、关于[问题一] [答复意见] 二、关于[问题二] [答复意见] 三、关于[问题三] [答复意见]
结尾规范用语:此复。 或 特此函复。
C5. 纪要(会议纪要)
标题格式:[会议名称]会议纪要 或 关于[会议议题]的会议纪要
主送:会议纪要一般无主送机关(可不写),或以"发送:"形式列出。
导语标准句式:
[时间],[主持人姓名+职务]在[地点]主持召开[会议名称]。[参会人员名单]。现将会议有关情况纪要如下:
正文骨架:
一、[议题一] [讨论情况概述] 议定事项: (一)[议定事项一] (二)[议定事项二] 二、[议题二] [讨论情况概述] 议定事项: (一)[议定事项一] (二)[议定事项二] 三、会议要求 [后续工作安排、责任分工、完成时限]
结尾规范用语:会议纪要一般不加结尾语。可选:以上纪要,请各单位遵照执行。
落款格式:会议纪要一般不加落款单位和日期(已在导语中写明时间信息)。如需落款,格式同其他文种。
C6. 党组会议汇报材料(高频文种)
标题格式:关于……工作进展情况及下一步工作建议的汇报
题头(第一行):[单位名称]党组202X年第X次会议材料议题之X(Times New Roman,题头用)
汇报单位:华文楷体,居中(位于标题和正文之间)
主送:委党组:
导语标准句式:
根据会议安排,现将……汇报如下。
正文骨架:
一、[工作背景/总体情况] [简要说明背景、任务来源] 二、[主要工作进展情况] (一)[进展一] (二)[进展二] (三)[进展三] 三、存在的主要问题 (一)[问题一] (二)[问题二] 四、下一步工作建议 (一)[建议一] (二)[建议二]
关键格式特征(区别于其他文种):
| 元素 | 字体 | 字号 | 对齐 |
|---|---|---|---|
| 题头 | Times New Roman | 16pt | 左对齐(固定内容) |
| 标题 | 方正小标宋简体 | 22pt | 居中 |
| 汇报单位 | 华文楷体 | 16pt | 居中 |
| 主送 | 仿宋_GB2312 | 16pt | 顶格 |
| 一级标题 | 黑体 | 16pt | 顶格(一、二、三) |
| 二级标题 | 楷体_GB2312 | 16pt | 首行缩进2字((一)(二)) |
| 正文 | 仿宋_GB2312 | 16pt | 首行缩进2字,两端对齐 |
| 落款单位 | 华文楷体 | 16pt | 居中 |
| 日期 | 仿宋_GB2312 | 16pt | 右对齐 |
结尾规范用语:汇报材料一般不加结尾语,或:以上汇报,请审阅。
C7. 讲话稿 / 主持词(高频文种)
标题格式:[会议名称]主持词 或 在[会议名称]上的讲话
导语标准句式(主持词):
同志们: 现在开会。 今天召开[会议名称],主要任务是[会议目的/任务]。
正文骨架(讲话稿):
同志们: 今天我们召开[会议名称],主要任务是[概括会议目的]。下面,我讲几点意见。 一、[总体要求/提高认识] (一)……[分析形势、强调重要性] (二)……[统一思想、提高认识] 二、[重点任务/工作部署] (一)[任务一] (二)[任务二] (三)[任务三] 三、[组织保障/工作要求] (一)[要求一] (二)[要求二] (三)[要求三] 同志们,[总结号召,鼓舞士气]。 谢谢大家!
主持词典型结构:
一、宣布开会 [宣布会议开始,介绍会议背景和目的] 二、介绍参会人员 [介绍出席领导、参会单位及人员] 三、会议议程 [按议程逐项主持] 四、总结讲话 [对会议进行简要总结,提出贯彻落实要求] 五、宣布散会
参考样例:机关单位工作会议主持词完整模板(可直接套用,替换
[xxx]占位内容)
图一:会议前半段(开场 → 汇报 → 引入讲话)
一、宣布开会 同志们: 现在开会。 今天召开[会议名称],主要任务是:学习贯彻上级关于[主题]的决策部署和工作要求, 回顾总结[时间段]工作,分析当前形势和存在的问题,统筹安排下一阶段重点任务。 二、介绍参会人员 出席今天会议的有:[出席领导职务+姓名],机关全体人员、各单位主要负责同志等。 三、会议议程 今天的会议共有两项议程: 第一项:请各部门汇报[主题]工作; 第二项:请[领导职务+姓名]作重要讲话。 四、汇报环节(过渡语 · 循环使用) "首先,请[部门一]汇报工作。" "下面,请[部门二]汇报工作。" "现在,请[部门三]汇报工作。" 五、汇报点评 刚才,[X个]部门分别汇报了[主题]工作。 总的来看,大家的汇报客观准确——成绩说得透、问题找得准、思路理得清。 回顾过去[时间段],各项工作取得了明显成效,值得肯定; 分析存在的问题,大家的认识是深刻的、分析是透彻的; 下一步的谋划,目标明确、思路清晰、措施有力。 希望大家相互借鉴、取长补短,把好的做法坚持下去,把存在的问题解决到位。 六、引入领导讲话 本次会议的核心要义,集中体现在[领导职务+姓名]的重要讲话中。 下面,让我们以热烈的掌声,请[领导职务+姓名]作重要讲话。 ([领导讲话]) 七、贯彻落实讲话 刚才,[领导职务+姓名]围绕[主题],从三个层面作了深刻阐述和全面部署, 站位高远、思想深刻、要求具体,具有很强的指导性和针对性, 大家要认真学习领会,结合实际抓好贯彻落实。
图二:会议后半段(贯彻落实 → 总结号召)
八、三点强调 第一,迅速传达,推动会议精神落地见效。 会后,各部门要立即组织传达学习本次会议精神,特别是[领导职务+姓名]的重要讲话, 把思想和行动统一到会议的部署要求上来,确保会议精神传达到位、理解到位。 第二,把握重点,聚焦关键任务落地见效。 对照会议确定的目标任务,逐项分解、逐项落实。 要聚焦[核心任务一]、[核心任务二]等重点工作,制定时间表、路线图, 确保各项任务按时保质完成。 第三,压实责任,强化组织保障落地见效。 各部门主要负责同志要亲自抓、负总责,分管领导要具体抓、抓到位。 建立健全工作台账,实行周调度、月通报,确保各项工作有序推进。 九、总结号召 同志们,做好[主题]工作,任务艰巨、责任重大。 让我们坚定信心、锐意进取,发扬实干精神, 推动各项工作取得新成效,为[总体目标]作出新的更大贡献! 散会。
参考样例:年度工作部署会主持词(三段式结构:开场 → 议程推进 → 总结贯彻)
同志们: 现在开会。 今天召开[会议名称],主要任务是:深入学习贯彻[上级精神],回顾总结[时间段]工作, 分析当前形势,安排部署[年度/下一阶段]重点任务, 动员全体干部职工统一思想、凝聚共识、真抓实干, 推动[主题]工作再上新台阶。 出席今天会议的有:[出席领导],机关全体干部职工,各单位主要负责同志。 今天的会议共有[X]项议程。 首先,请[部门/领导]部署[任务一]。 ([发言]) 下面,请[部门/领导]部署[任务二]。 ([发言]) 现在,进行最后一项议程,请[主要领导职务+姓名]作重要讲话。 ([领导讲话]) 刚才,[领导姓名]从[X]个方面系统总结了[时间段]工作, 站位高远、要求明确,总结全面、分析深刻、部署具体, 具有很强的指导性和可操作性,大家要认真学习领会,抓好贯彻落实。 下面,就贯彻落实本次会议精神,我提三点意见: 第一,迅速传达,在统一思想中凝聚合力。 会后各部门要立即组织传达学习本次会议精神,特别是[领导姓名]的重要讲话, 把思想和行动统一到会议决策部署上来,确保会议精神传达到每一个干部职工。 第二,分解任务,在压实责任中推动落实。 对照会议确定的目标任务,逐项分解、逐项落实。 要结合本部门实际,制定时间表、路线图,明确责任人, 实行挂图作战、销号管理,确保各项任务落地见效。 第三,真抓实干,在攻坚克难中开创新局。 [年度/下一阶段]工作任务重、要求高,各部门要发扬钉钉子精神, 一项一项抓推进、一件一件抓落实。 领导干部要带头深入一线、靠前指挥,推动各项工作落到实处、取得实效。 同志们,做好[主题]工作,责任重大、使命光荣。 让我们进一步统一思想、明确目标、凝聚共识, 以更加坚定的信心、更加有力的举措、更加务实的作风, 推动[主题]工作取得新的更大成效! 散会。
常见句式库:
| 场景 | 常用句式 |
|---|---|
| 宣布开会 | 现在开会。 / 同志们,现在开始开会。 |
| 介绍议程 | 今天的会议共有[X]项议程: |
| 请人发言 | 下面,请[姓名/单位]发言。 / 下面,进行会议第[X]项议程: |
| 总结 | 刚才,[姓名/单位]从[X]个方面……讲得都很好。 / 会议至此圆满结束。 |
| 宣布散会 | 散会。 |
格式特征:
| 元素 | 字体 | 字号 | 对齐 | 说明 |
|---|---|---|---|---|
| 标题 | 方正小标宋简体 | 24pt(比公文标题略大) | 居中 | 主持词/讲话稿主标题 |
| 主持人信息 | 楷体_GB2312 | 18pt | 居中 | "主持人:[姓名]" 或 "[职务+姓名]" 单独一行 |
| 时间 | 楷体_GB2312 | 18pt | 居中 | "2026年7月X日" 单独一行 |
| 称谓(同志们) | 仿宋_GB2312 | 18pt | 两端对齐 | 顶格书写 |
| 正文 | 仿宋_GB2312 | 18pt | 两端对齐,首行缩进2字符 | |
| 讲话要点标题 | 黑体 | 18pt | 首行缩进2字 | 一、二、三 等层次标题 |
| 议程导引 | 仿宋_GB2312 | 18pt | 两端对齐 | "首先""下面""现在"等过渡语 |
讲话稿(speech)与主持词(host_speech)格式差异(以最终版定稿为准):
- 页边距:讲话稿用国标默认(上3.7/下3.5/左2.8/右2.6cm);主持词与普通公文一致(上2.8/下2.8/左2.7/右2.7cm)。
- 署名/日期行距:讲话稿 35pt;主持词 30pt(均楷体_GB2312 18pt 居中)。
- 正文:均为仿宋_GB2312 18pt 不加粗、行距 30pt exact、首行缩进 2 字;主持词议程引导句可局部加粗。
- 一级标题(一、…)黑体 18pt;二级标题(第一…/一是…)楷体_GB2312 18pt,均为行距 30pt、首行缩进 2 字。
C8. 调研函 / 征求意见函(高频文种)
标题格式:关于征求[事项]意见的函
正文骨架:
[主送单位]: 为[目的],根据[依据],现将[事项]印发你们,请结合实际提出修改意见,并于[日期]前书面反馈至[反馈单位]。 附件:1.[附件名称一] 2.[附件名称二]
常见变体("致函"格式):
抬头用发文机关全称红头(方正小标宋简体 48-51pt,居中),次行发文字号,再行标题。
结尾规范用语:此函,请予支持为盼。 / 恳请函复。
落款格式:
[发文机关全称] 二〇二六年七月二十六日
联系人/电话格式(函件特有):
(联系人:[姓名];联系电话:[电话号码])
C9. 会议议题材料(高频文种)
与会议通知的区别:会议通知是发出去召集参会、需反馈人员名单的正式发文;会议议题材料是根据已收到的参会名单拟定的开会用材料,放在桌上供参会人使用。通知走发文流程(红头、文号),议题材料走会务流程(题头、议题编号)。
题头(固定格式):[单位名称]党组202X年第X次会议材料议题之X(Times New Roman 16pt,左对齐)
标准结构:
[单位名称]党组202X年第X次会议材料议题之X ← 题头,Times New Roman 16pt 关于……工作进展情况及下一步工作建议的 ← 方正小标宋简体 22pt 居中 汇 报 ← 两行标题,同上 XX处 ← 华文楷体 16pt 居中 根据会议安排,现将……汇报如下。 ← 正文仿宋 16pt 一、……工作进展情况 ← 一级标题 黑体 16pt (一)…… ← 二级标题 楷体 16pt (二)…… 二、存在的主要问题 (一)…… (二)…… 三、下一步工作建议 (一)…… (二)……
四种议题式样:
| 式样 | 适用场景 | 正文结构 |
|---|---|---|
| 式样1 | 传达会议精神 | 会议概况 → 主要精神(会议认为/指出/强调/要求)→ 贯彻落实建议 |
| 式样2 | 贯彻文件精神 | 文件概况 → 主要内容 → 贯彻落实建议 |
| 式样3 | 审议文件方案 | 起草背景 → 主要内容 → 征求意见情况 → 需要说明的事项 → 请求事项 |
| 式样4 | 汇报工作进展 | 工作概况 → 进展情况 → 存在问题 → 下一步建议 |
格式特征:
| 元素 | 字体 | 字号 | 对齐 |
|---|---|---|---|
| 题头 | Times New Roman | 16pt | 左对齐 |
| 标题 | 方正小标宋简体 | 22pt | 居中 |
| 汇报单位 | 华文楷体 | 16pt | 居中 |
| 一级标题(一、二、三) | 黑体 | 16pt | 两端对齐 |
| 二级标题((一)(二)) | 楷体_GB2312 | 16pt | 首行缩进2字符 |
| 正文 | 仿宋_GB2312 | 16pt | 首行缩进2字符,两端对齐 |
| 西文/数字 | Times New Roman | 16pt | — |
常见用语:
| 场景 | 常用句式 |
|---|---|
| 导语 | 根据会议安排,现将……汇报如下。 |
| 传达会议精神 | X月X日,……会议在……召开。会议认为……会议指出……会议强调……会议要求…… |
| 审议文件 | 现将《……(送审稿)》起草情况汇报如下。 / 提请会议审议《……》。 |
| 汇报进展 | 现将……工作有关情况汇报如下。 / 一是…… 二是…… |
| 请求 | 提请会议审议。会后,我们将根据会议精神进一步修改完善。 |
C10. 会议方案(以函发出)
与会议通知的关系:会议方案是包含会议通知的方案性文件,通常以函的形式发往相关单位。通知是"请你来参会",方案是"会议安排如下"——方案更完整,含时间、地点、议程、参会单位、任务分工、保障措施等。方案以函的形式发出,主送相关单位。
发文形式:以函发出,需发文字号、红头(方正小标宋简体 48-51pt)
完整结构:
发文机关红头 ← 方正小标宋简体 48pt 居中 发文字号 ← Times New Roman 16pt 关于召开[会议名称]会议方案 ← 方正小标宋简体 22pt 居中 [主送单位]: 为[目的],根据[依据],经[批准机关]同意,现定于[时间]召开[会议名称]会议,并制定如下方案。 一、会议时间 [年]年[月]月[日]日(星期[X])[上/下]午[X]时,会期[X]天 二、会议地点 [详细地址、会议室名称] 三、参会人员 (一)[单位/人员类别一]:[人数]人 (二)[单位/人员类别二]:[人数]人 (三)[单位/人员类别三]:[人数]人 (共约[X]人) 四、会议议程 (一)[议程一]:[内容说明,约X分钟] (二)[议程二]:[内容说明,约X分钟] (三)[议程三]:[内容说明,约X分钟] (四)[研讨/交流] (五)[总结讲话] 五、有关事项 (一)请各单位于[日期]前将参会人员名单报[报送单位]。 (二)参会人员请提前[X]分钟入场。 (三)[其他事项] 六、组织保障 (一)[责任分工] (二)[后勤保障] (三)[安全预案] 附件:[相关材料清单] [发文机关全称] 二〇二六年七月二十八日
格式特征:
| 元素 | 字体 | 字号 | 对齐 |
|---|---|---|---|
| 红头(发文机关) | 方正小标宋简体 | 48-51pt | 居中 |
| 发文字号 | Times New Roman | 16pt | — |
| 标题 | 方正小标宋简体 | 22pt | 居中 |
| 主送单位 | 仿宋_GB2312 | 16pt | 顶格 |
| 一级标题(一、二、三) | 黑体 | 16pt | 顶格 |
| 正文 | 仿宋_GB2312 | 16pt | 首行缩进2字符 |
| 落款/日期 | 仿宋_GB2312 | 16pt | 右对齐 |
常见用语:
| 场景 | 常用句式 |
|---|---|
| 导语 | 为…,根据…,经…同意,现定于…召开…会议,并制定如下方案。 |
| 议程表述 | (一)[议程]:[内容说明,约X分钟] |
| 参会人数 | 共约[X]人 |
| 回执要求 | 请各单位于[日期]前将参会人员名单报[报送单位] |
| 结尾 | 此函,请予支持为盼。 |
各类公文的常用开头和结尾标准句式速查:
| 文种 | 常用开头 | 常用结尾 |
|---|---|---|
| 通知 | 为…,根据…,现就…通知如下: | 特此通知。 |
| 请示 | 为…,现就…请示如下: | 妥否,请批示。/ 请审批。 |
| 报告 | 根据…,现将…报告如下: | 特此报告。 |
| 函(去函) | 为…,现就…函告如下: | 此函。/ 盼复。 |
| 函(复函) | 贵单位《…》(文号)收悉。…函复如下: | 此复。/ 特此函复。 |
| 批复 | 你单位《…》(文号)收悉。经研究,批复如下: | 此复。 |
| 纪要 | [时间] [主持人]在[地点]主持召开… | (一般无结尾) |
| 通报 | 为…,现将…通报如下: | 特此通报。 |
| 决定 | 根据…,决定如下: | 本决定自发布之日起施行。 |
| 意见 | 为…,现提出如下意见: | (一般无固定结尾) |
路径 C / 风格选择
生成公文时同样适用路径 B 的 8 种风格词典。Agent 应根据公文类型和用户要求选择匹配风格:
| 公文场景 | 推荐风格 | 依据 | 常用句式/用语特征 |
|---|---|---|---|
| 向下级部署工作的通知 | 庄重严谨 + 简洁精炼 | 权威简洁 | 为…,根据…,现就…通知如下: |
| 向上级的工作报告 | 务实汇报 + 逻辑严密 | 数据驱动,条理清晰 | 根据…,现将…报告如下: / 特此报告。 |
| 向平级单位的函 | 庄重得体 | 尊重谦逊 | 此函,请予支持为盼。 / 恳请函复。 |
| 请示 | 请示恳切 | 有理有据 | 妥否,请批示。 / 以上请示如无不妥,请转发… |
| 动员部署 | 动员激励 + 庄重严谨 | 鼓动力与权威感 | 同志们,…下面,我讲几点意见。 |
| 党组会汇报 | 务实汇报 + 庄重严谨 | 事实+数据+问题+建议 | 根据会议安排,现将…汇报如下。 / 以上汇报,请审阅。 |
| 讲话稿/主持词 | 庄重得体 + 动员激励 | 口语化与正式表达结合 | 同志们,现在开会。 / 下面,我就…讲几点意见。 / 散会。 |
| 调研函/征求意见函 | 庄重得体 | 平行文,平等协商 | 为…,现将…印发你们,请提出修改意见。 / 此函。 |
| 年度总结 | 总结回顾 + 务实汇报 | 客观全面 | 现将…总结如下。 / 特此总结。 |
附录一:25 种公文类型(-t 参数)
|--------|--------|--------|--------|
| notice | 通知 | request | 请示 |
| report | 报告 | letter | 函 |
| meeting | 会议纪要 | minutes | 纪要 |
| decision | 决定 | announcement | 通告 |
| notice_public | 公告 | command | 命令 |
| bulletin | 通报 | bill | 议案 |
| reply | 批复 | instruction | 指示 |
| regulation | 制度 | communique | 公报 |
| opinion | 意见 | summary | 总结 |
| work_plan | 方案/计划 | table_sign | 桌签 |
| technical_proposal | 技术方案 | resolution | 决议 |
| speech | 讲话稿 | news | 新闻稿/简报 |
| host_speech | 主持词 | | |
news(新闻稿/简报)特殊规则(提质方案 v2.1 问题一):标题为事件陈述式(≤35 字,含时间/地点/事件三要素,不做精简),非法定公文"事由+文种式"(≤20 字)。标题支持两种模式:专题会议式(
{部门/工作}+{会议类型}+在{地点}+召开)与常规会议式({机构}+{部门}+第{序次}次+{会议类型}+召开)。不检查主送机关/落款/附件说明等法定要素;必检:人名/职务/机构名准确性、时间一致性、逻辑闭环(听取→指出→强调→要求)、稿源/编辑信息。
不确定类型先 python -m gongwen list-types。
附录二:跨平台调用说明
本 Skill 支持两种调用方式,在 CLI 和 AI 对话(如豆包 / Marvis / Coze)中均可用。
方式一:CLI 直接调用
适用于本地命令行或脚本自动化:
bashpython -m gongwen optimize 文件.docx -o 成品.docx -t report python -m gongwen optimize-content 文件.docx --changes 修订内容
方式二:Agent 对话调用,无执行权限
适用于 AI 对话助手(豆包、Marvis 等),Agent 应:
- 先走「用户交互指引」三步确认路径
- 用
shell_executor执行 CLI 命令(路径 A/C)或按路径 B 流程逐步处理 - 路径 B 时:先用 python-docx 读格式 → LLM 分析 → 写 修订内容 → 调
optimize-content→ 告知用户产物路径 - 执行后验证产物并展示关键指标(修复数、变更数、格式问题)
路径 B 对话流程示例
用户: 帮我优化这个公文的表达 Agent: [先确认是格式优化还是内容优化] 用户: 内容优化 Agent: [读取原文档格式 → LLM 分析生成 修订内容 → 执行 optimize-content] Agent: 已生成对比版,共 6 处变更,字体/行距均继承原文档。 文件路径:C:\...\关于XX的通知+庄重严谨+2026-07-25+v1.docx 文档末尾已标注 AI 生成声明。 Agent: 是否需要对此对比文档走格式优化,生成排版合规的无标记成品? 用户: 要 / 不用 → "要" → 独立执行路径 A,生成 `修订版+关于XX的通知+2026-07-25+v1.docx` → "不用" → 流程结束
附录三:常见问题与排错
| 问题 | 原因 | 解决 |
|---|---|---|
| 对比文档字体/行距与原文档不一致 | get_effective_font 回退到了 ASCII 字体 | 检查 parser_format.py 的 _safe_pt2 和行距解析 |
| 删除线不生效 | RunFormat 缺少 strikethrough 字段或 pipeline 未传递 | 确保 models.py → generator.py → optimizer.py 三处都处理了 strikethrough |
| 修订内容 JSON 解析失败 | 中文引号/特殊字符未正确转义 | 用 json.dump 写入,确保 ensure_ascii=False |
| 对比文档末尾无声明 | CLI 传了 --disclaimer "" 或 None 覆盖默认值 | 不传 --disclaimer 即使用默认声明 |
附录四:使用红线
- 不伪造、冒用真实机关正式发文;生成物仅为草稿,正式发文须走审核流程
- 不编造政策依据、数据、结论、人事信息(领导姓名/机构全称/职务/文号/人物姓名);缺失信息用
XXX占位 - 涉密材料先脱敏再处理
- 内容优化必须逐段标注修改说明和依据,不允许无痕覆盖
附录五:项目仓库
- 父项目(桌面应用 + 完整引擎):https://github.com/linhut/document-ai-assistant
- 本 Skill(精简 CLI 版):嵌入在
document-skills/gongwen-skill/目录 - 引擎核心目录:
engine/core/document/(parser / generator / modifier / models / font_utils)
版权:(c) 2026 Jose AI(https://www.linhut.cn),MIT 许可证。完整命令与架构见 REFERENCE.md。


