前言¶
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 仓库。