前言¶
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 和權限控制,實現了相對安全且獨立的子代理運行環境。