Site Tools


研发复盘:冷启动文件

This is an old revision of the document!


研发任务(日复盘 + H5 管理)— 冷启动文件

版本: 4.0 | 日期: 2026-08-26 | 用途: 研发任务日复盘推送 + H5 任务管理工具的冷启动/重建/排障手册
服务器: 腾讯云轻量 lhins-1dai07vu | 系统: Ubuntu | 时区: Asia/Shanghai
工作流: ①研发任务日复盘(工作日09:00微信推送)②研发任务 H5http://82.156.85.124:13544/rd/ 浏览器管理)
v4.0 更新: 新增 H5 管理工具章节(部署/API/功能/同步机制/排障);v3.0 的负责人彩色分组、编号复用、工作日周期规则保留

1. 工作流总览

~/docs/rd_tasks.json(唯一数据源)
  ├─→ 复盘推送: cron b9dbd39c3f34(工作日 09:00)→ rd_daily_review.py → 微信
  └─→ H5 管理: systemd rd-h5.service(:13544)→ rd_h5.py + rd_h5.html → 浏览器
         ↑ 双向同步:H5 里改任务 → JSON → 复盘推送同步显示

两个入口(同一份数据):

入口 用途 地址
——————
微信复盘 每日 09:00 自动推送任务清单+超期提示 cron b9dbd39c3f34
H5 管理 浏览器操作(筛选/进度/子任务/日报/只读) http://82.156.85.124:13544/rd/
H5 只读 给团队/领导查看(无编辑权限) http://82.156.85.124:13544/rd/?ro=1

2. 文件清单

文件 说明
————
~/docs/rd_tasks.json 任务清单(唯一数据源,H5 与复盘共用)
~/docs/rd_tasks_completed.json 已完成任务归档
~/.hermes/scripts/rd_daily_review.py 复盘生成器(cron 调用,no_agent)
~/.hermes/scripts/rd_task_update.py 微信更新工具(–add 编号复用)
~/.hermes/scripts/rd_history.py 历史查询(–month/–week/–last/–all)
~/.hermes/scripts/rd_h5.py H5 后端(Flask :13544,API + 日报 + 只读)
~/.hermes/scripts/rd_h5.html H5 前端(单文件,无外链)
~/.hermes/scripts/rd_logo.jpg H5 首页慧飞 logo
/etc/systemd/system/rd-h5.service H5 常驻服务(开机自启,root 运行)
cron b9dbd39c3f34 复盘推送(0 9 * * 1-5,no_agent)
cron af464d70c514 古筝课每周课时(无关,勿混)

3. H5 管理工具(v4 新增)

启动/重启: `sudo systemctl restart rd-h5.service`(用 ctwing-2 venv 的 python,有 flask)

API 一览:

接口 方法 功能
——————
/rd/ GET H5 页面(no-cache 头)
/rd/?ro=1 GET 只读模式(隐藏所有编辑入口)
/rd/logo.jpg GET 首页 logo
/api/tasks GET 任务列表(含 owner_map/projects)
/api/tasks POST 新增任务(type: track/temp)
/api/tasks/<id> POST 更新(priority/owners/project/status/progress/subtasks)
/api/tasks/<id> DELETE 删除(编号释放)
/api/tasks/<id>/note POST 记录更新(自动+2%,99 封顶)
/api/tasks/<id>/subtask/<i>/note POST 子任务更新(+2%,记录【子任务·负责人】)
/api/report/today GET 生成研发中心日报(星级评价+只读链接)

H5 功能清单(用户定稿): - 筛选:优先级/项目/状态/更新天数(1-30 工作日)/搜索/人员点击(多选) - 默认按人员分组,组内高→中→低;点人显示主负责+子任务负责两组;“全部”按钮 - 进度条:宽度=百分比数字(.pfill 必须 display:block);手动设置;每日更新自动+2%(99 封顶,100 手动);有子任务时任务进度=子任务平均 - 详情页:内容/项目/多负责人/优先级/状态/进度可改;子任务管理(名称/负责人/进度/更新内容) - 子任务更新:内容必填→进度+2%,记入总 notes 格式 `【子任务名·负责人】内容` - 新增任务两种类型:📌跟踪任务(持续多人跟踪,时间跨天)| ⏱️临时小任务(着急当天完成,5分钟<耗时<2小时,字段:名称/内容/负责人/开始时间/耗时) - 生成日报:标题“研发中心日报”,只读链接最前面,负责人全名,任务前【项目名】,星级评价(★~★★★★★) - 今日已更新 ✓ 标记;日期按本地零点计算(防 UTC 偏移)

4. 推送格式(微信复盘)

📋 研发任务日复盘 2026-08-26(在办 N 项)

🔵武 1: ✅【中】(其他)25年项目验收(8月底统一处理) 📊0%  📝 今日: 内容
🟣张 7: 【中】(P3)P3电路测试(安排) 📊50%  📝 昨天: 内容
...
⏸️ 挂起: ...
⚠️ 超期未更新(工作日): #N(...)← 超期X个工作日
🏁 已完成: ...
💬 更新方式:发「更新N:内容」或「N:完成」;新增任务发「新增(高)(项目)任务内容」

格式铁律: - 负责人:彩色圆点+简称(🔵武/🟣张/🟠潘/🔴席/🟢宋/🟡刘/🟤汤/⚪无),按负责人分组,组内高→中→低 - 半角 `[中]` 是微信表情代码会被吞 → 必须全角【】;项目名必须用小括号且不能为空 - ✅ 绿钩=今日更新;📊N%=进度(H5 同步);📝 只显示最新一条更新(今日覆盖历史) - 更新记录日期:今日/昨天/前天/M月D日(自然日) - 编号:阿拉伯数字;完成/删除后释放复用(新增用最小空缺,不重排)

5. 更新周期(2026-08-25 定稿,按工作日)

优先级 周期 说明
——–————
1 个工作日 每日必更(进度%+内容描述)
3 个工作日
5 个工作日
挂起 30 个工作日

- 工作日 = 跳过周六日(H5 筛选与复盘超期提示一致) - 超期未更新 → ⚠️ 超期提示(H5 任务行红字 + 复盘推送末尾列表) - 周末不推送(cron 0 9 * * 1-5)

6. 负责人映射与项目规范

负责人简称→全名(H5 显示全名,复盘显示简称): 武=武燕青 | 张=张景茹 | 潘=潘保琰 | 席=席江峰 | 宋=宋讯文 | 刘=刘瑞红 | 汤=汤宝岩

项目(2026-08-25 合并定稿): 拓远T1(拓远+T1)| 普惠P1(P1+普惠P1)| 金穗S1(金穗+金穗S1+S1)| 其他(研发文件+管理+模具+测试)| P3 | P5 | 表压 | 软管泵 | 施肥阀 | AI 等

7. 任务 JSON 结构

{"id": 4, "raw": "[中](拓远T1)二维码,安排实际尺寸测试",
 "priority": "中", "project": "拓远T1",
 "owners": ["席"], "last_update": "2026-08-26",
 "done": false, "progress": 51, "status": "进行中",
 "notes": [{"date": "2026-08-26", "text": "【子任务·负责人】内容"}],
 "subtasks": [{"name": "子任务", "owner": "张", "progress": 50}],
 "type": "track", "start_time": "", "duration": 0}

- id:编号复用(最小空缺);raw:用户原文(含[优先级](项目名)) - owners 数组(H5 v2+);旧数据兼容单值 owner(复盘 get_owner 兼容) - progress:H5 设置/自动+2%;有子任务时=子任务平均 - type:track/temp;temp 任务含 start_time/duration(5<分钟<120)

8. 排障速查(血泪教训)

症状 原因与修复
—————–
H5 进度条不按比例 `.pfill` 是 span(inline),width% 无效 → 加 `display:block`
昨天更新显示“今日” daysAgo 用 UTC 解析偏移 8h → `setHours(0,0,0,0)` 本地零点
“今日已更新”筛选含昨天 workdaysBetween `while(d<t)` 漏算今天 → `while(d⇐t)`
昨天更新仍在“今日已更新” 浏览器缓存旧 JS → 后端加 no-cache 头
H5 新增任务复盘显示⚪无 owners 数组 vs owner 单值 → get_owner 兼容
H5 改项目复盘不更新 project 字段与 raw 不同步 → update_task 同步 raw 项目名
任务内容丢失 H5 saveTask 空内容覆盖 → `if(raw)body.raw=raw`
–add 新增任务优先级解析错 正则贪婪 → `[\(\[]([\)\]]+)[\)\]]`
挂起任务更新不显示 v1 bug → 挂起分支也调 note_suffix
微信 [中] 变“中”(项目)丢失 半角[]是表情代码 → 全角【】
gateway 内重启被拦截 从外部 shell 重启(SIGTERM 传播)
用户报编号对不上 编号释放/复用 → 按任务名称匹配

9. 冷启动恢复步骤

1. 恢复 ~/docs/rd_tasks.json、rd_tasks_completed.json 与 ~/.hermes/scripts/ 全部脚本(rd_daily_review.py、rd_task_update.py、rd_history.py、rd_h5.py、rd_h5.html、rd_logo.jpg) 2. 复盘 cron:`研发任务日复盘` 工作日 09:00(0 9 * * 1-5),no_agent=true,script=rd_daily_review.py,deliver=origin 3. H5 服务:`sudo cp rd-h5.service /etc/systemd/system/ && sudo systemctl enable –now rd-h5`(用 ctwing-2 venv python 跑) 4. 防火墙放行 13544(腾讯云轻量 ap-beijing lhins-1dai07vu) 5. 测试:`python3 ~/.hermes/scripts/rd_daily_review.py` + `curl http://127.0.0.1:13544/api/tasks`

10. 常用命令

# 手动生成复盘
python3 ~/.hermes/scripts/rd_daily_review.py
# 微信更新任务
python3 ~/.hermes/scripts/rd_task_update.py "N" "内容"      # 更新
python3 ~/.hermes/scripts/rd_task_update.py "N" "完成" --done  # 完成归档
python3 ~/.hermes/scripts/rd_task_update.py --add "[中](项目)内容"  # 新增(自动最小空缺编号)
# H5 重启
sudo systemctl restart rd-h5.service
# 历史查询
python3 ~/.hermes/scripts/rd_history.py --month 2026-08
# 生成日报
curl http://127.0.0.1:13544/api/report/today

11. 注意事项

- 任务清单是唯一数据源,改 JSON 前先备份 - 删除任务需用户明确确认;删除/完成后不重排编号,空缺供新任务复用 - H5 与复盘共用 JSON:H5 里的修改(项目/优先级/负责人/进度/内容/子任务)全部同步到复盘推送 - raw 用户原文一字不改;只加编号/项目/进度展示层转换 - 只读链接 `/rd/?ro=1` 无任何编辑入口,适合外发

研发复盘/冷启动文件.1787716110.txt.gz · Last modified: by 172.17.0.1