shenhuanageshei/dsh-team-link

Session deep links + full session export (markdown/JSON) + approved cross-session messaging with pairing for DeepSeek Harness (dsh).

Project Overview项目介绍

dsh-team-link is a multi-session collaboration plugin built natively for DeepSeek Harness (DSH). The repository ships under the name dsh-team-link (formerly dsh-session-link-pro), carries a bundle-manifest, an MIT license, and is categorized under the deepseek-harness and dsh-plugin labels for direct mounting inside a DSH instance. It targets parallel sessions running within the same DSH install and equips them with cross-session messaging, a roster blackboard, dual-gate approval, one-shot token rotation, deep-link /s/<id> openers, a read-only team status card, and a cross-process watchdog so peer sessions can see each other, talk to each other, and hand off work to each other.

A typical workflow starts with a human assembling a cross-session team by picking one coordinating session plus several worker sessions, all of which may freely use different providers, models, or thinking intensities because identity is bound to the session, not the model. The coordinator runs consults, records decisions into the append-only tasks.md ledger, and watches workers catch each other's mistakes, including missed commits, factual misjudgments, and silent no-op fixes flagged before they ever reached production. When the lead session tires, disconnects, or is restarted, a new session performs a full claim using a one-shot token plus a trust snapshot, broadcasts a rotation-freeze, and seamlessly continues the long-running task with zero loss on disk; this is the exact mechanism demonstrated in the case studies (one 12-batch overnight push and one 13-wave same-day data-platform sprint). The plugin is orthogonal to DSH's built-in experimental Agent Teams: pick the builtin when you need fast sub-agent fan-out inside a single session, and pick dsh-team-link when you need cross-process trust, rotation, and human-in-the-loop authorization across independent sessions.

Dependencies and limits include requiring a DSH 0.1.7-rc-series runtime, with some hardening features gated on a DSH restart window, and explicit disagreement with the built-in Agent Teams that the plugin does not replace. The current release is 0.3.10 (2026-09-22), backed by 1193 plus 269 test assertions and mutation-verification evidence documented in docs/verification-log.md. Installation follows §九: load the bundle-manifest as a DSH plugin, enable it from the plugins page, then complete first-time pairing manually because the only new authorization point is a human click (fail-closed).

dsh-team-link 是一款 DeepSeek Harness(DSH)原生的多会话协作插件,仓库命名为 dsh-team-link(旧名 dsh-session-link-pro),分类在 deepseek-harness / dsh-plugin 之下,附带 bundle-manifest 与 MIT 许可证。它面向同一 DSH 实例里并行运行的多个会话,提供跨会话消息、roster 黑板、双门批准、一次性令牌换届、深链 /s/<id> 打开、只读团队状态卡以及跨进程看门狗等工具,让平级会话之间互相看得见、说得上话、交接得了班。

典型工作流是:人类组建一支跨会话团队,指定一名协调者会话和若干 worker 会话,工作线通过会话工具互相投递、互相核对抓错、协调者主持会诊并写入只追加的 tasks.md 台账;当主管会话疲劳或下线时,由新会话凭一次性令牌 claim 接管,完成信任快照与 rotation-freeze 广播,长跑任务得以无缝续命。目标用户是需要长时间、多线并行、且对会话身份与信任边界有硬性要求的 DSH 玩家。

依赖与限制方面,插件需要 DSH 0.1.7-rc 系列起的运行环境(部分加固特性须配合 DSH 重启窗口),与内置实验性 Agent Teams 在结构上正交,不存在二选一;当前版本 0.3.10(2026-09-22),测试覆盖 1193 + 269 条断言并附变异验证。安装方式为将 bundle-manifest 作为 DSH 插件装载并按 §九 步骤启用,首启需在插件页显式打开并人工完成首次配对授权。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 4 stars - very few users, little community feedback星标只有 4,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:shenhuanageshei/dsh-team-link

把 shenhuanageshei/dsh-team-link 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-team-link

DeepSeek Harness (DSH) 的「多会话协作」插件 —— 让同一个 DSH 实例里并行干活的多个会话互相看得见、说得上话、交接得了班。

原名 dsh-session-link-pro(0.2.4 及之前),GitHub 仓库已于 2026-09-18 改名为 dsh-team-link(旧地址由 GitHub 自动重定向)。历史会话日志里的旧工具名 session_link_pro_* 与消息 id 前缀 slp- 保持原样——它们是取证链,不做回写。

tests version license

Fork 自 PwnKY/dsh-session-link——深链复制、/s/<id> 打开器与深链上下文注入保留自上游;本仓库在其上长出了完整的多会话协作层。

与 DSH Agent Teams 的关系:正交,不是竞争

DSH 0.1.7-rc 系列起随包提供实验性的 Agent Teams(@deepseek-ai/dsh-experimental-agent-team-profile,默认关闭、需在插件页显式开启):一个会话可以创建具名 teammate(子代理)、与它们交换持久消息、用一张共享任务板协调工作,并在 Web 面板里看成员与任务。它和本插件解决的是两件不同的事:

内置 Agent Teams dsh-team-link(本插件)
团队是什么 一个会话内部的团队:Lead 会话 + 它生出来的子代理,单根树 会话之间的团队:几个平级、各自独立生死的会话
身份与家谱存在哪 Lead 会话的日志里(TeamId = Lead 的 SessionId) 插件 settings 的 teams 键,不挂在任何会话身上
进程边界 单进程 —— 官方明确「多个进程需要协调同一支团队」不在支持范围 跨会话、跨进程
信任模型 不需要:子代理的权限由 Lead 派生 必须有:双门批准 · 配对 · 一次性令牌换届 · 退役者对称吊销
人在环 Lead 即授权者 唯一的新授权点是人类点击(fail-closed)
换人 / 换届 没有这个概念:持久状态要有人重开 Lead 会话才回放得动 revive / reappoint 两个封闭动词 + 令牌换届 + 信任迁移
工作跟踪 有共享任务板(CAS revision · 依赖 · 写作用域) 只追加的任务台账 tasks.md(记「谁声称了什么」,读面的「最后主张 / 未消解存疑」是派生读数、绝不自动裁决;§9 第一批已实施)
稳定性 实验原型,不承诺稳定性,schema 可自由变更 1324 + 310 条断言 + 变异验证(红相必红:DEFECT-5(2026-09-30,revive 的 resume 面漏了宿主自己那条 resume 的三样)10 条新判据 + 1 条改写打在本轮修复前的实现上实测红 11 条(聚合红相 1324 (failed: 11));形态批 41 条新判据打在实施前的实现上实测红 33 条;分歧修复轮 DIVERGENCE(8) 的 16 条新判据(+ 3 条改写)打在本轮修复前的实现上实测红 13 条(首跑打印的 14 条里有一条是夹具假红,已归因;另 6 条为覆盖缺口类、本就绿,如实标负相);收尾修复轮(R1–R6)的 9 条新判据(+ 1 条改写)打在本轮修复前的实现上实测红 8 条(另 2 条为覆盖缺口类 / 反向锁,如实标 ★ 负相);真机冒烟修复轮(L1 时基 / L2 镜像)的 10 条新判据(+ 10 条改写)打在本轮修复前的实现上实测红 16 条(聚合红相 1203 (failed: 16) = 6 条新判据 + 10 条改写的期望值;另 4 条新判据为覆盖缺口类,本就绿,如实标 ★ 负相)—— 策略持久化自持化一轮(2026-09-27)新增 34 条宿主断言(1237 = 1203 + 34):文件后端档的 11 条打在实施前的实现上,其中 7 条实测红(聚合红相 1214 (failed: 7),含 1 条 import 白名单锁)+ 4 条覆盖缺口类 ★ 负相(本就绿,如实标);折叠/可核/迁移档的 23 条问题先于实现写出,其区分性改用变异验证(8 次单点变异逐条证明新判据真会变红,见该节);分歧审计修复轮(DIVERGENCE(10),2026-09-27)新增 7 条宿主断言(1244 = 1237 + 7),打在本轮修复前的实现上实测红 6 条(聚合红相 1244 (failed: 6)),另 1 条为覆盖缺口类 ★ 负相);代码评审修复轮(2026-09-27,2 🟡 + 4 🔵)新增 11 条宿主断言(1255 = 1244 + 11):U11 损坏档守卫 4 条、U12 写失败 warn 按段复位 2 条、foldedAt 盖戳门 2 条、refused 未挂载窗口 3 条,打在本轮修复前的实现上实测红 8 条(聚合红相 1255 (failed: 8)),另 3 条为控制/对照项 ★ 负相;代码评审第 2 轮(2026-09-27,1 🟡 + 2 🔵)新增 7 条宿主断言(1262 = 1255 + 7):🟡#1 catch 支盖戳门 + 🔵#2 数组 policy 也判损坏 + 🔵#3 两因并存并陈,打在本轮修复前的实现上实测红 4 条(聚合红相 1262 (failed: 4)),另 3 条为控制项 ★ 负相;代码评审第 3 轮(2026-09-27,2 🟡 + 1 条文档滞后)新增 2 条宿主断言(1264 = 1262 + 2):🟡#1 fold failed 后链尾不回写 + 🟡#2 detach() 同步置窗口判据,打在本轮修复前的实现上实测红 2 条(聚合红相 1264 (failed: 2),控制条件并入同条断言);C 批分歧审计修复轮(2026-09-27,🔵#2/#3/#4/#5)新增 1 条宿主断言(1300 = 1299 + 1):🔵#5 的 null 判据,打在本轮修复前的实现上实测红 1 条(聚合红相 1300 (failed: 1))—— 该条的红是判据面 + 「行为修正」标记缺席(null 一档的行为在修复前已成立,如实标 ★ 负相、不冒充红相);C 批代码评审修复轮(2026-09-27,2 🟡 + 4 🔵)新增 12 条断言(host 6 + client 6,1306 = 1300 + 6 / 305 = 299 + 6):面板类名↔规则 2 · 翻页不回卷 3 · 降级句随页 1 · 派生行归属 2 · wellFormed 2 · key 完备 2,打在本轮修复前的实现上实测红 9 条(聚合红相 host 1306 (failed: 5) / client 305 (failed: 4)),另 2 条为控制/对照项 ★ 负相(本就绿)、1 条为实施后补强且未取得红相读数(如实标注,不冒充))

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-obsidian 下一个 Next dsh-memory-toolkit →