前言¶
DeepSeek Harness 的核心设计理念是“一切皆插件”。当需要在代理链中引入本地代码执行能力时,直接调用远程 API 可能带来延迟或隐私顾虑。本文介绍 dsh-subagent-cursor,它是一个将 Cursor 作为子代理运行的插件,提供本地 one-shot 任务执行能力。
插件简介¶
dsh-subagent-cursor 是 DeepSeek Harness 的 Cursor-as-subagent 提供方插件。它向 ctx.subagents 注册一个默认名为 cursor 的提供方。每次运行是一次父会话 cwd 下的本地 one-shot Cursor 任务:子代理带完整 agent 工具(读/写文件、跑 shell、取 web 文档等,边界由权限集决定),独立完成一次性任务后返回。
核心功能¶
本插件提供以下核心能力:
* 注册提供方:向 ctx.subagents 注册提供方(默认名 cursor)。
* 本地 one-shot 执行:在父会话当前目录下运行,任务完成后清理上下文。
* 摘要优先结果:展示摘要和证据,便于父代理快速获取结论。
* Profile Bundle 支持:与官方同族,支持无人值守配置。
* 双驱动模式:默认使用 driver: cli,复用 CLI 登录态无需 Key;可选 driver: sdk,需要 Key。
* 自动权限管理:默认开启 autoPermissions,自动生成或追加 Cursor CLI 权限集。
* 命令审批等级配置:支持 balanced(默认)、trusted(自动放行)、strict(硬白名单)。
安装与启用¶
使用官方安装命令添加插件:
dsh plugin add dsh-subagent-cursor
安装后,本插件注册了一个 ctx.subagents 提供方。若要启用,需在 Profile Bundle 配置中挂载该包。插件自带正确的工具行(tool-subagent-cursor),无需手动编写。
Profile Bundle 配置示例:
# profile package.json → dsh.profile.bundles
- package: dsh-subagent-cursor
配置与注意事项¶
插件支持多种配置项,用于控制执行行为和权限策略。
主要配置项:
* providerName:注册到 ctx.subagents 上的提供方名(默认 cursor)。
* driver:执行后端,cli(默认,无需 Key)或 sdk(需要 Key)。
* model:传给驱动的 Cursor 模型 id(默认 auto)。
* env:显式环境变量,用于叠加。
* cliPath:CLI 可执行文件路径(默认 cursor-agent)。
* timeoutMs:单次运行上限(默认 600000ms)。
* disposeGraceMs:关闭等待宽限(默认 3000ms)。
* autoPermissions:挂载时预生成权限集(默认 true)。
* approvalLevel:命令审批等级(默认 balanced)。
重要限制与注意事项:
1. 驱动依赖:
* driver: cli 模式要求本机安装并登录 cursor-agent(执行 cursor-agent login),无需 API Key。
* driver: sdk 模式需要设置环境变量 CURSOR_API_KEY。
2. 工具行契约:
* 自定义 dsh-tool-subagent 行时,maxDepth 必须设置为 provider-managed,禁止设置为数字(否则挂载失败)。
* 禁止设置 backgroundMode: continuable,Cursor 运行是一次性 one-shot,不支持续会。
3. 权限管理:
* autoPermissions 默认为 true,挂载时自动生成或追加权限集,敏感项默认 deny。
4. 审批等级:
* balanced:白名单外弹授权窗。
* trusted:自动放行不弹窗。
* strict:硬白名单,不弹不自动放。
适用场景¶
该插件适合需要在 DSH 代理链中嵌入本地 Cursor 能力,且需要严格控制执行上下文和权限的场景。由于是本地 one-shot 执行,任务完成后上下文即清理,适合一次性代码审查、文件生成或简单脚本执行。
结尾¶
dsh-subagent-cursor 提供了在 DeepSeek Harness 中直接调用本地 Cursor 能力的方案,通过 Profile Bundle 和权限控制,实现了相对安全且独立的子代理运行环境。