- name
- docx-report-delivery
- description
- 中文公文/报告 DOCX 交付流程:以真实模板为基底重建文档(保编号与样式)、自动编号不跑偏、调研报告多轮迭代、配图批量筛选。覆盖思政报告、三下乡报告、调研报告、实验报告(含量化实验报告)。TRIGGER:用户给出 .docx 模板要求照格式写、要写思政报告/调研报告/三下乡报告/实验报告/心得体会、要求「按这个格式」、自动编号错乱需要修、报告配图挑选。DO-NOT-TRIGGER:纯 Excel 数据处理(走 xlsx)、飞书在线文档(走 lark-doc)、PPT(走 ppt-generator)。
- metadata
- {"version":"1.0.0","category":"document","source":"由 2026-08 三下乡/思政报告/调研报告/实验报告交付批次提炼(三下乡 12 + douxun 12 + 思政报告 5 + docx/DOCX 15 + 实验报告 3)"}
# 中文公文 / 报告 DOCX 交付
> 核心信条:**模板是基底,不是参考。** 从空白文档模仿格式 = 编号、样式、页眉页脚全丢。
---
## Phase 0:拿到模板后的第一步(🛑 STOP)
**用户给了模板 .docx,第一件事是精确解析它,不是开始写。**
```python
from docx import Document
d = Document(TEMPLATE_PATH) # 以模板本体为基底
# 必须逐项核对并记录:
# 1. 所有 styles(样式名与层级)
# 2. numbering 定义(numId / abstractNumId)
# 3. sectPr(页面尺寸、页边距、页眉页脚)
# 4. 现有段落结构(标题层级怎么排的)
```
🛑 **禁止猜格式**。2026-08-10 的教训原文:*"先要模板 docx 精确解析而非猜格式"*。
---
## Phase 1:自动编号根因(已攻克)
**症状**:自己新建文档写多级编号,编号乱跳 / 重排 / 不连续。
**根因**:编号定义(`numbering.xml`)与样式表(`styles.xml`)都挂在模板里,重建文档时没继承。
**解法(实测有效)**:
```python
doc = Document(TEMPLATE) # ① 以模板为基底
for el in list(doc.element.body): # ② 清空 body
doc.element.body.remove(el)
# ③ 关键:保留 sectPr / styles / numbering 不动
# ④ 再往里灌新内容 → 编号自动跟样式走
```
要点:**清 body,不清 sectPr/styles/numbering**。这三样是编号正确的前提。
---
## Phase 2:内容迭代(调研报告类)
实测有效的迭代节奏(2026-08-10 调研报告):
| 轮次 | 字数 | 增加内容 |
|---|---|---|
| 1 | 5533 | 主体框架 |
| 2 | 7687 | 补充数据与论证 |
| 3 | 10389 | 附录问卷原稿 + 6 份访谈纪要 + 第五章对话实录 |
**做法**:每轮交付后主动列出"还能加什么",让用户选,而不是一次写到底。
---
## Phase 3:配图批量筛选
场景:几百张照片/截图里挑几张配图。
**流程**(实测 334 张 → 挑 6 张):
1. `PIL` 拼 **3×6 网格图**(每张缩略图上方加**编号红标**)
2. 把网格图送视觉模型评估(实测 SiliconFlow `Qwen3-VL-32B`/`8B`)
3. 按编号回报入选图片,再取原图
🛑 **不要逐张调用视觉模型**——334 张会烧光预算且慢。网格化是关键的省钱步骤。
---
## Phase 4:交付前检查清单(🔴 CHECKPOINT)
- [ ] 中文渲染正常(字体:`SourceHanSansSC` 或模板自带字体)
- [ ] 多级编号连续、无跳号
- [ ] 页眉页脚/页码与模板一致
- [ ] 目录可更新(域代码在,不是手打文本)
- [ ] 与模板对照:标题层级、字号、行距一致
- [ ] 数据/引文来源已标注(🛑 禁止编造文献)
---
## 已知坑
| # | 坑 | 修正 |
|---|---|---|
| 1 | 从空白文档模仿模板 → 编号全丢 | 以模板为基底,见 Phase 1 |
| 2 | 清 body 时连 `sectPr`/`styles`/`numbering` 一起清 | 只清 body 内容元素 |
| 3 | 手打目录 | 用域代码,交付时提示用户按 F9 更新 |
| 4 | 中文乱码 | 控制台/文件均按 UTF-8;渲染字体用中文字体 |
| 5 | 逐张图调视觉模型 | 先 PIL 网格化再批量评估 |
| 6 | `rm -rf` 清理中间文件被权限规则拦 | 逐文件删除或移到 `_archive/`,**不要用通配符** |
---
## 沉淀去向
- 具体项目产物 → `projects/YYYYMMDD_<slug>/output/`
- 可复用的模板解析片段 → 本 skill 或项目 `work/`
- 一次性的交付记录 → `mcp__agent-memory__memory` → `append`
---
## 反例黑名单
1. ❌ 猜模板格式而不解析
2. ❌ 用空白文档重建(编号必错)
3. ❌ 一次写到底不给用户中间选择点
4. ❌ 逐张图调模型
5. ❌ 交付前不做模板对照检查
6. ❌ 报告中编造数据或文献
---
## 相关技能
- `gongwenformat-pro` — 公文格式专项
- `docx` / `wps-word` — 通用 Word 操作
- `xlsx` / `wps-excel` — 表格数据
在 GitHub 查看