This is an old revision of the document!
Table of Contents
研发任务日复盘 — 冷启动文件
版本: 2.0 | 日期: 2026-08-23 | 用途: 研发任务日复盘工作流的冷启动/重建/排障手册
服务器: 腾讯云轻量 lhins-1dai07vu | 系统: Ubuntu | 时区: Asia/Shanghai
工作流名称: 研发任务日复盘(工作日09:00微信自动推送任务清单+更新提示+逾期提醒)
v2.0 更新: ①格式改为【全角优先级】无颜色圆点 ②今日更新=✅绿钩+📝全部更新记录(今日/昨天/前天/M月D日)③挂起任务15天提醒且显示更新 ④周末(周六日)不推送 ⑤完成任务自动归档+按月/周历史查询(rd_history.py)
—
1. 工作流总览
任务清单(~/docs/rd_tasks.json) → 工作日09:00 cron 触发 rd_daily_review.py(周一~周五,cron 0 9 * * 1-5) → 生成复盘文本(编号: ✅【优先级】(项目名)任务内容 📝 全部更新记录) → 微信推送(no_agent 脚本模式,stdout 即消息)
用户更新方式(随时): - 「更新N:内容」→ 记录更新(按 编号/关键词 匹配) - 「N:完成」→ 标记完成 + 自动归档到历史文件 - 「新增[高](项目)任务内容」→ 自动续号新增 - 「第N项挂起/删除/优先级改X」→ 状态调整(删除需用户明确确认)
2. 文件清单
| 文件 | 说明 |
| —— | —— |
| ~/docs/rd_tasks.json | 任务清单(唯一数据源) |
| ~/docs/rd_tasks_completed.json | 已完成任务历史归档(自动写入) |
| ~/.hermes/scripts/rd_daily_review.py | 每日复盘生成器(09:00 cron 调用) |
| ~/.hermes/scripts/rd_task_update.py | 任务更新/新增/完成归档工具 |
| ~/.hermes/scripts/rd_history.py | 历史查询工具(–month/–week/–last/–all) |
| cron b9dbd39c3f34 | 「研发任务日复盘」工作日 09:00(no_agent=true,0 9 * * 1-5) |
3. 推送格式(微信优化版·v2.0)
📋 研发任务日复盘 2026-08-23(在办 33 项) 1: 【中】(其他)25年项目验收(8月底统一处理) 2: ✅【中】(表压)爆破胶测试,100套 📝 08月18日: 今日已安排任务;08月19日: 100套;前天: 21号样品未到 27: 【挂起】(其他)发明专利申请 📝 08月19日: P3实用新型大概一年... ⏸️ 挂起: 3: 【挂起】(售后)新和P1邱反馈的李世豪充不进去电 🏁 已完成: 22: [中](测试)准备100台lora设备,测试lora网关 💬 更新方式:发「更新N:内容」或「N:完成」;新增任务发「新增[高](项目)任务内容」
格式规则: - `编号: ✅【优先级】(项目名)任务内容 📝 更新记录1;更新记录2…` - ✅ 绿色钩 = 今日已更新(无颜色圆点,用户2026-08-19定稿去掉) - 优先级必须用全角【】——半角 `[中]` 会被微信当表情代码吞掉(只剩“中”且项目名连带丢失) - 项目名必须用小括号且不能为空(如 (乌苏)) - 更新记录全部保留显示(不只最后一条),逐条前缀:今日/昨天/前天/M月D日 - 任务完全保留用户原始文本(raw),只在前面加编号、后面附更新 - 挂起任务排最后(⏸️ 挂起分组),同样显示更新记录
4. 优先级与更新周期
| 优先级 | 更新周期 | 逾期提示 | 必须更新红线 |
| ——– | ———- | ———- | ————– |
| 高 | 1天 | 超1天提示 | 超5天 🔴 |
| 中 | 2天 | 超2天提示 | 超5天 🔴 |
| 低 | 3天 | 超3天提示 | 超5天 🔴 |
| 挂起 | 15天 | 超15天提示 | 不触发(挂起例外) |
周末(周六日)不推送——cron 调度 `0 9 * * 1-5`。
5. 任务清单 JSON 结构
{"id": 1, "raw": "[中](其他)25年项目验收(8月底统一处理)",
"priority": "中", "last_update": "2026-08-18",
"done": false, "completed_date": null,
"notes": [{"date": "2026-08-18", "text": "今日更新内容"}]}
- raw:用户原始任务文本(含[优先级](项目名)),一字不改 - priority:高/中/低/挂起(必须与 raw 开头 [x] 一致!曾因正则 bug 污染成“中)(其他”导致【】转换失效) - notes:更新日志(date+text),复盘全部显示(今日/昨天/前天/M月D日前缀) - done + completed_date:完成标记;标记完成时自动归档到 rd_tasks_completed.json
6. 历史归档与查询
- 完成任务自动写入 `~/docs/rd_tasks_completed.json`(含 raw/优先级/完成日期/全部 notes) - 查询工具:
python3 ~/.hermes/scripts/rd_history.py --month 2026-08 # 按月 python3 ~/.hermes/scripts/rd_history.py --week 2026-08-19 # 按周 python3 ~/.hermes/scripts/rd_history.py --last 30 # 最近N天 python3 ~/.hermes/scripts/rd_history.py --all # 全部
7. 排障速查(血泪教训)
| 症状 | 原因与修复 | ||
| —— | ———– | ||
| 微信里 [中] 变“中”、(乌苏) 消失 | 半角 `[中]` 是微信表情代码语法被吞!→ 输出时转全角【中】(raw 保持用户格式,显示层转换) | ||
| 挂起任务的更新不显示 | v1.0 bug:挂起分支未附 notes → v2.0 挂起任务同样调用 note_suffix 显示全部更新 | ||
| 某些任务【】转换不生效 | priority 字段被污染(如“中)(其他”)→ 从 raw 开头 ` | \[([ | \[\]]+)\]` 重新提取修复 |
|---|---|---|---|
| –add 新增任务优先级解析错 | 正则贪婪匹配吞掉项目名括号 → 用 ` | [\(\[]([ | \)\]]+)[\)\]]` 只匹配开头第一组 |
| “完成”字样误标记完成 | 只有内容精确等于“完成/已完成/搞定/结束”才 done=True(–done 强制) | ||
| 手动重启 gateway 被拦截 | gateway 进程内 systemctl restart 会被安全机制拦截(SIGTERM 传播)→ 从外部 shell 重启 |
8. 冷启动恢复步骤
1. 恢复 ~/docs/rd_tasks.json、rd_tasks_completed.json 和 ~/.hermes/scripts/(rd_daily_review.py、rd_task_update.py、rd_history.py) 2. 建 cron:`研发任务日复盘` 工作日 09:00(`0 9 * * 1-5`),no_agent=true,script=rd_daily_review.py,deliver=origin 3. 测试:`python3 ~/.hermes/scripts/rd_daily_review.py` 手动看输出 4. 测试推送:cronjob run 或等工作日 09:00 5. 更新任务:`python3 ~/.hermes/scripts/rd_task_update.py “关键词” “内容”` 或直接对话让 AI 调
9. 常用操作命令
# 手动生成复盘文本 python3 ~/.hermes/scripts/rd_daily_review.py # 更新任务 #5 python3 ~/.hermes/scripts/rd_task_update.py "5" "今日完成XX" # 标记完成(自动归档) python3 ~/.hermes/scripts/rd_task_update.py "5" "完成" # 新增任务(自动续号) python3 ~/.hermes/scripts/rd_task_update.py --add "[高](金穗)xxx任务" # 历史查询 python3 ~/.hermes/scripts/rd_history.py --month 2026-08
10. 注意事项
- 任务清单是唯一数据源,直接改 JSON 前先备份(cp rd_tasks.json rd_tasks.json.bak) - 用户原始文本(raw)一字不改,只加编号和尾部更新 - 删除任务需用户明确确认(2026-08-18 定稿规则:所有删除操作必须先经用户同意) - 新增任务自动取 max(id)+1;删除后重排编号需用户要求时执行 - 挂起任务 15 天提醒一次(不算“5天必须更新”红线) - 周末不推送(工作日 09:00)
