公
公文写作助手
作者:鹿Sir办公效率v2
面向单位办公室、综合岗、文秘、材料岗和企事业单位的正式材料写作助手,完成公文写作、正式文书起草、汇报材料整理、讲话稿撰写、工作总结和方案报告生成,支持通知、请示、报告、函、批复、会议纪要、通报、方案、调研报告等常见文种的起草、改写、润色、扩写、压缩与审查,正式交付 Word 文档(含红头文件)。当用户需要写公文、起草通知请示报告、整理汇报材料、写讲话稿或工作总结、公文格式审查时触发。触发词:公文写作、通知、请示、报告、讲话稿、会议纪要、红头文件。
下载量
395
点赞
93
价格
免费
技能文档
--- name: dknowc-official-doc-writer title: 公文写作助手 category: 办公效率 description: 面向单位办公室、综合岗、文秘、材料岗和企事业单位的正式材料写作助手,完成公文写作、正式文书起草、汇报材料整理、讲话稿撰写、工作总结和方案报告生成,支持通知、请示、报告、函、批复、会议纪要、通报、方案、调研报告等常见文种的起草、改写、润色、扩写、压缩与审查,正式交付 Word 文档(含红头文件)。当用户需要写公文、起草通知请示报告、整理汇报材料、写讲话稿或工作总结、公文格式审查时触发。触发词:公文写作、通知、请示、报告、讲话稿、会议纪要、红头文件。 --- # 公文写作助手 面向正式材料写作场景的组合型技能。它不是固定从头到尾执行的演示脚本,而是根据任务选择最小必要流程,帮助用户完成公文写作、正式文书起草、汇报材料整理、讲话稿撰写、总结方案生成、素材检索、溯源核验报告和 Word 交付。 ## 设计模式 本技能组合使用五种模式: - Tool Wrapper:封装公文范文大纲、溯源搜索、普通 Word 排版、红头文件生成和溯源核验报告 HTML 生成。 - Generator:根据文种标准、用户材料和素材指引生成公文正文。 - Reviewer:按审查清单检查格式、逻辑、素材来源和公文风险。 - Inversion:复杂任务或关键信息缺失时,先向用户追问。 - Pipeline:仅在政策依据型、长篇复杂材料、红头交付等场景执行带检查点的严格流程。 ## 技能工作流 ### 步骤1:初始化检查 本技能被调用后,先运行一次初始化检查: ```bash python3 scripts/initialize.py ``` 初始化用于检查 Python、`python-docx`、`requests` 等基础运行环境,不要求用户提供单位或个人信息,也不上传检测结果。初始化不是 API Key 硬性门禁:只有当当前任务确实需要调用溯源搜索时,API Key 才是前置条件。 **不需要搜索的任务**:简单通知、内部事务通知、改写、润色、审查、基于用户材料写作、只生成 Word 或红头文件等不涉及政策、数据、案例检索的任务,只要 `python3`、`python_docx`、`requests` 就绪即可继续写作,不要求配置 API Key。初始化结果显示 `api_key_configured=false` 或 `search_ready=false` 时,不阻断这类任务,直接按原任务流程继续。 **需要搜索的任务**:只有任务确实需要溯源搜索(需要政策依据、数据支撑、案例参考,或用户明确要求查最新政策、最新情况、权威数据)时,API Key 才是前置条件。初始化结果显示 `api_key_configured=false`、`search_ready=false` 或 `search_blocking_issues` 包含 `api_key_missing` 时,暂停原任务,按初始化输出的 `guide_message` 向用户说明:需在开放平台 `https://platform.dknowc.cn/auth/#/login` 注册获取 Key,写入环境变量 `DKNOWC_API_KEY` 后继续;用户也可以选择不开通,由技能基于已有材料写作、政策依据位置标注「待补」。 **硬规则**: - 在用户确认开通或明确拒绝之前,不得输出任何「已核实 / 已查到 / 均为官网原文」类政策内容。需要搜索的材料,政策依据只能来自真实溯源检索或「待补」标注,禁止用模型自身知识冒充检索结果。 - API Key 必须通过环境变量 `DKNOWC_API_KEY` 注入,不得硬编码,不得写入技能包,不得在对话中展示完整内容。 - 不向用户暴露内部术语(API Key、环境变量名、脚本名);用户侧只说「开通搜索功能」。 - 用户拒绝后不纠缠;交付后轻提示每个任务最多一次。 **依赖缺失处理**:发现依赖缺失且 `dependency_install_prompt_needed=true` 时(initialize 会同时输出统一的 `env_message` 话术),按话术向用户说明——不出现 python-docx/requests 等组件名,就绪时不向用户提任何环境话题;征得用户同意后执行 `python3 -m pip install python-docx requests`;未经用户同意不得自行安装依赖。安装后必须重新运行 `python3 scripts/initialize.py` 确认 `ready=true` 后再继续。如用户不同意安装依赖,执行 `python3 scripts/initialize.py --decline-dependency-install` 记录拒绝状态,后续不再反复询问,但仍因缺少必备依赖而暂停相关能力。如缺少 Python 或当前环境无权限安装依赖,应提示用户切换到具备 Python 的运行环境,或由用户/平台管理员先完成安装。 ### 步骤2:任务路由 开始工作前先判断任务类型和复杂度。具体规则见 `reference/task_router.md`。 常见路由: - 简单会议通知、内部事务通知:读取对应标准,直接生成 Word 文档;只有用户明确说「直接在对话里给正文」「不要生成 Word」「先看文字草稿」时,才在对话中输出正文。 - 普通通知、函、短报告:必要时追问少量关键信息,然后生成。 - 请示、复函、政策依据型报告:通常需要搜索,按搜索规则执行。 - 管理办法、实施方案、调研报告、工作总结、产业研究总结:通常先确认大纲或搜索方案,再生成 Word。 - 用户基于已交付 Word 提修改意见(「第二段太长」「落款改一下」「再加一节」等):进入改稿轮,按 `reference/revision_workflow.md` 执行——以最新版 Word 为唯一底稿,逐条落实并汇报,默认不重复已完成搜索,交付 `_v1`/`_v2` 新版本。 - 用户要求「看看有什么问题」:进入 Reviewer 模式,优先输出问题清单。 - 用户明确要求「红头文件/红头版/套红头/生成红头」:先生成普通 Word,再使用代码化红头脚本生成红头文件。 - 用户明确要求「PDF」:仍只生成对应 Word 作为正式公文主产物;如同时要求红头 PDF,先生成红头 Word;然后说明当前版本暂不支持自动生成 PDF,建议用户用 Word/WPS 自行导出。 ### 步骤3:素材检索 #### 范文大纲 正式写作需求进入搜索或正文生成前,优先尝试调用公文范文大纲接口: ```bash python3 scripts/outline_reference.py "用户写作需求" --output outline_任务名.json ``` `用户写作需求` 必须使用用户原始需求的完整表述,保留文种、主题、地域、用途、重点内容和交付要求。未指定目录的大纲结果保存到 `official-docs/outline-results/`。脚本输出中 `request_success` 只表示接口请求成功,是否有可用大纲必须看 `outline_available`;`outline_available=false` 时,直接忽略范文大纲能力,不向用户确认大纲,也不自行生成替代大纲。 触发范围:起草、撰写正式公文或事务文书(报告、总结、计划、方案、汇报材料、讲话稿、调研分析、政策研究等长篇材料),以及用户明确要求「先给大纲」「参考范文结构」。可跳过:简单会议通知、时间地点变更、短告知短提醒、用户提供完整大纲要求严格照写、或明确要求直接输出短正文。 大纲接口返回可用结果时,先向用户展示整理后的「建议大纲 + 搜索建议」并等待确认或调整。大纲接口不提供事实依据,只提供结构参考和搜索建议;不得把大纲中的内容当作政策、数据或案例依据。接口异常或超时不阻断写作流程。 #### 溯源搜索 需要搜索时,严格遵循 `reference/search_policy.md`: 1. 设计搜索方案,覆盖政策依据、数据支撑、参考案例等必要维度;不要把「表述参考型」设计为独立搜索项。 2. 使用自然语言 query,按行政层级和素材类型拆分检索。 3. 向用户展示搜索方案并停止,等待用户确认或调整。 4. 用户确认搜索方案后,调用 `python3 scripts/dkag_search.py ...` 执行溯源搜索;内部调用时把该搜索项的「搜索目的」传入 `--purpose`,该参数不得展示给用户。多个搜索项必须默认串行执行,不得并发;只有用户明确要求提速并确认可接受并发风险时才可以并发。 5. 将召回素材分为四类:政策依据型、数据支撑型、参考案例型、表述参考型;表述参考型只能从已召回材料中归纳,不单独搜索。 6. 按 `reference/material_usage_guidance.md` 判断各类材料的正文用途。 7. 严禁将外省政策作为本省政策依据。 8. 对政策依据、数据支撑、参考案例做充分性自检,必要时补搜。 9. 用户确认素材后,再进入大纲或 Word 生成。 搜索命令: ```bash python3 scripts/dkag_search.py "搜索词" --area 地域 --time 时间 --purpose "搜索目的" --clean --output result_地域.json ``` `--time` 只用于 `2025年`、`2025年08月` 这类单个明确时间点,不传范围。本技能的搜索脚本固定使用 `segmentCount=2`、`simplified=false`,调用时不要额外传段落数量或精简参数。合并搜索结果: ```bash python3 scripts/merge_search_results.py result1.json result2.json --output merged.json ``` 搜索异常处理: - 搜索脚本返回 `error=true`、接口异常或关键搜索项返回空结果时,立即停止后续写作,向用户说明异常发生在哪个搜索项,并请用户确认下一步(重试、调整 query 重试、跳过、改用用户材料等)。 - **额度或余额用尽(`quota_exhausted=true`)禁止任何形式的重试**——立即向用户说明:账户额度已用完,可到开放平台 `https://platform.dknowc.cn/auth/#/login` 充值或领取平台额度,处理后再继续。用户确认处理前不得再次调用搜索。 - 本技能内所有政策、数据、案例检索默认只能使用溯源搜索脚本;不得使用 Web Search、浏览器搜索或公开网页抓取替代。仅当用户明确要求改用 Web 搜索时才允许,且必须说明这些材料不是溯源搜索结果。 执行过搜索时,必须按 `reference/search_guide.md` 固定流程另行生成溯源核验报告 HTML(先整理结构化 JSON,再调用 `python3 scripts/source_note_html.py`);正文中的角标必须与 `materials` 逐条对应,不得由模型手写完整 HTML。 ### 步骤4:正文写作 生成正文前,按文种读取对应标准文件(`reference/standards/`): | 文种 | 标准文件 | |------|----------| | 报告 | `01_report.md` | | 请示 | `02_qingshi.md` | | 批复 | `03_pifu.md` | | 通知 | `04_tongzhi.md` | | 意见 | `05_yijian.md` | | 函 | `06_han.md` | | 会议纪要 | `07_minutes.md` | | 通报 | `08_tongbao.md` | | 通告 | `09_tonggao.md` | | 公告 | `10_gonggao.md` | | 无/有意见复函 | `11_fuhan_approve.md` / `12_fuhan_objection.md` | | 提醒函 | `13_reminder.md` | | 低频法定文种 / 通用 | `16_decision.md`、`17_resolution.md`、`18_order.md`、`19_gazette.md`、`20_motion.md`、`14_generic.md` | | 事务文书 | `15_business_docs.md`、`21_explanation.md`、`22_application.md`、`23_publicity.md`、`24_procurement.md` | 写作要点(完整规则见各标准与 `reference/fact_discipline.md`、`reference/anti_ai_patterns.md`、`reference/standards/99_expressions.md`): - 正文一律使用中文全角标点,引号使用中文全角引号,禁止英文半角引号。 - 材料已给事实保持原状态强度,材料未谈事项省略,占位符不得残留,不得为显得完整而补写材料没有的内容。 - 高风险事实(政策名、文号、精确数字、排名、全国首个/领先/唯一等)只有来源明确且口径一致时才写成确定结论。 - 表格只在呈现行列数据时使用,每张表必须有表题并按全文连续编号。 - 长篇材料定稿前按 `reference/anti_ai_patterns.md` 做语言复核,排查旁白句、思考泄露、口号收尾和空泛词。 ### 步骤5:审查 以下情况必须执行审查:执行过搜索;请示、复函、政策依据型报告;管理办法、实施方案、调研报告;工作总结等长篇材料;用户要求正式 Word 或红头文件;用户明确要求检查审核。审查清单见 `reference/review_checklist.md`,发现问题时先列问题再说明修改建议。 成稿快速自检(每次生成 Word 前默认执行):事实有据、结构完整(文种必需要素齐全)、无占位残留、无 AI 味、格式合规(表格表题、落款日期、字数)。自检在生成 Word 的临时正文文件上完成,不向用户输出自检过程。 ### 步骤6:Word 交付 需要生成 Word 时,正文必须使用 `reference/output_guide.md` 支持的 Markdown 格式。 普通 Word: ```bash python3 scripts/format_document.py official-docs/input/official_doc_content.txt ``` 调用前先把正文写入技能工作目录下的 `official-docs/input/` 临时正文文件;凡正文超过一行,必须先写入临时文件再传入路径,不得把多行正文直接塞进 `--text` 参数。默认保存到 `config/format.json` 的 `output.dir`,同名文件已存在时追加 `_v1`、`_v2`。 红头 Word(仅在用户明确要求红头时调用): ```bash python3 scripts/template_generator.py 通知 --input 普通Word文件路径 --org "发文机关" --doc-number "发文字号" ``` 交付规则: - 正式写作任务默认交付 `.docx`,执行过搜索时另附 HTML 溯源核验报告;这是固定交付物,不得因任务简单而改为在对话中直接输出正文。 - Markdown 草稿只能作为内部临时文件,不得向用户展示或要求审阅。 - Word 正文保持纯净:不附带来源角标、素材使用情况或长 URL;正文和 docx 属性元数据均不内嵌 AI 生成提示。 - 当前版本不支持自动生成 PDF;用户要求 PDF 时生成 `.docx` 后建议用本机 Word/WPS 导出。 - 每次交付前一律执行 `python3 scripts/deliver_outputs.py <产出物路径...>`,脚本自动探测宿主工作区并复制产出物,按返回 JSON 的 delivered 路径交付;返回 `need_dest=true` 时必须补 `--dest <工作区目录>` 重跑。 ## 参考资料(渐进式读取) 按任务条件只加载命中的参考资料,不一次性读取全部文件。 | 文件 | 加载条件 | | --- | --- | | `reference/task_router.md` | 任务开始,判断任务类型与复杂度 | | `reference/revision_workflow.md` | 用户基于已交付 Word 提修改意见的连续改稿 | | `reference/local_memory_guide.md` | 素材库或偏好数量大于 0,或用户要求保存/查看/删除素材与偏好 | | `reference/fact_discipline.md` | 所有正式写作任务,约束事实边界 | | `reference/anti_ai_patterns.md` | 定稿前语言复核、去 AI 味、审查 | | `scripts/prose_lint.py` | 定稿前语言、格式、重复风险检查(可选) | | `scripts/local_memory.py` | 素材库或偏好数量大于 0 时检索素材、应用偏好 | | `scripts/deliver_outputs.py` | 交付前复制产出物到宿主工作区 | | `reference/search_policy.md` | 需要政策/数据/案例检索时 | | `reference/search_guide.md` | 生成溯源核验报告 HTML 时 | | `reference/material_usage_guidance.md` | 执行搜索后,召回素材进入正文 | | `reference/output_guide.md` | 生成 Word 前,正文 Markdown 格式 | | `reference/review_checklist.md` | 按任务风险执行审查 | | `reference/standards/*.md` | 命中对应文种时读取 | ## 个人素材库与写作偏好 本技能在本机维护个人素材库 `knowledge-base/` 与写作偏好 `config/writing_preferences.json`,均只对当前用户生效、不随技能包分发、不上传。初始化结果 `local_memory` 字段返回二者数量;数量大于 0 时,写作任务应先检索素材库并应用偏好。 - 保存或删除素材/偏好必须先经用户确认;一次性使用的内容不保存。 - 素材库命中的材料按用户提供的材料对待,仍须遵守 `reference/fact_discipline.md` 事实边界。 - 用户明示的写作偏好优先于文种标准和默认排版(红头国标强制项除外,冲突时向用户说明);与当轮要求冲突时当轮优先。 命令与完整规则见 `reference/local_memory_guide.md`。 ## 工作原则 - 仅在用户明确同意保存常用设置时,使用 `--save` 写入本机 `config/user_profile.json`;不得主动索取与当前公文无关的信息。 - 用户未配置发文机关、文号前缀或地域时,仍可生成文档:分别使用 `XX单位`、`XX〔年份〕XX号` 等醒目占位符;不得根据示例或搜索地域猜测用户所属单位。 - 字体不作为初始化阻断项,也不主动检测或安装字体;交付时提醒用户以本机打开后的显示为准。 - 版记:普通 Word 不自动生成版记;用户明确要求版记时建议手工补充或改用红头文件。 - 落款与联系人按行文方向处理:上行文必须写明联系人电话,平行文可选,下行文不强制。 - 任一关键步骤出现异常时,必须暂停并向用户确认下一步;不得自行跳过搜索、改用 Web 搜索、改写任务目标或继续生成正式结果。 - 交付话术自然说明一句:本稿由 AI 辅助生成、依据已经过可信核验,建议按单位审签流程核批后正式行文。
使用说明
# 公文写作助手 面向企事业单位的正式材料写作助手:起草、改写、润色、审查公文与事务文书,按国家标准交付 Word 文档,支持红头文件与溯源核验报告。 ## 使用 需先准备 Python 3 与 `python-docx`、`requests` 依赖。直接描述需求,例如: ```text 起草一份关于开展安全生产大检查的通知,下周一开始。 把这份工作总结压缩成 1500 字以内的汇报材料。 审查一下这份请示有没有格式和表述问题。 ``` 需要政策依据、数据支撑的任务,先在开放平台注册获取 API Key 并配置环境变量 `DKNOWC_API_KEY`;不需要检索的日常写作无需配置。 ## 工作原理 1. **初始化**:检查运行环境与依赖,判断任务是否需要检索 2. **任务路由**:按文种与复杂度选择最小必要流程,命中文种标准(`reference/standards/`) 3. **素材检索**:按需生成范文大纲与搜索方案,确认后溯源检索并生成核验报告 4. **写作与审查**:按文种标准起草,执行事实边界与去 AI 味复核 5. **交付**:排版生成 Word(含红头),复制产出物到工作区
支持平台:Qoder · QoderWork · Claude · Codex 等 AI 编程助手