前言¶
DeepSeek Harness (DSH) 採用插件化架構,旨在將所有能力模塊化。在智能體開發中,Agent 會話內的任務記錄、進度追蹤往往需要與外部項目管理工具解耦。plane-dsh-plugin 專爲這一場景設計,它允許 DSH 的 Agent 在運行時識別任務、Bug、決策或進度,並將這些事件持久化到本地,隨後異步同步至 Plane 項目管理平臺。
插件定位¶
這是一個由 Bene-2020 維護的 DSH 原生插件。它將 DSH 的代理會話與 Plane 的工作流打通,無需在 Agent 腳本中手動調用 Plane API,即可實現“Coding Work -> Project Updates”的無縫流轉。
核心能力¶
插件集成了 DSH 原生的 Cordis 主機和瀏覽器客戶端插件,提供以下能力:
- 雙端插件架構:提供可安裝的 Bundle,同時包含 Host 和 Browser 客戶端組件。
- Agent 工具集:內置 8 個 Agent 工具,用於項目發現、綁定、捕獲和審查。
- 本地持久化與重試:使用本地 SQLite Outbox,支持冪等性、重試、租約和崩潰恢復,確保數據不丟失。
- 異步同步:與 Plane 的同步操作在後臺異步執行,不會阻塞 DSH 的主 Agent 任務。
- 增量上下文:使用增量式的活動項上下文,而非每次輪次都拉取完整快照,提升效率。
- 全局懸浮面板:提供類似 Plane 的懸浮面板,支持狀態過濾、樂觀更新和同步健康檢查。
- 手動切換與容錯:支持在 DSH 全局覆蓋層中手動切換項目,包含重名消歧和過期響應保護。
- 安全機制:Plane API Key 通過 DSH 憑據解析,不會寫入插件數據庫。
安裝與啓用¶
插件通過 NPM 包安裝到 DSH 的 Web Profile 中。
- 安裝插件:
運行以下命令將預構建包安裝到 Web Profile:
npx @deepseek-ai/dsh plugin --profile web add plane-dsh-plugin
此命令直接安裝包含 Host 和 Browser 組件的 Bundle,無需本地構建。
- 配置憑據:
將 Plane 的 API Key 存儲在 DSH 的全局憑據文件中,不要將其寫在cordis.patch.yml裏:
# $DSH_HOME/.credentials.yaml
PLANE_API_KEY: "your-plane-api-key"
- 配置插件參數:
編輯$DSH_HOME/profiles/web/cordis.patch.yml,覆蓋 Bundle 行並填入工作區信息:
- id: plane-dsh-plugin
config:
workspaceSlug: your-workspace-slug
planeBaseUrl: https://api.plane.so
planeMode: sdk
- 啓動 DSH:
使用相同的 Web Profile 啓動 DSH:
npx @deepseek-ai/dsh web
啓動後,Agent 首次遇到未綁定的目錄時會提供 Plane 項目綁定選項。懸浮面板會出現在 DSH 的 Web UI 中。
注意事項¶
- 早期版本:這是一個早期發佈版本。存儲和同步路徑已充分測試,但 DSH 及其外部插件 API 仍在迭代中。
- 隱私與安全:插件不會存儲源代碼、終端輸出或完整對話記錄。API Key 通過 DSH 憑據按操作解析,不存入插件本地數據庫。
- 本地存儲:本地項目元數據和 Outbox 默認存儲在
~/.dsh/plugins/ambient-project/ambient.sqlite。 - 環境依賴:需要 Node.js 22.19 或更高版本、pnpm,以及支持外部 Bundle、憑據、工具、客戶端槽位和 Typert 遠程支持的 DSH 最新版本。同時需要 Plane 工作區和 API Key。
適用場景¶
適合需要在 DSH Agent 會話中持續記錄開發進度、維護任務列表或與 Plane 項目管理工具集成的開發者。
總結¶
plane-dsh-plugin 解決了智能體開發中任務狀態同步的痛點,通過本地 SQLite 和異步機制保證了操作的可靠性。對於需要將代碼變更與項目管理閉環的開發流程,這是一個值得嘗試的 DSH 生態插件。