前言¶
DeepSeek Harness (DSH) 的核心設計理念是「一切皆插件」。當開發者使用 Agents Anywhere (AA) Connector 管理本地 Agent 會話時,需要一種方式將 DSH 的能力暴露給 Connector。xipian1216/dsh-aa-bridge 就是這個橋接層,它讓 AA 能夠通過 JSON-RPC 調用 DSH 的 Session、Timeline 和控制能力。
功能概覽¶
插件通過有版本的 JSON-RPC API 暴露了 Session、Turn、Timeline、模型、權限、命令、取消和交互能力。
- 共享資源:Connector 與瀏覽器共享 DSH Web 進程中的 Session 日誌、Agent registry 和操作隊列。
- 模型切換:插件創建或恢復的 Agent 支持切換模型與推理強度;借用 Desktop 已有 Agent 時,若模型不同會返回
UNSUPPORTED_OPERATION。 - 權限管理:權限選擇通過 DSH 的
permissionPresets寫入真實 Session。 - 工作區管理:AA 創建 Session 時會按 canonical cwd 創建或複用 DSH Workspace。
- 會話名冊:Session 名冊攜帶 DSH Desktop 可見性,本地歸檔、空白會話和 subagent 會話進入 Archived,普通會話進入 Active。
- 操作穩定性:寫操作按 Session 串行執行,使用穩定的 client message ID 處理重試。
- 斷連處理:Connector 斷開後 DSH Web 與實時 Session 繼續運行,Connector 可重新連接。
- 安全綁定:SDK 端點只綁定 127.0.0.1;隨機認證令牌保存在權限爲 0600 的端點文件中。
- 失敗處理:Bridge 通知失敗只記錄爲同步告警,不會撤銷已經接受的 DSH 操作。
安裝與啓用¶
安裝前請確認當前 DSH 版本(當前基線爲 0.1.0-rc.7)。插件安裝到承載 Web 的 profile(例如 web)。
dsh plugin --profile web add github:xipian1216/dsh-aa-bridge#v0.2.0
安裝完成後,啓動 dsh web。插件啓動後會在 $DSH_HOME/agents-anywhere/bridge/endpoint.json 寫入 Connector 發現文件,端點端口和認證令牌由插件自動生成。
Agents Anywhere 配置¶
在 Agents Anywhere 中配置 DeepSeek Harness 時,建議設置以下參數以適應本地環境的網絡延遲:
| 配置項 | 建議值 |
|---|---|
startupTimeoutMs |
30000 |
requestTimeoutMs |
60000 |
maxRestartAttempts |
3 |
restartBackoffMs |
1000 |
限制與注意事項¶
- 運行環境:僅支持同一機器、同一操作系統用戶。
- 連接限制:一次只接受一個 Connector 連接;同一個
DSH_HOME同時只允許一個 Bridge endpoint owner。 - 兼容性:不支持跨主機共識、網絡分區接管或多個 DSH 進程合併同一 Session 日誌。
- 附件支持:當前協議不支持圖片和普通文件附件。
- Desktop 限制:DSH rc.7 沒有公開 Desktop live Agent 的 canonical model-selection handle,因此 borrowed Session 無法從插件切換 provider、model 或 reasoning effort。
- 會話狀態:DSH Web 的當前選中 Session 是瀏覽器本地狀態,Host bridge 不會暴露空白佔位會話;空白會話開始第一個 turn 後才進入 AA Active。
- 歸檔行爲:AA 當前不會根據後續的
hidden=false自動取消已有歸檔;已在 AA 中歸檔的普通會話需要手動取消歸檔一次。 - 許可證:未在資料中明確指定許可證名稱(僅提及 LICENSE 文件)。
總結¶
此插件解決了 Agents Anywhere 與本地 DeepSeek Harness 進程通信的問題,提供了標準化的 JSON-RPC 接口。它不啓動額外的 DSH 進程,而是依附於已運行的 Web 端。開發者可根據上述限制調整使用策略。