dsh-plugin-devin: DeepSeek Harness 中的 Devin CLI 代理工具

前言

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']

適用場景與注意

  • 前置條件:必須確保 devin CLI 已安裝在 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 倉庫。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜