周报转工作台
把《党群工作部(纪检监督部)周工作纪要》末节的「下周主要工作」,批量转成牛马工作台的任务,替代每周手工敲录。
何时使用
在这些说法下执行:把周报录进工作台、这周周纪要录一下、把下周主要工作导进去、周报里的下周工作帮我提出来、周报转工作台、周纪要的下周工作录一下。
不适用,不要执行本流程:写周报、总结或润色周报内容、把周报导出成别的格式、只做周报摘要、整理周报以外的文档。
执行前置:环境检查
- 运行
scripts/check_environment.py,按返回状态路由:
| 状态 | 动作 |
|---|---|
| ready | 跳过全部配置说明,直接进入主流程 |
| partial | 继续主流程;在结果中标注契约自检未通过,按降级矩阵处理落库环节 |
| needs_setup | 只说明缺失的必需项和补齐方式,补齐后重跑检查 |
| unavailable | 说明故障原因、恢复步骤和可用的安全降级 |
- 已通过的检查项不重复讲解。重检时只报状态变化。
主流程
第 1 步 取齐输入
- 周报 docx 绝对路径——必需。用户本轮未提供时直接询问,不在磁盘上猜文件。
- 工作台 HTML 路径——用于契约自检。按
--workspace参数、环境变量NIUMA_WORKBENCH_PATH、询问用户的顺序取值;用户答不上来就跳过自检,不阻断主流程。 - 运行日——默认系统当天。用户说明周报是历史某期时,用
--run-date YYYY-MM-DD指定。 - 优先级与象限——默认
P1和2(重要不紧急)。用户另有要求时才改。
第 2 步 解析并生成补丁
python scripts/parse_weekly_docx.py "<周报.docx>" --workspace "<工作台.html>"
脚本一次完成:定位「下周主要工作」章节 → 提取编号条目 → 计算目标工作周与每条截止日期 → 写出补丁文件 → 打印录入清单。
需要先预览不落盘时加 --dry-run。
退出码含义:0 成功;2 参数或周报文件不可用;3 未找到目标章节;4 章节下无条目。
第 3 步 交清单核对
- 把脚本打印的清单原样呈现给用户,不压缩、不改写。
- 同时列出必须人工复核的四点:未识别行的归属、截止日期落到周五的可疑项、标注"原文日期不在本周周期内"的条目、分组标题是否正确。
- 清单出现 0 条或大量未识别行时,先查周报格式是否与规则一致(
@references/format-rules.md第一至三节),不要手工编造条目顶替。 - 用户要求调整时,用
--priority、--quadrant、--run-date重跑,不直接改补丁文件。
第 4 步 落库
- 告知用户在牛马工作台点击「导入补丁」并选择补丁文件,导入后工作台会提示新增与跳过的条数。
- 不代用户操作浏览器,不修改工作台的本地存储。
- 契约自检未通过时,按降级矩阵走备份合并路径,并先把风险讲清楚。
第 5 步 回报
报告四项:录入条数、跳过重复条数、补丁文件绝对路径、待人工复核项。任一项没有数据时说明原因,不省略。
日期计算规则
| 情形 | 规则 |
|---|---|
| 周一到周五运行 | 目标工作周 = 本周一至本周五 |
| 周六、周日运行 | 目标工作周 = 下周一至下周五 |
| 章节标题含日期范围 | 以标题为准;与系统日期推算不一致时打印差异,不静默选择 |
| 章节标题无日期 | 采用系统日期推算结果 |
| 目标工作周已全部过去 | 停止并报错,提示确认周报期次或指定运行日 |
| 单条任务含具体日期 | 取条目内最晚的一个日期作为截止日 |
| 单条任务无日期 | 截止日 = 目标工作周的周五 |
年份补全、跨年处理、相对时间的处理边界见 @references/format-rules.md 第四节。
周报解析规则
- 只处理含「下周主要工作」的末节章节,本周工作章节一律不动。
- 章节结束于下一个「一、」至「十、」级标题。
- 条目 = 编号行去掉编号后的原文;措辞、标点、书名号、括号内容保持原样。
- 分组标题(
(一)党建、宣传、(二)纪检:、巡视、其他:)只作为分组名写进备注,不生成任务。 - 完整规则、分组词表和字段映射见
@references/format-rules.md。
输出
- 补丁文件:
牛马工作台补丁_YYYYMMDD.json,位于--out-dir(默认周报同目录)。 - 录入清单:打印在标准输出,含周报周期、目标工作周、日期来源、逐条任务、统计行、未识别行。
清单固定形态:
【周报转工作台 · 解析结果】
周报文件:党群工作部(纪检监督部)周工作纪要(9.7日—9.11).docx
周报周期:2026-09-07 — 2026-09-11
目标工作周:2026-09-14(周一) — 2026-09-18(周五)
命中章节:六、下周主要工作(9月14日-9月18日)
日期来源:章节标题解析结果与系统日期计算结果一致
序号 | 截止日期 | 优先级 | 分组 | 任务
1 | 2026-09-15 | P1 | 党建、宣传 | 9月15日(周二),组织参加党组中心组扩大联学。
6 | 2026-09-18 | P1 | 党建、宣传 | 周一国传实习生入职。 [需复核]
13 | 2026-09-20 | P1 | 巡视 | 《工作任务分工表》《对外联络组名单》9月20日报巡视组。 [需复核]
共提取 18 条任务;需人工复核 4 条(日期落在周期外 3 条、相对时间未解析 1 条)
未识别为条目的 0 行
工作台契约自检:通过
补丁文件:牛马工作台补丁_20260914.json
补丁 JSON 的字段结构与工作台对接契约见 @references/format-rules.md 第六节。
降级矩阵
| 功能 | 失败条件 | 降级方式 | 用户补充 | 限制标注 | 恢复方式 | 停止条件 |
|---|---|---|---|---|---|---|
| 周报解析 | 周报是旧版 .doc/.wps,或压缩包缺 word/document.xml |
请用户用 Word 另存为 .docx 后重跑 |
转换后的文件 | 本次未完成解析 | 重新运行脚本 | 用户无法提供 .docx 且不能转换 |
| 章节定位 | 找不到含「下周主要工作」的标题 | 打印文档中全部章节标题,请用户指认目标章节原文 | 章节标题原文 | 未自动解析,条目需按原文逐条确认 | 用户确认后用原文重跑 | 周报无「下周主要工作」内容 |
| 日期计算 | 标题日期与系统日期推算冲突 | 采用标题日期并在清单中打印差异 | 无 | 提示用户核对期次 | 用 --run-date 指定运行日后重跑 |
目标周已全部过去且用户无法确认期次 |
| 截止日期细化 | 条目含「周一」「下周三」等相对时间 | 落到目标工作周周五并在清单标注需复核 | 无 | 截止日为推断值,非原文明确日期 | 用户手工在工作台改期 | 无 |
| 补丁落库 | 工作台未升级补丁导入,契约自检不通过 | 读用户导出备份 JSON,合并任务后回写新备份,由用户走「导入恢复」 | 导出备份文件 | 该路径整体替换任务列表 | 工作台升级后回到补丁路径 | 用户无法提供备份且不允许整体替换 |
| 契约自检 | 未提供工作台路径或文件不可读 | 跳过自检,在结果中标注"未验证" | 工作台文件路径 | 不能保证补丁可被工作台识别 | 提供路径后重跑自检 | 用户坚持在未经自检的工作台上导入且不接受提示 |
质量自查
交付前逐项确认:
- [ ] 目标工作周的起止日期与周报章节标题一致,或已说明差异原因。
- [ ] 录入条数与周报条目数量吻合,未识别行已逐行列出。
- [ ] 所有任务都带
due、createdAt、note和sourceKey,priority为P1。 - [ ] 备注中的分组名与周报小节一致。
- [ ] 补丁文件为 UTF-8、
type为patch、tasks为数组。 - [ ] 工作台契约自检结果已如实报告,未通过时已说明降级路径。
- [ ] 清单与补丁文件同时交付,未只给其一。
停止条件
出现以下任一情况时停下并说明,不用推测结果顶替:
- 周报文件缺失、不可读,或不是标准
.docx。 - 文档中不存在「下周主要工作」内容,且用户无法指认对应章节。
- 目标工作周结束日早于运行日,用户无法确认周报期次。
- 章节存在但提取不到任何编号条目。
- 工作台契约自检未通过,且用户不同意走备份合并路径。