前言¶
DeepSeek Harness (DSH) 的核心哲學是「一切皆插件」。在開發多智能體系統時,往往需要將外部成熟的 CLI 工具(如 Devin)作爲子代理接入。dsh-plugin-devin 提供了一個非官方的橋接方案,通過 ctx.subprocess 將 Devin 的 CLI 能力注入到 DSH 環境中。
是什麼¶
該插件由 alexisvaleev 維護,是一個非官方的橋接工具。它將 Devin CLI 的 devin -p(無頭打印模式)轉化爲 DSH 的工具和命令,並提供了 LLM 提供者路由,允許 DSH 的整個對話循環通過 Devin 運行。它不隸屬於 Cognition。
核心功能¶
devin工具:作爲受管子進程啓動devin -p "<prompt>"。支持調用時配置cwd、model、permissionMode、resume、cloud和timeoutMs。返回結果包含退出碼、標準輸出、錯誤輸出及超時狀態。/devin <task>命令:快捷方式(當 Profile 包含命令服務時可用)。- LLM 提供者路由:通過 Agent Client Protocol (ACP) 註冊
devin提供者,顯示在設置 → 模型中,支持自動模型發現。 - 圖像支持:原生內容塊,SWE 和其他視覺模型可見。
- 會話管理:持久化 ACP 會話,支持通過會話 ID 進行斷點續用。
- 超時與輸出限制:包含超時控制和內存輸出限制,防止進程失控。
安裝與啓用¶
插件已發佈在 npm,可以通過以下命令安裝到指定 profile:
dsh plugin --profile <your-profile> add @quonaro/dsh-plugin-devin
或直接從 Git 安裝:
dsh plugin --profile <your-profile> add github:quonaro/dsh-plugin-devin
如果從本地 checkout 安裝,直接指定路徑即可。該包聲明瞭 dsh.bundle,安裝時會自動應用 cordis.patch.yml。
典型用法¶
安裝後,需在 Profile 的 cordis.patch.yml 中配置參數(或通過 GUI 修改)。所有配置均爲熱更新,無需重啓。
| 配置項 | 默認值 | 說明 |
|---|---|---|
devinPath |
devin |
可執行文件名或絕對路徑 |
permissionMode |
accept-edits |
無頭運行無法回答提示,bypass/autonomous 適合完全無人值守 |
model |
'' |
指定 Devin 模型,留空使用 CLI/賬戶默認 |
cloud |
false |
設爲 true 啓用 Devin Cloud 會話 (--cloud) |
timeoutMs |
600000 |
單次調用的超時時間 |
maxOutputBytes |
1048576 |
捕獲流的內存上限 |
respectWorkspaceTrust |
false |
默認爲 false,傳遞 --respect-workspace-trust false 以支持 -p 模式 |
forwardEnv |
PATH/HOME/USER/XDG_*/WINDSURF_API_KEY | 額外轉發的環境變量 |
extraArgs |
[] |
額外參數,如 ['--sandbox'] |
適用場景與注意¶
- 前置條件:必須確保
devinCLI 已安裝在 PATH 中,或通過devinPath指定。需要完成devin auth login或設置WINDSURF_API_KEY環境變量。 - Profile 依賴:插件硬注入了
tools和subprocess,因此 Profile 必須包含 subprocess provider(sdk-minimal不支持)。 - 構建問題:pnpm ≥ 10 在首次 git 安裝時可能會拒絕
prepare構建,需在pnpm-workspace.yaml中配置allowBuilds並重新運行。 - 工作區信任:
--print模式在非信任目錄下無法處理工作區信任提示,因此默認關閉。 - 許可證:MIT。
結尾¶
該插件通過 ctx.subprocess 將強大的 Devin CLI 集成到 DeepSeek Harness 生態中,適合需要將 Devin 作爲獨立 Agent 進行委託或路由的場景。更多細節請參考 GitHub 倉庫。