Site Tools


研发复盘:冷启动文件

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
研发复盘:冷启动文件 [2026/08/26 08:03] – v4.1 H5新功能 172.17.0.1研发复盘:冷启动文件 [2026/08/27 07:58] (current) – v4.4 负责人折叠/创建带更新 172.17.0.1
Line 1: Line 1:
 ======= 研发任务(日复盘 + H5 管理)— 冷启动文件 ======= ======= 研发任务(日复盘 + H5 管理)— 冷启动文件 =======
  
-> 版本: 4.| 日期: 2026-08-26 | 用途: 研发任务日复盘推送 + H5 任务管理工具的冷启动/重建/排障手册+> 版本: 4.| 日期: 2026-08-27 | 用途: 研发任务日复盘推送 + H5 任务管理工具的冷启动/重建/排障手册
 > 服务器: 腾讯云轻量 lhins-1dai07vu | 系统: Ubuntu | 时区: Asia/Shanghai > 服务器: 腾讯云轻量 lhins-1dai07vu | 系统: Ubuntu | 时区: Asia/Shanghai
-> 工作流: ①**研发任务日复盘**(工作日09:00微信推送)②**研发任务 H5**(http://82.156.85.124:13544/rd/ 浏览器管理)+> 工作流: ①**研发任务日复盘**(工作日09:00微信推送)②**研发任务 H5**(http://82.156.85.124:13544/rd/ 浏览器管理)③**钉钉日报**(工作日10:00发钉钉群) 
 +> v4.4 更新: 负责人折叠选择器(默认收起点击展开,去+更多)、创建任务/子任务可带更新内容、日报子任务只显最新一条、家务每日小初按摩+每10天施肥(家庭侧) 
 +> v4.3 更新: 钉钉全家桶(通讯录MCP+免登+组织架构同步+权限控制)、人员库 people.json 动态化+勾选快捷栏、日报(昨日/今日可选+子任务归属去重+钉钉群webhook发送 cron 52967bf00170)、负责人钉钉下拉+自定义、更新记录倒序、AI对话语言表(SOUL.md) 
 +> v4.2 更新: raw 前缀自动补全(后端 add/update 保证 [优先级](项目) 前缀,防微信复盘缺显示)、name 字段撤回(列表仍显示 raw)、详情页任务名称输入框保留
 > v4.1 更新: 临时小任务独立体系(独立序号/无项目优先级/时间补填/组内分类统计)、子任务更新【任务名-子任务名·负责人】、更新与进度解耦、跟踪任务开始/结束时间自动记录、任务名称字段 > v4.1 更新: 临时小任务独立体系(独立序号/无项目优先级/时间补填/组内分类统计)、子任务更新【任务名-子任务名·负责人】、更新与进度解耦、跟踪任务开始/结束时间自动记录、任务名称字段
 > v4.0 更新: 新增 H5 管理工具章节(部署/API/功能/同步机制/排障);v3.0 的负责人彩色分组、编号复用、工作日周期规则保留 > v4.0 更新: 新增 H5 管理工具章节(部署/API/功能/同步机制/排障);v3.0 的负责人彩色分组、编号复用、工作日周期规则保留
Line 34: Line 37:
 | ~/.hermes/scripts/rd_task_update.py | 微信更新工具(--add 编号复用)| | ~/.hermes/scripts/rd_task_update.py | 微信更新工具(--add 编号复用)|
 | ~/.hermes/scripts/rd_history.py | 历史查询(--month/--week/--last/--all)| | ~/.hermes/scripts/rd_history.py | 历史查询(--month/--week/--last/--all)|
-| ~/.hermes/scripts/rd_h5.py | **H5 后端**(Flask :13544,API + 日报 + 只读)|+| ~/.hermes/scripts/rd_h5.py | **H5 后端**(Flask :13544,API + 日报 + 免登 + 组织架构)|
 | ~/.hermes/scripts/rd_h5.html | **H5 前端**(单文件,无外链)| | ~/.hermes/scripts/rd_h5.html | **H5 前端**(单文件,无外链)|
 | ~/.hermes/scripts/rd_logo.jpg | H5 首页慧飞 logo | | ~/.hermes/scripts/rd_logo.jpg | H5 首页慧飞 logo |
 +| ~/.hermes/scripts/ding_daily_report.py | 日报发送钉钉群(webhook 通道)|
 +| ~/docs/people.json | 人员库(简称→全名 + roles 管理员名单)|
 +| ~/docs/ding_org.json | 钉钉组织架构快照 |
 +| ~/docs/AI对话语言表.md | AI 行为规范(已并入 SOUL.md)|
 | /etc/systemd/system/rd-h5.service | H5 常驻服务(开机自启,root 运行)| | /etc/systemd/system/rd-h5.service | H5 常驻服务(开机自启,root 运行)|
 | cron b9dbd39c3f34 | 复盘推送(0 9 * * 1-5,no_agent)| | cron b9dbd39c3f34 | 复盘推送(0 9 * * 1-5,no_agent)|
 +| cron 52967bf00170 | 钉钉日报(0 10 * * 1-5,no_agent → ding_daily_report.py)|
 | cron af464d70c514 | 古筝课每周课时(无关,勿混)| | cron af464d70c514 | 古筝课每周课时(无关,勿混)|
  
Line 57: Line 65:
 | /api/tasks/<id>/note | POST | 记录更新(自动+2%,99 封顶)| | /api/tasks/<id>/note | POST | 记录更新(自动+2%,99 封顶)|
 | /api/tasks/<id>/subtask/<i>/note | POST | 子任务更新(+2%,记录【子任务·负责人】)| | /api/tasks/<id>/subtask/<i>/note | POST | 子任务更新(+2%,记录【子任务·负责人】)|
-| /api/report/today | GET | 生成研发中心日报(星级评价+只读链接)|+| /api/report/today | GET | 生成研发中心日报(?date=昨日/今日可选;星级评价+只读链接)| 
 +| /api/ding/login | POST | 钉钉免登:authCode → 员工身份(userid/name)| 
 +| /api/ding/org | GET | 钉钉组织架构同步(30分钟缓存)| 
 +| /api/people | GET/POST | 人员库查询/加入(自动简称)|
  
 **H5 功能清单(v4.1,用户定稿):** **H5 功能清单(v4.1,用户定稿):**
Line 64: Line 75:
 - 进度条:宽度=百分比数字(.pfill 必须 display:block);**进度仅手动设置(更新内容不加进度,2026-08-26 定稿)**;有子任务时任务进度=子任务平均 - 进度条:宽度=百分比数字(.pfill 必须 display:block);**进度仅手动设置(更新内容不加进度,2026-08-26 定稿)**;有子任务时任务进度=子任务平均
 - 详情页:任务名称/内容/项目/多负责人/优先级/状态/进度可改;**状态含 未开始/进行中/暂停/已完成**;**开始时间=设进行中或首次更新时自动记录,结束时间=设已完成时自动记录** - 详情页:任务名称/内容/项目/多负责人/优先级/状态/进度可改;**状态含 未开始/进行中/暂停/已完成**;**开始时间=设进行中或首次更新时自动记录,结束时间=设已完成时自动记录**
 +- **负责人选择器**:折叠式(默认收起只显示已选,点击"👤 选择负责人"展开钉钉人员复选框勾选);人员=钉钉通讯录固定
 +- **创建任务可带更新内容**:新增表单(跟踪/临时)有"更新"输入框,创建时自动记录
 +- **创建子任务可带更新内容**:子任务行"更新内容"输入,保存任务后自动记录【任务名-子任务名·负责人】
 - 子任务管理:名称/负责人/进度/更新内容;子任务更新:内容必填→进度+2%(99 封顶),记入总 notes 格式 `【任务名-子任务名·负责人】内容` - 子任务管理:名称/负责人/进度/更新内容;子任务更新:内容必填→进度+2%(99 封顶),记入总 notes 格式 `【任务名-子任务名·负责人】内容`
 - 新增任务两种类型: - 新增任务两种类型:
Line 69: Line 83:
   - ⏱️**临时小任务**:着急当天完成,5分钟<耗时<2小时,负责人必选(字段:任务名称/内容/负责人/开始时间/耗时;创建后默认进行中,时间可完成后补填)   - ⏱️**临时小任务**:着急当天完成,5分钟<耗时<2小时,负责人必选(字段:任务名称/内容/负责人/开始时间/耗时;创建后默认进行中,时间可完成后补填)
 - 临时小任务显示:**独立序号**(每人每天从1开始⏱️1/⏱️2,历史显示📅日期),无项目/优先级/进度条/更新标记,列表只显示任务名称(详情显示完整内容),组头统计`(N项·共X小时Y分)` - 临时小任务显示:**独立序号**(每人每天从1开始⏱️1/⏱️2,历史显示📅日期),无项目/优先级/进度条/更新标记,列表只显示任务名称(详情显示完整内容),组头统计`(N项·共X小时Y分)`
-- 生成日报:标题"研发中心日报",只读链接最前面,负责人全名,任务前【项目名】,星级评价(★~★★★★★)+- 生成日报:标题"研发中心日报",只读链接最前面,负责人全名,任务前【项目名】,星级评价(★~★★★★★);**今日/昨日可选(?date=)**;**子任务归属**(子任务更新协同主任务显示到子任务负责人名下,同子任务只显示最新一条
 - 今日已更新 ✓ 标记;日期按本地零点计算(防 UTC 偏移) - 今日已更新 ✓ 标记;日期按本地零点计算(防 UTC 偏移)
 +
 +====== 3.5 钉钉集成(v4.3) ======
 +
 +- **免登**:钉钉工作台打开 → authCode → /api/ding/login → 员工身份(凭证 .env DINGTALK_CLIENT_ID/SECRET)
 +- **权限**:people.json roles.admin(武燕青/张景茹/潘保琰/席江锋/宋逊文/刘瑞红)= 全功能;普通员工=只看自己任务(主负责+子任务)只读;未登录=只读
 +- **组织架构**:/api/ding/org 拉取钉钉部门+员工(30分钟缓存);人员筛选快捷栏=钉钉全量+勾选配置(localStorage rd_people_picks)
 +- **负责人下拉**:钉钉通讯录 + 自定义人员("+更多负责人"→ /api/people 自动加入)
 +- **日报发送**:ding_daily_report.py → 群机器人 webhook(.env DINGTALK_GROUP_WEBHOOK,研发中心日报群);cron 52967bf00170 工作日10:00自动发当日日报;命令行支持指定日期(发昨日)
 +- **钉钉 MCP**(Hermes 侧):dingtalk-contacts/bot/todo/group/oa(重启 gateway 生效)
  
 ====== 4. 推送格式(微信复盘) ====== ====== 4. 推送格式(微信复盘) ======
Line 144: Line 167:
 | H5 新增任务复盘显示⚪无 | owners 数组 vs owner 单值 → get_owner 兼容 | | H5 新增任务复盘显示⚪无 | owners 数组 vs owner 单值 → get_owner 兼容 |
 | H5 改项目复盘不更新 | project 字段与 raw 不同步 → update_task 同步 raw 项目名 | | H5 改项目复盘不更新 | project 字段与 raw 不同步 → update_task 同步 raw 项目名 |
 +| **H5 保存后复盘缺【优先级】(项目)** | H5 add/update 曾把 raw 存成纯内容丢前缀 → 后端自动补 `[优先级](项目)` 前缀(新增/编辑都保证)|
 | 任务内容丢失 | H5 saveTask 空内容覆盖 → `if(raw)body.raw=raw` | | 任务内容丢失 | H5 saveTask 空内容覆盖 → `if(raw)body.raw=raw` |
 | --add 新增任务优先级解析错 | 正则贪婪 → `^[\(\[]([^\)\]]+)[\)\]]` | | --add 新增任务优先级解析错 | 正则贪婪 → `^[\(\[]([^\)\]]+)[\)\]]` |
研发复盘/冷启动文件.1787731406.txt.gz · Last modified: by 172.17.0.1