前言¶
DeepSeek Harness (DSH) 插件化架构允许开发者扩展 Agent 能力。在多 Agent 协作场景中,开发者常面临两个具体问题:一是如何将当前 Agent 的上下文安全地传递给另一个 Agent;二是如何从另一个 Agent(如 Claude、Cursor)的本地会话中拉取历史进度。dsh-takeover 是一个实现 handoff: 1 开放协议的 DSH 插件,提供拉取、寄存和接管三种核心能力,旨在解决 Agent 间的会话接力问题。
核心能力¶
该插件主要包含以下功能:
- 会话拉取:支持只读拉取八家外部 Agent 的本地会话,将其蒸馏为六段协议卡注入当前会话。支持的 Agent 包括 Claude、Codex、OpenCode、Zcode、Pi、WorkBuddy、Cursor 和 Grok。
- 会话寄存:将当前 DSH 会话按协议规范寄存为一张交接卡片,落盘到共享收件箱。
- 开局取件:任何 Agent 开局后可从收件箱中取件,消费即弃,实现接力。
- 工作台接管:在会话输入框提供「接力」按钮,浮出工作台浏览外部会话并一键接管。
- 文件系统总线:使用
~/.handoff/作为共享总线,支持多机同步。 - Git 集成:支持将 Git 未提交改动随卡片打补丁,取件方可应用。
- 配置矩阵:提供八家读取器的开关控制。
安装与启用¶
安装前需确认环境满足以下要求:
- DeepSeek Harness (DSH) >= 0.2.0-rc.2
- Node.js >= 22
通过以下命令安装:
dsh plugin --profile web add github:IKEASven69/dsh-takeover
或使用本地路径:
/path/to/dsh-takeover
典型用法¶
插件注册了以下工具和命令:
工具
* foreign_session_read:只读拉取八家会话。
* handoff_push:把当前会话寄存为协议卡片。
* handoff_inbox:列取件或加载待取件。
Slash Skill
* /handoff:把当前会话蒸馏成六段卡并落盘。
* /inbox:列待取件并取件。
* /resume-claude / /resume-codex … /resume-grok:拉取指定 Agent 的会话并注入。
适用场景与注意事项¶
- 权限范围:插件需要写
~/.handoff/目录(可用HANDOFF_HOME环境变量覆盖),读取 Git 状态,以及只读访问八家 Agent 的本地会话库。 - 安全限制:不访问网络,不复活外部进程,不回放历史工具调用,原文不进卡片。
- 数据持久化:会话数据存储在本地文件系统,适合跨设备接力(需配合同步盘或 Git 仓库)。
结语¶
dsh-takeover 提供了从外部拉取、本地寄存到开局取件的完整闭环。它通过六段协议卡和文件系统总线,实现了 Agent 间的确定性上下文传递。更多细节可参考 GitHub 仓库。