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 仓库。

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

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

小夜