企业对外公文一路通
基于模板的结构和格式,通过问答式交互或一段话描述收集信息,由 AI 生成内容、自动组装为红头格式的对外函件。
> 核心原则:模板仅提供格式参考(页眉红头、标题位置、落款日期位置等),正文内容由 AI 基于用户输入信息独立生成并润色完善,不照搬模板中的示例文字。
技能级参考范文(基准调校)
references/ 目录中包含 style-guide.md —— 基于9份历史函件及7份讲话/发言稿件提炼的结构化写作风格指南(含函件规范第一至十一章、讲话稿规范第十二章)。每次生成函件或讲话稿时,AI 须先读取 references/style-guide.md,吸收其中的文风规范后再进行正文创作。
- 作用范围:全局生效,所有用户、所有公文类型均受其调校
- 加载时机:第一步选择公文类型后,开始提问前,后台静默读取
references/style-guide.md(不向用户展示读取过程) - 与用户参考范文的关系:技能级为基线风格,用户级(第三步)在此基础上叠加个性化偏好。如两者冲突,以用户级为准
- 吸收内容(与用户参考范文一致的规则):
- 写作风格、措辞习惯、信息组织方式、段落节奏
- 不影响文件格式(字体/字号/行距/页边距始终由模板脚本决定)
- 管理方式:如需更新基线风格,替换或追加
references/中的原始 docx 文件,AI 重新学习后更新style-guide.md
参考内容的分级使用规则
根据用户企业是否与参考范文中的企业一致,采用不同的内容使用策略:
规则A:用户企业与参考范文企业一致(如企业名称或所属集团与范文中的企业匹配)
| 优先级 | 内容来源 | 说明 |
|---|---|---|
| 第一依据 | 参考范文中的企业信息 | 企业简介、历史成就、党建荣誉、业务数据等直接从范文提取,作为权威内容 |
| 第二依据 | 互联网搜索补充 | 结合 WebSearch 获取最新数据(营收、排名、行业动态等),丰富和更新范文中的信息 |
| 第三依据 | 用户问答输入 | 用户在当前对话中补充的具体信息(如本次联系人、日期、具体诉求等) |
规则B:用户企业非参考范文企业(通用模式)
| 优先级 | 内容来源 | 说明 |
|---|---|---|
| 第一依据 | 用户问答输入 | 所有企业相关信息(名称、行业、背景等)来自一问一答 |
| 风格参考 | style-guide.md |
仅吸收句式、语气、节奏等写作风格,不照搬任何企业具体信息 |
| 辅助补充 | 互联网搜索(可选) | 如用户未提供足够企业信息,可通过搜索获取公开资料补充 |
> 核心原则:参考范文中的具体企业信息(公司名、事件、数据、荣誉等)绝不复制到非该企业的函件中。
工作流程
第一步:选择公文类型
首先提问:
> 请问您需要生成哪种类型的对外公文?
> 1. 对外拜访函
> 2. 对外邀请函
> 3. 政府请示
> 4. 感谢信
> 5. 人大或政协建议
> 6. 政府专题调研反馈
> 7. 讲话(发言)稿
> 8. 一段话自动生成(不限公文类型,直接描述需求即可)
> 9. 根据收到的通知文件撰写(提供通知,AI 自动研判应回复的文种)
第二步:根据类型进入对应问题流程
拜访函 / 邀请函(类型 1、2)
严格按照以下顺序逐一提问,每次只问一个问题:
- 问题一: 请问发函对方的单位全称是什么?
- 问题二: 请问本次发函的目的是什么?
- 问题三: 请问与发函单位之间此前有哪些互动或合作?
- 问题四: 请问我方的联系人姓名和手机号是什么?
- 问题五: 请问我方单位的全称和发函日期是什么?
- 问题六(可选): 请问是否需要自定义贵单位的企业简介?如需自定义请直接描述,如不需要请回复"跳过",AI 将自动生成。
政府请示(类型 3)
严格按照以下顺序逐一提问,每次只问一个问题:
- 问题一: 请问需要请示的政府部门全称是什么?
- 问题二: 请问提交请示的单位全称是什么?
- 问题三: 请问双方此前有哪些合作事项或互动背景?
- 问题四: 请问需要请示协调办理的具体事项是什么?
- 问题五(可选): 请问是否需要详细描述请示事项的来龙去脉?如需要请补充,如不需要请回复"跳过"。
- 问题六: 请问联系人和联系电话是什么?
- 问题七: 请问请示日期是什么?
- 问题八(可选): 请问是否需要自定义贵单位的企业简介?如需自定义请直接描述,如不需要请回复"跳过",AI 将自动生成。
感谢信(类型 4)
严格按照以下顺序逐一提问,每次只问一个问题:
- 问题一: 请问需要感谢的对象是?(单位全称或个人姓名及职务)
- 问题二: 请问感谢信的撰写主体(我方单位全称)是什么?
- 问题三: 请问需要感谢的具体事宜是什么?(如接待考察、支持项目、提供帮助等)
- 问题四: 请问感谢信的撰写日期是什么?
> 感谢信无需联系人和企业简介,结构简洁。
人大或政协建议(类型 5)
严格按照以下顺序逐一提问,每次只问一个问题:
- 问题一: 请问您的社会任职名称是什么?(如"江苏省人大代表""南京市政协委员"等)
- 问题二: 请问您准备提出关于哪个方面的建议?(简要描述建议主题)
- 问题三(可选): 请问是否有政府政策、行业或企业相关的背景资料?如有请输入,如没有请回复"跳过",AI 将联网搜索可靠资料作为支撑。
> 建议模板为表格格式,含案由、建议人、案由内容三部分。无需联系人和日期。
政府专题调研反馈(类型 6)
严格按照以下顺序逐一提问,每次只问一个问题:
- 问题一: 请问发起调研的政府部门全称是什么?
- 问题二: 请问调研提纲或调研主题是什么?(如有多项可直接列出)
- 问题三: 请问被调研公司的全称是什么?
- 问题四: 请问与调研提纲相关的公司及行业资料有哪些?(如企业经营数据、行业现状、政策背景等,可简要描述;如不提供,AI 将联网搜索补充)
- 问题五: 请问期望的调研反馈字数是多少?(如"3000字左右"或"不限")
> 调研反馈采用上报国办资料格式(段落式),结构为:主标题(居中,方正小标宋_GBK 22pt,控制在20字以内确保一行显示)→ 副标题(居中,方正楷体_GBK 16pt,格式为"{调研单位简称}调研汇报",如"国家发改委调研汇报")→ 公司名称(居中,16pt)→ 正文(方正仿宋_GBK 16pt,首行缩进2字,固定行距28磅)→ 章节标题(方正黑体_GBK)→ 子标题(方正楷体_GBK)。无需联系人和日期。
讲话(发言)稿(类型 7)
严格按照以下顺序逐一提问,每次只问一个问题:
- 问题一: 请问本次发言讲话的场合是什么?(如"集团党员大会总结部署""结对共建签约仪式""政协会议发言""党建理论研讨会"等)
- 问题二: 请问需要体现的重点内容有哪些?(如"总结过去一年党建工作成绩""部署下一阶段重点工作""表达感谢与合作意愿""提出行业建议"等,可简要列出)
- 问题三: 请问讲话(发言)人员的身份是什么?(如"集团党委书记""公司副总裁""党委副书记"等,包含姓名和职务)
- 问题四: 请问期望生成的文档字数大约是多少?(如"2000字左右""3000字""不限"等)
> 讲话稿采用方正公文字体体系:标题方正小标宋_GBK 20pt(完全复刻苏宁2024党员大会模板:ascii/hAnsi/eastAsia 均为方正小标宋_GBK、不加粗)居中,副标题方正仿宋_GBK 16pt居中,章节标题方正黑体_GBK 16pt居中,子标题方正楷体_GBK 16pt首行缩进,正文方正仿宋_GBK 16pt首行缩进、固定行距28磅。页脚显示"第X页 共X页"。
一段话自动生成(类型 8)
用户选择此选项后,不再逐条提问,而是请用户直接用一段话描述需求:
> 请用一段话描述您的需求,包括(但不限于):您想生成什么类型的公文、发函/收函方是谁、核心目的是什么、相关背景信息等。AI 将自动识别公文类型并提取关键信息,为您生成规范公文。
AI 处理流程:
- 公文类型识别:从用户描述中判断应生成哪种公文类型(拜访函、邀请函、请示、感谢信、人大/政协建议、调研反馈、讲话稿)
- 关键信息提取:对照该类型在第二步中定义的问题清单,从用户描述中逐一提取所需信息
- 缺失信息确认:检查是否有关键信息缺失(如对方单位名称、联系人等必要字段)。如有缺失,一次性向用户列出所有缺失项请其补充,不得逐条追问。如非关键信息缺失(如企业简介、背景细节等),AI 自行合理推断或生成,无需追问用户
- 信息确认摘要:将识别出的公文类型和提取到的所有关键信息整理为简要摘要,展示给用户确认:
> AI 识别结果:
> - 公文类型:拜访函
> - 对方单位:XXX
> - 发函目的:XXX
> - 联系人:XXX
> - 我方单位:XXX
> - 日期:XXX
>
> 以上信息是否准确?如需修改请告知,确认无误后我将开始生成。 - 用户确认后,跳转到第三步(参考范文,可选),随后进入 AI 内容生成阶段,完全套用对应类型(1-7)的正文生成标准和脚本调用方式
类型识别规则:
| 用户描述中的关键词/意图 | 对应公文类型 |
|---|---|
| 拜访、拜访函、前往拜访、沟通洽谈 | 拜访函(类型1) |
| 邀请、邀请函、诚邀、敬请莅临、邀请出席 | 邀请函(类型2) |
| 请示、报请、恳请批准、协调解决、申请 | 政府请示(类型3) |
| 感谢、感谢信、致谢、感激 | 感谢信(类型4) |
| 人大代表、政协委员、建议、提案 | 人大/政协建议(类型5) |
| 调研反馈、调研报告、政府调研、调研汇报 | 调研反馈(类型6) |
| 讲话、发言、致辞、讲话稿、发言稿、讲话发言 | 讲话稿(类型7) |
> 如用户描述同时涉及多种类型,以主要意图为准,必要时向用户确认。如用户明确指定了公文类型,直接采用用户指定的类型。
根据收到的通知文件撰写(类型 9)
用户选择此选项后,不再逐条套用固定问题清单,改为先索取通知原文:
> 请提供您收到的通知,支持以下形式,AI 自动按格式选择处理方式:
> - Word 文档:.docx / .doc
> - PDF 文件:.pdf(含扫描件)
> - 图片:截图、拍照(.png / .jpg / .jpeg / .webp / .bmp)
> - 文本:.txt,或直接把通知正文粘贴过来
>
> 给出本地文件路径即可,也可直接粘贴内容。
AI 处理流程:
步骤 1 · 读取通知(按格式自动选择方式)
| 格式 | 读取方式 |
|---|---|
.docx |
Read 工具;读不通时用 python-docx 提取(已验证可用,v1.2.0) |
.doc |
优先请用户另存为 .docx;也可尝试用 Word/WPS 转换后读取 |
.pdf(有文本层) |
Read 工具直接读取 |
.pdf(扫描件/图片型) |
Read 工具按图片读取,走视觉识别 |
图片(.png/.jpg/.jpeg/.webp/.bmp) |
Read 工具直接读取,用多模态视觉识别通知文字 |
.txt / 粘贴内容 |
直接采用 |
> 识别可信度校验:图片或扫描件识别出的文字,凡涉及文号、日期、人名、电话、金额、单位名称等关键字段,AI 须在步骤 4 的摘要中原样复述给用户核对,不得自行臆测补全。若图片模糊到无法可靠识别,直接告知用户并提供文字版本,不要硬猜。
步骤 2 · 研判文种
先识别通知性质(会议活动 / 调研 / 征求意见 / 报送材料 / 检查督查 / 申报评选 / 邀请 / 讲话邀约 / 其他),再按下表映射到类型 1-8:
| 通知性质 / 关键表述 | 应回复的文种 | 套用类型 | 模板 |
|---|---|---|---|
| 会议通知、活动通知、要求报送参会人员/回执 | 参会回执 / 确认回函 | 拜访函(类型1) | 拜访函母版.docx |
| 调研通知、赴企业调研、附调研提纲 | 调研汇报材料 | 调研反馈(类型6) | 调研反馈模板_上报国办格式.docx |
| 征求意见、反馈意见、征求意见建议 | 意见反馈函 | 拜访函(类型1) | 拜访函母版.docx |
| 报送材料、报送情况、提供数据、报送总结 | 情况报告 / 报送材料 | 调研反馈(类型6) | 调研反馈模板_上报国办格式.docx |
| 检查、督查、自查、巡查、专项整治 | 自查报告 / 迎检汇报 | 调研反馈(类型6) | 调研反馈模板_上报国办格式.docx |
| 申报、评选、推荐、参评、遴选 | 申报材料 | 调研反馈(类型6) | 调研反馈模板_上报国办格式.docx |
| 诚邀出席、邀请参加、邀请参会 | 确认回函 | 邀请函(类型2) | 拜访函母版.docx |
| 邀请讲话、安排发言、推荐代表发言 | 讲话(发言)稿 | 讲话稿(类型7) | 讲话稿模板.docx |
> 如通知性质不在上表内,或同时命中多种,AI 须向用户说明判断依据并请其确认文种,不得自行臆断。如通知本身已明确要求回复某种文种(如"请报送书面汇报材料""请填写参会回执"),以通知要求为准。
步骤 3 · 按文种提取必要信息
确定文种后,对照该类型(1-7)在「第二步」中定义的字段清单,逐项从通知中提取:
- 通知中已有的 → 直接采用。涉及文号、时间、地点、人数、材料清单等硬性信息,必须与原文完全一致
- 通知中没有的 → 标记为「缺失」,进入步骤 4
- 通用要素(无论何种文种都先扫一遍):发文单位全称、通知文号、通知事由、对我方的具体要求、关键时间节点、通知方联系人
步骤 4 · 缺失信息一次性提示完善
把标记为「缺失」的字段一次性列出请用户补充,不得逐条追问。同时展示识别摘要供核对:
> AI 识别结果:
> - 通知来源:XXX(发文单位)
> - 通知事由:XXX
> - 关键要求:XXX
> - 时间节点:XXX
> - 拟回复文种:参会回执(套用拜访函模板)
> - 判断依据:通知要求"请于X月X日前反馈参会人员名单"
>
> 通知中未提供的信息,请补充(可一次回复全部):
> 1. 我方参会人员姓名及职务
> 2. 我方联系人及手机号
> 3. 我方单位全称
>
> 图片/扫描件识别出的关键字段,请一并核对是否准确。
> 非关键字段不列入(如企业简介、背景细节),由 AI 自行合理推断或联网搜索补充。用户可回复"跳过"交由 AI 处理。
步骤 5 · 询问补充资料(必要信息齐备后执行)
所有必要信息完善后,询问用户:
> 请问还有其他相关资料需要补充作为参考吗?(如企业简介、经营数据、以往类似公文、行业背景资料、政策文件等)
> 如有请提供文件或路径,我会作为参考内容融入公文;如没有请回复"直接生成"。
步骤 6 · 生成公文
- 用户提供补充资料 → 读取资料,作为参考内容融入(吸收其素材、数据、表达风格,不照搬其他企业的公司名/事件/日期)
- 用户回复"直接生成" → 不读取任何额外资料,仅凭通知原文 + 用户补充信息生成
两种方式最终都完全套用步骤 2 研判出的对应类型(1-7)的正文生成标准和脚本调用方式。
> 类型 9 不走第三步:步骤 5 已完成补充资料的询问,生成阶段直接执行本步骤,避免重复追问。
第三步:参考范文(可选)
> 类型 9(根据通知文件撰写)跳过本步 —— 其步骤 5 已询问过补充资料,无需重复。
所有问题回答完毕后,最后询问用户是否需要提供参考范文。
> 请问是否需要提供参考范文或历史函件?如有请提供文件路径(支持 .docx / .pdf / 图片),AI 将学习其中的写作风格和措辞习惯来优化正文质量;如不需要请回复"跳过"。
如果用户提供了参考文件路径:
- 用 Read 工具读取参考文档内容
- 仅吸收以下方面(影响内容生成):
- 写作风格:正式程度、语气基调(恳切/庄重/活泼)
- 措辞习惯:常用敬语、过渡词、开头结尾表述
- 信息组织:背景铺陈方式、诉求引出逻辑、数据呈现手法
- 段落节奏:长句偏好、段落平均长度、信息密度水平 - 绝不吸收以下方面(不影响文件格式):
- 字体、字号、行距、页边距 → 始终由模板脚本决定
- 页眉红头、标题格式、落款位置 → 始终由模板脚本决定
- 联系人、日期等字段排列 → 始终由脚本处理
- 参考文件中的具体信息(公司名、事件、日期)→ 仅用于风格参考,不直接复制
提问题外话处理
- 如果用户在问答过程中提出与函件无关的问题,先简要回应,然后自然地拉回当前问题。
- 如果用户要求修改之前的答案,允许修改并继续。
AI 内容生成
确认全部问题回答完毕后,AI 先使用大模型能力生成完整的函件正文,然后调用脚本组装 DOCX。
字数预算规则(前置执行,禁止"先写长再压缩")
AI 须在动笔前先完成字数分配,一次成型。 实测教训:接到"3000字"要求后先写出 4000 字再逐轮压缩,需返工 4 轮以上,且压缩后逻辑链断裂、关键数据被误删、章节配比失衡。
- 定总额:取用户或通知指定的字数上限(如"3000字"),允许 ±5% 浮动
- 扣非正文:主标题、副标题、单位名、称谓、落款不计入正文字数;如有导语段/摘要段,预留 100-150 字
- 分章节:按章节数均分后按重要性微调(核心章节 +15%,铺垫章节 -15%)。示例:3000 字 ÷ 6 章 ≈ 每章 450-500 字
- 定段落:每章 450-500 字 ≈ 首段总括 80 字 + 2-3 个展开段各 120-150 字 + 小结或建议 60 字
- 写后校验:生成正文后立即统计中文字符数。超出上限 5% 时,只删冗余修饰语、重复论据和空泛表态,保留全部数据点与结构层级,不得整章删除;低于下限 10% 时,补实证数据或展开对策建议
- 校验方式(生成 DOCX 后核对):
python -c "from docx import Document;d=Document(r'OUTPUT_PATH');print(len(''.join(p.text for p in d.paragraphs)))"
> 适用类型:调研反馈(6)、讲话稿(7),以及类型 8/9 套用这两类时。拜访函、邀请函、感谢信、回执类本身受"一页 A4"与固定篇幅约束,无需执行本规则。
参考范文融合规则(两层叠加):
- 技能级基准(始终生效):生成正文前,静默读取
references/style-guide.md,吸收其中的文风规范作为基线 - 用户级覆盖(第三步可选):如用户提供了参考范文,在其基础上进一步叠加。冲突时以用户级为准
- 生成正文时融合上述风格特征,但确保所有信息来自用户当前输入:
- 借鉴其语气正式程度和修辞偏好(如用"恳请""敬悉""特此致函"等措辞风格)
- 参考其段落组织方式(如背景与诉求的篇幅比例、过渡句的衔接逻辑)
- 模仿其信息密度(如偏好数据支撑还是概括性描述)
- 注意: 参考文件中的具体信息(公司名、人名、事件、日期等)绝不复制到新函件中
拜访函/邀请函 正文生成要求
- 句式正式、得体,符合企业对外公文规范
- 紧扣用户输入的实际信息,不照搬模板中的示例文字
- 正文结构包含以下段落:
- 致谢问候段:感谢对方长期以来的关心与支持,语气诚恳
- 我方简介段:如果用户在问题六中提供了自定义简介则以其为基础;否则 AI 根据单位名称合理推断行业,生成 50-80 字得体简介(必须完整,不可省略)
- 合作回顾段:基于用户输入的合作/互动信息进行润色,突出双方良好关系
- 发函目的段:基于用户输入的目的润色展开,拜访函使用"前往拜访、沟通洽谈"语境,邀请函使用"诚邀、敬请莅临"语境
- 结语段:礼貌收尾,如"望予接洽为盼"、"敬请函复"等
- 输出格式:各段落以换行符
\n分隔,作为--body参数传入脚本 - 篇幅控制(强制):
- 拜访函、邀请函、感谢函全文(含落款)必须控制在一页 A4 纸以内,不得跨页
- 落款(联系人+公司名+日期)严禁单独出现在第二页——宁可精简正文,不可让落款孤页
- 正文字数建议:拜访函/邀请函 400-600 字,感谢信 200-400 字
- 如初稿正文超限,优先删减冗余修饰词、合并短段,保持信息密度
- 模板选择: 拜访函和邀请函均使用
assets/拜访函母版.docx
政府请示 正文生成要求
- 句式正式、严谨,符合政府公文规范
- 紧扣用户输入的实际信息,不照搬模板中的示例文字
- 正文结构包含以下段落:
- 背景介绍段:简述企业基本情况及与政府部门的关系
- 我方简介段:如用户自定义则以其为基础;否则 AI 根据单位名称生成得体简介(必须完整,不可省略)
- 合作事项段:基于用户输入的合作/互动信息进行润色,突出政企合作成效
- 请示事项段:基于用户输入的请示事项展开,说明背景原因、具体诉求。如果用户在问题五中补充了来龙去脉,需将其融入本段进行详细叙述;否则仅基于问题四的简要描述进行适度展开。语言恳切得体
- 结语段:以"妥否,请批示。"或类似表述收尾
- 标题生成: AI 根据请示事项生成简短的标题摘要(不含"关于...的请示"前缀,脚本会自动拼接),如"协调解决公司高管子女入学问题"
- 输出格式:各段落以换行符
\n分隔,标题摘要通过--title参数传入 - 篇幅控制(强制):
- 政府请示全文(含落款)必须控制在一页 A4 纸以内,落款严禁孤页
- 请示正文严格控制在 350-450 字,最多不超过 500 字
- 如背景介绍段和我方简介段内容较少,可合并为一段以节省空间,但所有关键信息不可遗漏
- 如初稿超限,优先删减修饰性语言(如"始终""持续""大力""积极"等),保留实质信息
- 模板选择: 请示使用
assets/请示模板.docx
感谢信 正文生成要求
- 句式诚挚、热情,既符合正式函件规范,又需体现真情实感
- 紧扣用户输入的具体感谢事宜,融合模板措辞风格及互联网上优秀的感谢信表达进行润色丰富
- 正文结构包含以下段落:
- 感谢开篇段:开门见山表达感谢,点明感谢的具体事宜,使用"高度重视""热情接待""大力支持"等诚挚措辞
- 感受与回顾段:描述此行/此事的感受体会,表达被感谢方的支持对己方的意义和鼓舞,语言富有感染力
- 展望与承诺段:基于双方关系展望未来,表达己方将如何以实际行动回馈对方的信任与支持(如加大投资、深化合作等)
- 再谢与邀请段:再次表达感谢,并可适当加入邀请对方回访/视察等友好表示,以"衷心感谢""诚挚期待"等温暖措辞收尾
- 参考用词:衷心感谢、高度重视、热情接待、倍感温暖、倍受鼓舞、诚挚邀请、莅临指导、落地生根、开花结果
- 输出格式:各段落以换行符
\n分隔,作为--body参数传入脚本 - 模板选择: 感谢信使用
assets/感谢信模板.docx - 特别注意: 感谢信无需联系人和企业简介,脚本调用时不传
--contact_name和--contact_phone参数
人大/政协建议 正文生成要求
- 格式规范: 采用表格形式,包含案由、建议人、案由内容三个部分
- 结构严谨: 案由内容按照「背景与现状 → 存在问题 → 建议」三段式结构展开
- 内容要求:
1. 背景与现状段:简明扼要,1段即可。引用行业宏观数据(社零总额、研发投入规模、占比等关键数字)阐述背景,点明核心矛盾。不得出现具体公司名称,统一使用"大型零售企业""头部零售企业""省内大型零售企业"等行业泛称
2. 存在问题段:2-3点,每点一段。结合数据或事实客观分析当前短板,每条问题独立成段、言简意赅。保留关键数字(占比、增长率、成本规模等),删减冗长论述
3. 建议段:3-5条,每条一段。针对问题逐一提出可操作建议,每条措辞正式简洁,具有可落地性。使用"一是""二是"等编号 - 总体篇幅:背景1段 + 问题2-3段 + 建议3-5条,全文控制在800-1200字,精简有力、数据支撑、去公司化
- 参考措辞风格: 使用"建议""推进""加快""加大""支持"等正式公文用语
- 标题生成: AI 根据建议主题生成简洁标题(如"支持大型零售企业享受研发加计扣除政策"),脚本自动拼接"关于...的建议"格式
- 输出格式:各段落以换行符
\n分隔,标题通过--title参数传入 - 模板选择: 建议使用
assets/人大政协建议模板.docx
政府专题调研反馈 正文生成要求
- 格式规范: 采用上报国办资料的段落式格式,结构为:主标题(居中,方正小标宋_GBK 22pt,20字以内)→ 副标题(居中,方正楷体_GBK 16pt)→ 公司名称(居中,方正仿宋_GBK 16pt)→ 正文。正文段落类型通过前缀标记区分:
#开头为章节大标题(方正黑体_GBK 16pt)、##开头为子标题(方正楷体_GBK 16pt)、无前缀为正文(方正仿宋_GBK 16pt,首行缩进2字,固定行距28磅) - 结构严谨: 正文严格按照用户提供的调研提纲展开,每个提纲要点作为一个独立的大章节,章节之间逻辑递进、环环相扣
- 标题生动: 章节标题和小标题须进行文学化凝练优化——参考上传附件中「三大作用」「三重压力」「三项支持」的风格,使用「X大作用」「X重挑战」「X项举措」「X个趋势」「X条路径」等概括性表述,避免"一、""二、"等干瘪编号
- 内容来源优先级:
1. 优先使用用户资料: 用户在问题四中提供的公司及行业资料作为核心论据和数据支撑,充分融入正文
2. 联网搜索补充: 如用户资料不足以支撑全部提纲要点,或用户选择跳过问题四,AI 须联网搜索相关行业最新宏观政策、市场数据、头部企业案例、权威研究报告等可靠资料进行补充
3. 具体事实支撑: 每个观点须有具体数据或真实案例作为支撑,避免空泛论述。引用数据须注明来源和时间节点。在可能的情况下插入表格呈现关键对比数据 - 字数控制: 严格按用户期望的字数范围生成。有字数要求时必须先执行「字数预算规则」分配后再撰写,不得先写长再压缩。如用户未指定字数,默认生成 2000-3000 字的高质量调研反馈报告
- 语言风格:
- 正式严谨的政府公文风格,行文流畅、逻辑严密,与 references/style-guide.md 中定义的调研反馈风格一致
- 善用数据对比(同比、占比、排名等)增强说服力
- 每章节首段为总括段,后续为展开论述
- 全文体现"宏观背景 → 现状分析 → 问题梳理 → 对策建议"的递进逻辑
- 标题生成: 文档采用双标题结构。主标题由 AI 根据全文内容生成精炼亮眼的标题(通过
--title参数传入),控制在20字以内确保一行显示;副标题由脚本根据--recipient自动生成为"{调研单位简称}调研汇报",如"国家发改委调研汇报"。 - 输出格式:各章节以换行符
\n分隔,章节标题用#前缀、子标题用##前缀、正文无前缀。主标题通过--title传入(AI 生成,20字以内),副标题由脚本根据--recipient自动生成。 - 模板选择: 调研反馈使用
assets/调研反馈模板_上报国办格式.docx(段落式,保留页眉页码脚注等格式)
讲话(发言)稿 正文生成要求
- 句式风格: 多用短句,朗朗上口,文字简洁,逻辑严密。多用数据或案例作为支撑。参考上传附件中讲话稿的文风特征
- 紧扣用户输入的实际信息,基于场合、重点内容、讲话人身份生成针对性内容
- 标题生成: AI 根据讲话主题和场合生成精炼的标题,可为主副标题结构。主标题力求凝练有力(如"凝心聚力 乘势而上"),可用两行。副标题格式为"——{ occasion }"(如"——苏宁集团2024年党建工作总结部署")。标题通过
--title参数传入(多行用\n分隔),副标题通过--topic参数传入 - 正文结构包含以下要素(按需灵活组织):
- 开场问候段:根据场合向听众致以问候,点明集会意义(如庆祝建党周年、年度总结等)
- 背景引入段:简述宏观形势、企业现状或合作基础,为后续内容铺垫
- 主体内容段:按"第一部分""第二部分"等大章节组织,每章节下用"(一)""(二)"等子标题展开,子标题下可用"一是""二是""三是"等条目式论述
- 结语段:总结展望、提出要求或表达感谢,语气有力、鼓舞人心
- 正文格式标记(传入
--body参数): #前缀:章节大标题(如"# 第一部分 党建工作总结"),脚本渲染为方正黑体_GBK居中##前缀:子标题(如"## (一)提振思想文化迈上新台阶"),脚本渲染为方正楷体_GBK首行缩进###前缀:条目标题(如"### 一是岗位建功形成常态"),脚本渲染为方正仿宋_GBK加粗首行缩进-
无前缀:正文段落,脚本渲染为方正仿宋_GBK 16pt首行缩进、固定行距28磅
-
字数控制: 严格按用户在问题四中指定的字数范围生成。有字数要求时必须先执行「字数预算规则」分配后再撰写。如用户未指定,默认生成 2000-3000 字
- 数据与案例: 每个观点须有具体数据或真实案例支撑。如"全年共开展300多场学习讨论活动""连续九个季度实现EBITDA为正""偿还超过200亿元前期债务"等。如用户企业提供的数据不足,可通过 WebSearch 联网搜索补充最新公开数据
- 语言风格要求:
- 多用短句,每句不超过30字,避免长句嵌套
- 善用排比和对仗(如"凝心聚力、乘势而上""增收、降本、提效多举措同向发力")
- 善用数据对比增强说服力(同比、占比、排名等)
- 章节标题须文学化凝练(如"提振思想文化迈上新台阶""服务集团经营取得新成果"),避免"一、工作总结"等干瘪编号
- 体现"总结成绩 → 分析形势 → 部署工作 → 展望未来"的递进逻辑
- 称呼与落款: 称谓(如"全体党员同志们:")通过
--recipient参数传入,渲染为方正仿宋_GBK加粗。讲话人身份(如"苏宁集团党委 王哲")通过--sender参数传入,渲染在标题下方居中。日期通过--date参数传入 - 模板选择: 讲话稿使用
assets/讲话稿模板.docx(含A4页面设置、页脚页码)
一段话自动生成 正文生成要求
类型8不设独立的正文生成标准,而是严格套用上述类型1-7中对应公文类型的全部正文生成要求,包括但不限于:
- 正文结构与段落:完全遵循识别出的公文类型的段落结构要求
- 篇幅控制:适用对应类型的字数限制和一页A4纸约束
- 句式风格:适用对应类型的语气基调(如请示的严谨正式、感谢信的诚挚热情等)
- 标题生成:适用对应类型的标题生成规则
- 模板选择与脚本调用:使用对应类型的模板文件和脚本参数
- 参考范文融合:与一问一答模式完全一致,先读取
references/style-guide.md基线风格,再叠加用户参考范文(如有)
> 核心原则:类型8仅改变信息收集方式(一段话替代逐条问答),不改变内容生成标准。最终生成的文档质量、格式、文风必须与一问一答模式产出的文档完全一致。
根据收到的通知文件撰写 正文生成要求
类型9 不设独立的正文生成标准,而是严格套用步骤 2 研判出的对应类型(1-7)的全部正文生成要求(段落结构、篇幅控制、语气基调、标题生成规则、模板与脚本参数)。
在此基础之上,类型9 额外遵守以下针对性要求:
- 逐条回应:通知里提出的每一项要求,正文都必须有明确对应的回应,不得遗漏。用户拿着通知对照时,应能逐条找到答案。
- 引用原文:涉及时间、地点、文号、人数、材料清单等硬性信息,必须与通知原文完全一致,不得自行改写或推断。
- 回执类(参会回执/确认回函) 专项:
- 篇幅极简,200-350 字,一页 A4 内,不铺陈背景、不企业简介堆砌
- 结构:引据通知(文号+事由)→ 明确表态(是否参会/是否反馈意见)→ 具体回应(参会人员姓名职务、或报送的材料清单)→ 联系人与落款
- 标题通过
--title传入,形如"反馈XXX会议参会人员",脚本自动拼接为"关于XXX的函" - 正文首句固定用引据式开头,如"贵单位《关于召开XXX会议的通知》(XXX〔2026〕X号)收悉。"
- 报送/自查/申报类(套用调研反馈) 专项:
- 严格按通知列出的要点逐项展开,通知给了提纲就完全照提纲走,提纲即章节
- 通知未指定字数时,默认 2000-3000 字;通知明确要求字数时以通知为准
- 主标题 20 字以内;副标题由脚本按
--recipient(发文单位)自动生成 -
不确定的地方不编:通知中未提及、用户也未补充的信息(如具体数据、内部安排),一律不虚构,改用中性表述或留待用户补充。企业自身数据(门店数、销量、占比、营收等)用户未提供时一律留白,生成后在回复中明确列出"需你补充的企业数据项",由用户回填。
-
用户无补充材料时的联网取数规范(步骤 5 用户回复"无补充材料/直接生成"时适用):
调研、报送、自查、申报类文书需要大量数据支撑,用户无材料时 AI 须主动联网检索并满足以下要求:
- 四个检索维度缺一不可
- 全国宏观面:总量、增速、结构(如全国社零总额及同比)
- 属地数据:企业所在省/市的同口径数据及与全国的对比(如河南社零增速高于全国多少个百分点)
- 政策落实成效:通知涉及政策的落地数据、撬动比、覆盖面
- 其他政策维度:通知提到的其余政策点(如消费券试点、国际化消费环境、贴息等)
- 时效优先:加
freshness过滤(一般m6),优先取最近统计期数据;检索到多期数据时取最新一期 - 来源限定:只采信国家统计局、主管部门官网、省级统计局、中国政府网等权威口径。自媒体、股吧、未署名文章一律不用
- 数据须带出处:正文中每个关键数据标注来源和统计期(如"据国家统计局数据,2026年上半年全国社零总额…"),便于上报单位核验
- 区分宏观与企业:联网数据只能支撑行业面和属地面,不能冒充企业自身数据。涉及"我公司/我单位"的定量表述,无用户数据支撑时改为定性描述
- 生成后披露:在回复中列出本次引用的全部数据来源清单,并提示用户如有本方权威数据可替换
- 补充资料的融合方式(步骤 5 用户提供了资料时):
- 作为素材与风格参考使用:吸收其中的事实数据、业务素材、句式习惯、表达风格
- 绝不照搬资料中的其他企业具体信息(公司名、人名、事件、日期)
- 资料与通知冲突时,以通知原文为准(通知是权威要求)
- 用户回复"直接生成"时,不读取任何额外资料,仅凭通知 + 用户补充信息生成
> 核心原则:类型9 改变的是信息收集方式(读通知替代/补充问答),不改变内容生成标准。所有事实性信息必须以通知原文和用户补充为准,AI 只负责组织、润色和规范化。
生成函件
拜访函/邀请函
python3 SKILL_DIR/scripts/generate_letter.py \
"SKILL_DIR/assets/拜访函母版.docx" \
"OUTPUT_PATH" \
--type "拜访函或邀请函" \
--recipient "对方全称" \
--body "AI生成的完整正文" \
--contact_name "联系人姓名" \
--contact_phone "联系人手机号" \
--sender "我方单位全称" \
--date "发函日期"
政府请示
python3 SKILL_DIR/scripts/generate_letter.py \
"SKILL_DIR/assets/请示模板.docx" \
"OUTPUT_PATH" \
--type "请示" \
--recipient "政府部门全称" \
--title "请示事项摘要" \
--body "AI生成的完整正文" \
--contact_name "联系人姓名" \
--contact_phone "联系人手机号" \
--sender "提交请示的单位全称" \
--date "请示日期"
> --title 仅需提供摘要部分(如"协调解决公司高管子女入学问题"),脚本会自动拼接为"关于{摘要}的请示"。
感谢信
python3 SKILL_DIR/scripts/generate_letter.py \
"SKILL_DIR/assets/感谢信模板.docx" \
"OUTPUT_PATH" \
--type "感谢信" \
--recipient "感谢对象全称" \
--body "AI生成的完整正文" \
--sender "我方单位全称" \
--date "撰写日期"
> 感谢信无需 --contact_name、--contact_phone 和 --title 参数。
人大/政协建议
python3 SKILL_DIR/scripts/generate_letter.py \
"SKILL_DIR/assets/人大政协建议模板.docx" \
"OUTPUT_PATH" \
--type "建议" \
--recipient "社会任职全称(如江苏省人大代表)" \
--title "建议主题摘要" \
--body "AI生成的完整正文(背景+问题+建议)" \
--sender "建议人姓名"
> --title 仅需提供主题摘要部分(如"加速推进南京数据资产交易"),脚本会自动拼接为"关于{摘要}的建议"。--recipient 在此类型中为社会任职名称,--sender 为建议人姓名。无需 --contact_name、--contact_phone 和 --date。
政府专题调研反馈
python3 SKILL_DIR/scripts/generate_letter.py \
"SKILL_DIR/assets/调研反馈模板_上报国办格式.docx" \
"OUTPUT_PATH" \
--type "调研反馈" \
--recipient "发起调研的政府部门全称" \
--title "AI生成的精炼主标题(20字以内)" \
--topic "调研主题" \
--body "AI生成的完整正文(# 章节标题、## 子标题、正文以换行分隔)" \
--sender "被调研公司全称" \
--date "当前日期"
> --title 为 AI 根据全文总结的精炼主标题(控制在20字以内确保一行显示),--recipient 为发起调研的政府部门(脚本自动生成副标题"{单位简称}调研汇报"),--sender 为被调研公司全称。正文使用 # 前缀标记章节标题(方正黑体)、## 前缀标记子标题(方正楷体)、无前缀为正文段落(方正仿宋)。日期仅用于脚本参数,不出现在文档中。
讲话(发言)稿
python3 SKILL_DIR/scripts/generate_letter.py \
"SKILL_DIR/assets/讲话稿模板.docx" \
"OUTPUT_PATH" \
--type "讲话稿" \
--title "AI生成的主标题(多行用\n分隔)" \
--topic "——副标题文本(如——XXX会议讲话)" \
--recipient "称谓(如全体党员同志们:)" \
--body "AI生成的完整正文(# 章节标题、## 子标题、### 条目标题、正文以换行分隔)" \
--sender "讲话人身份(如苏宁集团党委 王哲)" \
--date "讲话日期(如2024年7月)"
> --title 为 AI 生成的主标题,可多行(用 \n 分隔),渲染为方正小标宋_GBK 20pt居中(ascii/hAnsi/eastAsia 均为方正小标宋_GBK,复刻苏宁2024党员大会模板)。--topic 为副标题文本(如"——苏宁集团2024年党建工作总结部署"),渲染为方正仿宋_GBK 16pt居中。--recipient 为称谓(如"全体党员同志们:"),渲染为方正仿宋_GBK加粗。--sender 为讲话人身份(如"苏宁集团党委 王哲"),渲染在标题下方居中。正文使用 # 前缀标记章节大标题(方正黑体居中)、## 前缀标记子标题(方正楷体首行缩进)、### 前缀标记条目标题(方正仿宋加粗首行缩进)、无前缀为正文段落(方正仿宋 16pt首行缩进、固定行距28磅)。--date 为讲话日期,渲染在讲话人身份下方居中。
一段话自动生成(类型 8)
类型8不设独立的脚本调用方式。AI 根据在第二步中识别出的公文类型(1-7),完全使用对应类型的脚本调用方式和参数,包括模板文件、参数列表、参数格式等,与一问一答模式完全一致。
> 示例: 如果用户一段话描述的意图被识别为"拜访函",则使用拜访函的脚本调用方式(assets/拜访函母版.docx 模板,包含 --recipient、--body、--contact_name、--contact_phone、--sender、--date 等参数),以此类推。
根据收到的通知文件撰写(类型 9)
类型9 不设独立的脚本调用方式。AI 根据第3步研判出的公文类型,完全使用对应类型(1-7)的脚本调用方式和参数。
> 示例: 收到的通知为会议通知,研判结果为"参会回执",则套用拜访函的脚本调用方式,并必须显式传入 --title(形如"反馈XXX会议参会人员"),以免脚本回退成默认的"拜访{recipient}"标题:
>
> bash
> python3 SKILL_DIR/scripts/generate_letter.py \
> "SKILL_DIR/assets/拜访函母版.docx" \
> "OUTPUT_PATH" \
> --type "拜访函" \
> --recipient "通知发文单位全称" \
> --title "反馈XXX会议参会人员" \
> --body "AI生成的完整正文" \
> --contact_name "联系人姓名" \
> --contact_phone "联系人手机号" \
> --sender "我方单位全称" \
> --date "回复日期"
>
输出文件路径建议:
- 拜访函:{用户桌面路径}/关于拜访{对方简称}的函.docx
- 邀请函:{用户桌面路径}/关于邀请{对方简称}的函.docx
- 请示:{用户桌面路径}/关于{请示事项摘要}的请示.docx
- 感谢信:{用户桌面路径}/致{感谢对象简称}的感谢信.docx
- 建议:{用户桌面路径}/关于{建议主题摘要}的建议.docx
- 调研反馈:{用户桌面路径}/关于{调研主题摘要}的调研反馈.docx
- 讲话稿:{用户桌面路径}/在{场合简称}上的讲话.docx
- 一段话自动生成:使用识别出的公文类型对应的上述命名规则
- 根据通知文件撰写:{用户桌面路径}/关于{通知事由摘要}的{文种}.docx(如"关于反馈全省商贸流通座谈会参会人员的函""关于民营经济发展情况调研的汇报")
生成后
- 用
present_files工具将生成的函件展示给用户预览 - 简要说明函件的各部分构成
脚本处理内容
脚本负责以下结构化元素,模板仅提供这些元素的格式:
| 类型 | 模板 | 特殊处理 |
|---|---|---|
| 拜访函/邀请函 | 拜访函母版.docx | 段落式:页眉红头、标题、称谓、正文、联系人、落款、日期 |
| 政府请示 | 请示模板.docx | 段落式:同上 + 标题含"关于...的请示" |
| 感谢信 | 感谢信模板.docx | 段落式:无联系人字段 |
| 人大/政协建议 | 人大政协建议模板.docx | 表格式:案由、建议人、承办方式、案由内容 |
| 政府专题调研反馈 | 调研反馈模板_上报国办格式.docx | 段落式:主标题+副标题+公司名+正文(章节标题黑体、子标题楷体、正文仿宋,首行缩进2字,固定行距28磅),页脚保留页码 |
| 讲话稿 | 讲话稿模板.docx | 段落式:主标题(小标宋20pt居中,复刻苏宁2024党员大会模板)+副标题(仿宋16pt居中)+讲话人(仿宋16pt居中)+日期(仿宋16pt居中)+称谓(仿宋16pt加粗)+正文(章节标题黑体居中、子标题楷体首行缩进、条目标题仿宋加粗首行缩进、正文仿宋16pt首行缩进固定行距28磅),页脚显示"第X页 共X页" |
| 一段话自动生成 | 使用识别出的类型对应的模板 | 复用类型1-7的模板和脚本调用方式,无独立模板 |
| 根据收到的通知文件撰写 | 使用研判出的类型对应的模板 | 复用类型1-7的模板和脚本调用方式,无独立模板;回执/复函类须显式传 --title |
脚本格式规范(已验证,不可回退)
以下为脚本 generate_letter.py 中已固化的重要格式处理逻辑,修改脚本时务必保留:
- 正文行距:
_format_body_paragraph()必须设置w:spacing为固定行距w:line="560"+w:lineRule="exact"(28pt),不得使用 auto/默认行距 - 正文字体: 正文 eastAsia 字体必须设为
方正仿宋_GBK,ascii 设为Times New Roman - 落款间距: 正文与落款之间的空行仅在估测不会导致孤页时才插入(
_assemble_paragraph步骤 6b)
依赖
- Python 3 +
python-docx库 - 模板文件:
assets/拜访函母版.docx、assets/请示模板.docx、assets/感谢信模板.docx、assets/人大政协建议模板.docx、assets/调研反馈模板_上报国办格式.docx、assets/讲话稿模板.docx - 类型 9 读取附件时:
.docx用 python-docx;.pdf用 Read 工具(扫描件按图片走视觉识别);图片(png/jpg/jpeg/webp/bmp)走视觉识别
版本与更新记录
当前版本 1.3.0
| 版本 | 更新内容 |
|---|---|
| 1.0.0 | 初版。支持 7 类对外公文(拜访函、邀请函、请示、感谢信、人大/政协建议、政府专题调研反馈、讲话稿),模板 + 问答式采集 + 脚本组装 |
| 1.1.0 | 新增类型 8「一段话自动生成」:AI 自动识别文种并提取要素,改变信息收集方式而不改变生成标准 |
| 1.2.0 | 新增类型 9「根据收到的通知文件撰写」:读通知 → 提取要素 → 研判文种 → 补齐缺失 → 生成 |
| 1.3.0 | 本次更新,详见下 |
1.3.0 更新明细
- 类型 9 支持全格式上传:
.docx/.doc/.pdf(含扫描件)/ 图片(png·jpg·jpeg·webp·bmp)/.txt/ 直接粘贴,按格式自动选择读取方式。图片与扫描件识别出的文号、日期、人名、电话、金额、单位名须原样复述给用户核对,模糊不清时直接说明而非硬猜 - 类型 9 流程重排为 6 步:读通知 → 研判文种 → 按该文种字段清单提取必要信息 → 缺失项一次性列出 → 询问补充资料 → 生成。原为"先提通用要素再定文种",易漏项;改为先定文体再按字段清单抠信息
- 补充资料询问时机后移:必要信息全部补齐后才问"还有无补充资料",有则作为素材融入,无则直接生成。类型 9 因此跳过原「第三步参考范文」,避免重复询问
- 新增「字数预算规则」:动笔前按总额 → 扣非正文 → 分章节 → 定段落四步分配,一次成型。修复"先写 4000 字再压到 3000 字需返工 4 轮、压缩后数据被误删"的问题
- 新增「无补充材料时的联网取数规范」:明确四个必查维度(全国宏观 / 属地数据 / 政策落实成效 / 其他政策维度)、来源限定、时效优先、数据带出处、宏观与企业数据严格区分、生成后披露来源清单
- 企业数据留白原则:用户未提供企业自身定量数据时一律留白,生成后明确列出"需你补充的企业数据项"
- 修正历史错误:
references/目录实际只有style-guide.md,修正了"读取该目录下所有 .docx"的过时说明;清理 4 处乱码(请→请示、主标→主标题、敬语过渡词→敬语、过渡词) - 补充依赖说明:列出类型 9 各类附件的读取方式