Files
dsh_ai1net_server/交付物/多会话协同机制-实施方案-20260929.md
admin c1b5e4d966 chore(工作区): 全量入库 + 补齐 .gitignore(以工作区为准)
- 变更规模:新增 514 / 修改 62 / 重命名 155 / 删除 4(归档重组与文档轮次)
- .gitignore 修:`归档/**/db-cwd归一-备份-*/` —— 原规则写绝对层级(归档/db-cwd归一-…),
  目录搬进 归档/配置与备份/ 后**静默失效**,43 MB 的 DB 备份又变成未跟踪
- .gitignore 补:嵌套 git 内部数据(归档/内嵌git-20261008/、归档/skills-git-旧线-20261007/dotgit-原样移出/)
- .gitignore 补:运行态与部署副本(.workbuddy/collab/、.workbuddy/tools/、.workbuddy/.load-pending、.workbuddy/tmp-*)
- .gitignore 补:备份件(*.bak-*)
- 未跟踪文件从 2190 降到 890(其余为 归档/ 归档件与 .workbuddy/memory/ 知识文件,按口径入库)
2026-10-10 23:13:22 +08:00

6.6 KiB
Raw Permalink Blame History

多会话协同机制 · 实施方案(怎么实现它)

⛔ 已退役(2026-09-30)

本件(实施方案)的内容已并入 → E:/ProgramData/.workbuddy/skills/multi-session-collab/references/architecture.md(协作机制的唯一权威文档) ⇒ ⛔ 别再引用本件做判断(曾因它把旧结论当现状);本件只作历史沿革留档,⛔ 已不再维护。 依据:用户 2026-09-29 定案「只有一份架构文档」「一切迭代都在 skill 内」「⛔ 不在工作区或别处另开平行文档」。

配套:机制定义 ⇒ 多会话协同机制-定稿-20260929.md|作业规程 ⇒ 协同监管棒-SOP.md|执行纪律 ⇒ CODEBUDDY.md §1.5 本件回答一个问题:这套机制要"实现",具体要做哪几件事、谁做、怎么验。


一、组件清单:已就绪 vs 待落地

# 组件 状态 说明
① 机械层脚本 advance-watch.py ✅ 已就绪 直读 automation_runs 拿各线收官结论 + 判三线靶点/全局靶点/锁;自带 120s 节流、异常全吞
② 收结果通道(直读宿主库) ✅ 已就绪 实测已读到棒 1b 完成结论、「IN_PROGRESS」也在
③ 决策层规程 协同监管棒-SOP.md ✅ 已就绪 收产出→判 V1–V7→刷看板→派下一棒→异常处置
④ 进度看板(用户唯一入口) ✅ 已就绪 每轮覆写
⑤ 派活模板(含必含三条款) ✅ 已就绪 多会话协同机制-定稿 §4.1
⑥ 兜底自动化(每小时循环) ✅ 已就绪 1eaf45c3,至 09-30 12:00
⑦ 钩子挂载生效 🔴 未落地 我改过 wb-result-hook.py;但钩子是「会话启动时快照」 ⇒ 必须完全重启 WorkBuddy 才生效(关窗 ≠ 退出)。没做完这步,① 永远不会被自动触发。
⑧ 「完成即推进」不依赖纪律 🔴 本轮刚补 已写进 CODEBUDDY.md §1.5 D ⑤(每次会话开机必读)⇒ 从"口头纪律"升级为"硬规则"
⑨ 收敛判据机械化 🟡 部分 V4/V5/V7 里可机械判的项可继续加进 ① 的 TARGETS;需 AI 判断的(V1/V2 语义)留给监管棒

⇒ 一句话:① 待做(需你配合重启);⑧ 已补;⑨ 增量可做。


二、"完成即推进"到底怎么实现 —— 四条路,选了哪条

方案 做法 优点 缺点 判定
A 完成方自己叫 各棒收尾时创建一次性自动化叫监管棒(now+2min) 零新增件;≈2 分钟;不靠常驻 依赖执行方记得(会漏) 🟡 可接受,且已写进 §1.5 D⑤ ⇒ 变成必读硬规则,漏的概率大降
B 钩子直接派活 钩子里 POST /api/v1/scheduled-tasks 建任务 全自动、即时 🔴 违反钩子纪律(七条硬纪律明令:钩子不读令牌、不联网、不起子进程);且要处理 sessionId ⛔ 不可用
C 钩子只落标志 + 整点兜底读 钩子写"待推进"文件;每小时轮读它再派 完全合规、零 token 最慢 60 分钟(回到"稀饭凉") 🟡 仅作兜底
D 独立常驻进程 独立窗口/计划任务里的进程,读标志 → 调网关建自动化 秒级、不占会话 ①多一个常驻;②它不是 WorkBuddy 后代 ⇒ 拿不到口令(同 G-C 困境)⇒ 调不了网关 ⛔ 不可行(口令)

⇒ 选定:A 为主(且已升格为必读硬规则)+ C 为兜底(= 现有每小时循环)。 关键洞察:宿主只给两种"等待"形态 —— 钩子(被明令禁网)与自动化(能开会话、但有粒度下限)。⇒ "完成即推进"在合规前提下的最短路径,就是让完成方自己叫(≈2 分钟),这条路已通过 §1.5 变成制度。


三、实施步骤(按顺序,每步都可独立验证)

步 做什么 谁做 怎么验(判据) 阻塞
S1 完全重启 WorkBuddy(让 ⑦ 钩子改动生效) 需用户(会打断在跑会话,要在你合适的时间做) 新会话收尾后:tmp/supervise-inbox/advance.md 的 mtime 变新;_phone-bridge.log 类似台账出现新增行 ⚠️ 等你定时机
S2 各棒按 §1.5 D⑤ 收尾即叫监管 各线会话 看板在上游完成后 ≈2 分钟内被刷新(看板里「更新时间」跳变) 已具备(规则已进 §1.5)
S3 收敛判据机械化(把 V4/V5/V7 可机械项加进 advance-watch.py 的 TARGETS) 我 跑一轮 advance-watch.py --force,advance.md 里出现对应 ✅/⛔ 行 无
S4 每轮监管棒刷新看板 + 按异常处置表派活 监管棒(每小时 + 收尾触发) 看板「更新时间」持续跳变;缺口消失即 V 判据转 ✅ 无
S5 V1–V7 全过 ⇒ 收敛 监管棒 看板标「目标达成」,不再派棒 依赖 S1–S4 + 业务线真装

四、验收:怎么算"这套机制实现了"

# 判据 怎么测
M1 钩子真的被触发 造一次会话收尾 ⇒ advance.md mtime 变新(S1 之后才可能)
M2 收结果零轮询、零 token 只读一次 automation_runs 就能列出各线结论(已实测 ✅)
M3 完成 → 推进 ≈2 分钟 某棒收尾后,看板在 2 分钟内刷新(S2)
M4 兜底有效 即使完成方忘记叫,≤60 分钟内仍会被推进(每小时循环)
M5 不影响 WorkBuddy 本身 全程 ⛔ 无会话后台任务、⛔ 无常驻;WorkBuddy pid 恒定、宿主会话能回 idle
M6 收敛可停 V1–V7 全过 ⇒ 看板标达成、停止派棒、明说"可结束监管"

五、未决 / 风险(如实登记)

  1. 🔴 S1 需你拍板时机 —— 「完全重启 WorkBuddy」会打断所有在跑会话,属影响面超出本功能 ⇒ 必须你定时间(这也是机制里唯一必须你介入的点)。
  2. ⚠️ A 方案仍可能被漏(执行方忘记叫)⇒ 靠 M4 兜底兜住;若发现漏得频繁,可把兜底从"每小时"加密为多个错开的一次性自动化(rrule 校验器只接受整小时粒度,密不过 1 小时)。
  3. ⚠️ automation_runs.thread_title 的语义依赖宿主实现;若某次结论为空([IN_PROGRESS] 正在跑就是空的)⇒ 判据以 status 为准,不把"空标题"当"没干活"。