并排运行多个 DeepSeek Harness 会话,让它们互相交接任务,并在同一张只读看板上看清整场协作。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-call-session
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:popu2do/dsh-call-session
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
看板
两个长期运行的会话互相交接任务,看板同时展示双方工作区、会话节点、共享黑板条目以及它们之间的调用连线。
- 拓扑呈现:展示工作区分组列、运行与就绪状态节点、黑板条目及存活倒计时、调用连线轨迹。
- 交互观测:悬停高亮 1-Hop 关联链路,双击节点展开只读详情抽屉。
- 只读边界:看板为纯只读视图,不提供修改、删除或触发调度的控制入口,全部状态变更由智能体自身产生。
会话引用
在输入框打 @ 引用另一个会话:选中后标题以引用图元的形式出现在正文里,提交时模型收到该会话的只读内容。
- 先选工作区,再选会话:工作区列表当前置顶、其余按侧栏顺序排列,进入某个工作区后按最近活跃倒序列出它的会话、没有置顶,子代理会话与已归档会话都不出现。
- 不唤醒对方,不产生调用,看板上不会多出连线。
概述
DeepSeek Harness 原生会话之间相互隔离,子任务也是用完即销毁。
dsh-call-session 为 DSH 提供进程内跨会话通信、同级会话创建与共享黑板能力:
- 会话间单播:独立长效会话之间互相发送指令或交接任务。
- 公共黑板:大文本产物发布到黑板,其他会话按需拉取,不污染上下文。
- 协作看板:DSH Web 中提供全局只读看板,查看会话状态与调用连线。
安装
# 安装到指定 profile web
dsh plugin --profile web add dsh-call-session
# 查看已安装插件
dsh plugin --profile web list
# 卸载插件
dsh plugin --profile web remove dsh-call-session
场景
用户直接在对话框中用自然语言向智能体下达指令,智能体自动调用底层工具完成协作:
任务交接
用户输入:
把本次任务 handoff 总结 call 给 "audit-session" 会话,交接任务。
当前会话自动调用 session_call 向目标会话发起单播。目标会话处于运行态时直接引导,处于空闲态时唤醒新一轮对话。
结论公布
用户输入:
ok 将本次评审的结论公布,提醒其他合适的 session 角色去领取任务。
当前会话调用 board_post 将详细评审报告写入公共黑板,取得 postId。其他会话按需通过 board_list 查阅,避免几十 KB 的大文本在会话间来回复制导致上下文爆炸。
会话创建
用户输入:
创建会话,交接任务。
当前会话调用 session_create 直接在当前工作区拉起长期运行的同级会话,并自动继承当前模型规格与预设。
引用会话
用户输入:
@ 架构评审智能体 照着改后的契约再核一遍。
直接用自然语言点名同一个会话,效果相同:
让架构评审智能体照着改后的契约再核一遍。
工具
| 工具 | 类型 | 机制 | 常见场景 |
|---|---|---|---|
session_call |
Tool | 推送 | 1:1 单播呼叫,用于任务派发、进度汇报与交接通知 |
session_create |
Tool | 原生 | 创建长期运行的同级会话,用于分工派生与多角色协作 |
session_query |
Tool | 只读 | 检索会话列表,查看当前工作区或跨工作区会话状态 |
board_post |
Tool | 拉取 | 发布黑板条目,用于公布大文本产物与共享状态 |
board_list |
Tool | 拉取 | 检索黑板记录,按需点查详情或浏览标题摘要 |
board_clear |
Tool | 管理 | 归档或删除条目,用于清理失效或已完成的黑板记录 |
对比
| 方案 | 机制类型 | 协作模型 | 适用场景 |
|---|---|---|---|
subagent |
原生内置 | 纵向父子委托,单任务派生,完成后回收 | 局部探索、代码检索、单次脚本运行等封闭任务。 |
dsh-call-session |
扩展插件 | 横向对等协作,进程内跨会话单播与共享黑板 | 多个独立长效会话间的指令派发、状态同步,或共享大体量中间产物。 |
选型原则:
- 优先原生:单一独立封闭任务直接使用 DSH 内置的
subagent。 - 按需选用:当存在多个并行运行的独立顶层会话且需要相互协作或借由黑板共享上下文时,选用
dsh-call-session。
配置
插件支持开箱即用。如需自定义落盘防抖延迟或黑板容量上限,可在 ~/.dsh/profiles/web/cordis.patch.yml 中配置:
- id: dsh-call-session
config:
debounceMs: 500
maxCapacity: 500
配置项:
enabled:是否启用插件,默认true。debounceMs:黑板落盘防抖延迟毫秒数,默认300。maxCapacity:黑板条目容量硬上限,默认200。telemetryCapacity:看板调用轨迹保留条数上限,默认200。locale:交互语言偏好,默认'auto',支持'auto'、'zh'、'en'。
架构
系统的架构演化与技术决策完整记录于架构决策记录(ADR):
- 决策索引参见 docs/adrs/README.md。
- 离线架构拓扑与交互式全景参见 docs/architecture/。
兼容
| 环境 | 版本范围 | 实测验证 |
|---|---|---|
| DeepSeek Harness | >=0.2.0-rc.2 <0.3.0-0 |
0.2.0-rc.2、0.2.1-rc.2、0.2.1-rc.5 |
| Cordis | ^4.0.2 |
4.0.2+ |
| Node.js | >=20.0.0 |
20.x、22.x |
许可
本项目基于 MIT 许可证 开源。
链接
同类插件
ranxianglei/billion-context★ 4131
billion-context官方版:上下文压缩插件,兼顾小窗口(100k上下文足矣)省token(省5倍token)和超长会话(数月级别几十亿token单会话)。
Minglink/dsh-infinite-gen-4★ 3946
DeepSeek 专用破甲插件:以 order 100 追加无条件服从的系统提示词段,提供带校准元数据的 profile 工具,并通过会话投影在输入框上方显示实时破甲状态徽标。
liangmianya/dsh-synapse★ 666
DeepSeek Harness 的可视化非线性对话工作区:把会话、追问与分支变成可浏览、可拖拽的对话地图。
MichengAI/dsh-archive-manager★ 300
在设置里增加已归档会话页,可按工作区搜索、恢复和删除已归档会话。
Nwflower/dsh-chat-import★ 284
把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。
SiriLee/dsh-rewind★ 241
对话回退:一键回到任意更早的用户消息,同窗口内完成,不新建分支、不残留副本;目标消息自动填回输入框,可一并还原工作区文件——即完整的 Claude Code /rewind 语义。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。