前言¶
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 倉庫。