dsh-team-link

跨会话团队协作层 —— 让多个 DSH 会话成为一支有身份、有信任、有账、有形态的队伍。

版本 v0.4.0 10 个模型可见工具 断言 1264 + 269 与宿主 Agent Teams 正交

它解决什么三个痛点

会话之间没有身份

谁是主管、谁是 worker、谁换了人、谁下岗了 —— 没有任何地方记着。

会话之间没有信任

能不能发消息?谁批准?发出去之后对方到底动了没有?

会话会失忆

主会话被压缩后,计划与结论散落在历史里,醒来只剩一句「继续」。

三层结构身份 / 黑板 / 可观测

① 身份与信任层

roster 名册(创建即认领 · 换任 · 退役 · 版本史)· 双门批准与配对(双向免确认)· rotate 换届与 recover 恢复。

② 黑板层

decisions 只追加裁决 · discipline 乐观锁纪律 · tasks 只追加任务台账(读时投影:最后主张 / 未消解存疑,措辞禁用事实化)。

③ 可观测与形态层

list_sessions 有界读窗(点名读 + 分页)· team_link_status 一屏状态卡 · 形态:多会话档 ↔ agent-team 档。

两档拓扑多会话档 ↔ agent-team 档(人确认后才切)

多会话档 · 跨会话 / 跨进程 平级会话 · 本插件的身份与信任层 会话 A · 协调者 roster 现任(创建即认领) 会话 B · worker1 flash 档 会话 C · worker2 flash 档 会话 D · worker3 flash 档 点对点 广播 team:<n>/* 配对(双向免确认) 黑板 <workspace>/team/<name>/ decisions.md 只追加裁决 discipline.md 乐观锁整文件替换 tasks.md   只追加台账 + 读时投影 最后主张 / 未消解存疑 —— 是读数,不是裁决 读写(谁都可写、无权限门;作者记在行内) 换届 rotate:一次性令牌 30 分钟 → 继任者接任 agent-team 档 · 单会话内(宿主) 多会话通道不可用时的兜底档 一个会话(Lead 所在的那个) Lead = 当前根会话 teammate 1 子代理 teammate 2 子代理 teammate 3 子代理 任务板 · 邮箱(宿主提供;本插件只读、不代理) 本插件只记「本团队是 agent-team 档 + Lead 是谁」 这一档用不上:投递 / 配对 / 换届+恢复 / 看门狗 切档不迁移信任、不建桥、不自动改投消息

两档可切:形态由人在对话里指定 → 弹一次确认框 → 落笔并记一行形态史。绝不悄悄降级;切回多会话档时信任要人重新批准。

与宿主 Agent Teams 的关系正交,不是竞争

维度dsh-team-link宿主 Agent Teams
边界跨会话 / 跨进程单会话内的父子(Lead + teammate)
身份团队名册 + 版本史(谁换过任)子代理生命周期
信任独立模型:双门批准 · 配对 · 换届吊销无独立信任模型
结论两者可共存:多会话时用前者,通道不可用时切到后者(形态开关,人确认后才切,绝不悄悄降级)。

实战数据两个真实项目的长跑(已脱敏)

6

条工作线并发推进

12

批闭环 / 一夜,夜间零人工介入

216+

条黑板裁决(从 139 条增长)

13

波推进 / 单日(4 个 worker 并行)

20

条裁定(同日)

14→19

条纪律(被事故逼着长出来的)

纪律本仓的验收文化