dsh-claude-code-delegate:把實際任務全交給 Claude Code 子代理的 DSH preset

前言

在 DeepSeek Harness(DSH)裏用 Agent 做編碼或改倉庫時,常見做法是讓主模型直接調工具、讀寫文件。另一種路徑是:主代理只負責理解需求、拆任務和彙報,真正改代碼、跑命令交給專用子代理——例如本機的 Claude Code。

dsh-claude-code-delegate(維護者 lidaqi001,SkillHub 目錄,GitHub)是分類爲「工作流」的 Agent preset 插件:新建會話時選 Claude Code 委託,主代理只做調度,每個實際任務通過 subagent_claude_code 交給 Claude Code 子代理執行,再把結果彙報給你。

數據流可以概括如下:

你 → 主代理(調度器) → subagent_claude_code → Claude Code(真正幹活) → 主代理彙報 → 你

下面介紹它解決什麼問題、裝了什麼、以及如何安裝與驗證。

這是什麼

插件全名 dsh-claude-code-delegate(包版本見倉庫 package.json,當前資料爲 1.2.0)。官方簡介:DeepSeek Harness agent preset,會把每個任務委派給 Claude Code 子代理,主側只調度與彙報。

許可證 MIT;DSH 引擎要求 >=0.2.1 <0.3.0-0。依賴 @deepseek-ai/dsh-subagent-claude-code,dsh plugin add 時會一併安裝,無需再單獨啓用全局 Claude Code bundle(手動啓用也不衝突:本插件使用專用 provider 名稱)。

核心功能

preset 裏的工具

preset 只向 Agent 註冊兩個工具:

工具 作用
subagent_claude_code 唯一執行入口,走本插件註冊的專用 provider
ask_user_question 需求有關鍵歧義時先問用戶

profile 級全局工具(如 working_directory、MCP、插件管理)對 preset 中的 Agent 仍可見;當前主要靠 persona 約束主代理不去用它們。若需要硬隔離,需另做 Agent 級的 ctx.tools.restrict() 類插件,且在 preset 作用域調用 restrict() 會連 preset 自注冊工具一起隱藏,gate 須按 Agent 作用域實現。

主代理角色

系統提示詞(complete: true)把主代理定義爲調度器:判斷是否該動手、寫自包含任務說明、一次只派一件事、等待完成、彙報結果,並區分「子代理報告完成」與「已驗證」。純寒暄或對結果的簡短追問可直接回答,其餘一律委派。同時掛了 compaction 組,長會話會壓縮上下文。

Claude Code 子代理是一次性外部子代理:看不到會話歷史、不能追加消息、結束後不能恢復,因此任務說明必須自包含;persona 已要求主代理按此書寫。

如何掛進 Cordis

cordis.patch.yml 插入兩行:

  1. Host 行 subagent-claude-code-delegate:專用 Claude Code provider(providerName: claude-code-delegate,默認 permissionMode: auto),不註冊全局工具。
  2. preset 行 preset-claude-code:聲明 preset claude-code;preset 內的 subagent_claude_code 與全局同名工具按 Agent 作用域遮蔽全局項,從而落到專用 provider。

安裝與啓用

前置條件

  1. 本機 Claude Code 已完成登錄;認證與原生設置以 Claude 的 settings.json / ~/.claude.json 爲準,本插件不會代登錄或改寫這些文件。
  2. DSH 版本滿足包的 engines.dsh。
  3. 依賴子包會隨 dsh plugin add 安裝,本插件 patch 自注冊專用 provider。

安裝命令

CLI(將 <profile> 換成你的 profile 名):

dsh plugin --profile <profile> add dsh-claude-code-delegate

或在 Web/Desktop 的 插件 頁面安裝(plugin_manager 的 install_bundle,target 爲 dsh-claude-code-delegate)。

安裝後新建會話,在模式列表中選擇 Claude Code 委託。

配置

在本機 profile 的 cordis.patch.yml 裏按行 id 覆蓋,不必改插件包內文件:

- id: subagent-claude-code-delegate
  name: '@deepseek-ai/dsh-subagent-claude-code'
  config:
    providerName: claude-code-delegate   # 改了必須同步下面 preset 裏的 provider
    permissionMode: auto                 # dontAsk | acceptEdits | auto | plan | bypassPermissions
    # model: '<claude-model-id>'         # 固定 Claude Code 使用的模型,省略則用 Claude 原生設置

permissionMode 含義簡述:

值 行爲
dontAsk 不彈提示,未預授權操作直接拒絕(最保守)
acceptEdits 自動接受文件編輯,其餘權限拒絕
auto 由 Claude Code 原生分類器逐項裁決(默認;不是沙箱,仍可能讀寫與執行命令)
plan 只出計劃,不執行
bypassPermissions 跳過所有權限檢查,風險最高

修改後重新應用配置層(重啓應用,或 profile 啓用 HMR 時熱重載);preset 變更隻影響之後新建的會話。

典型用法與驗證

三層檢查

任意一層不對就停在該層排查:

  1. 行激活:plugin_manager → list_plugins,確認 subagent-claude-code-delegate 與 preset-claude-code 均爲 enabled: true、fiberPhase: active。
  2. preset 已註冊:cordis_inspect_query → Config.listConfigs(name 過濾 @deepseek-ai/dsh-agent-preset),應能看到 preset-claude-code。
  3. 真實委派:新建會話選「Claude Code 委託」,派一個無害任務(例如在臨時文件寫一行再讀回),確認存在 subagent_claude_code、子代理有返回且主代理完成彙報。

常見故障

現象 可能原因 處理
模式列表無「Claude Code 委託」 插件未啓用或 preset 行掛載失敗 重做第 1、2 步
主代理稱無 subagent_claude_code provider 包未解析或 Host 行未激活 list_plugins 查 subagent-claude-code-delegate
委派失敗,診斷指向 query-start Claude Code 未登錄 / SDK 缺失 / 平臺不支持 終端執行 claude 確認可登錄
能讀不能寫、跑不了命令 permissionMode 過保守 改爲 auto 或接受限制

適用場景與注意

適合誰:你已經在 DSH 裏用 DeepSeek 等主模型對話,但希望編碼與倉庫操作統一交給本機 Claude Code,由主代理只做任務分解與結果彙總;且能接受子代理單次、無歷史的一次性調用模型。

安全與權限:插件隨當前 DSH 進程權限運行;子代理實際能力受 Claude Code 與本機 permissionMode 約束。安裝前建議瀏覽倉庫源碼與 MIT 許可證。bypassPermissions 不建議日常使用。

卸載:

dsh plugin --profile <profile> remove dsh-claude-code-delegate

或使用 plugin_manager 的 remove_bundle。

官方包版本變化後,建議先派無害任務做一次冒煙驗證。開發側可用 npm test 做靜態 smoke test。

結尾

dsh-claude-code-delegate 把 DSH 會話收成「調度 + Claude Code 執行」兩層:主代理少碰工具,實活交給 subagent_claude_code。安裝用官方 bundle 名 dsh-claude-code-delegate,選模式 Claude Code 委託 即可試用。

  • 目錄頁:https://www.skillhub.cn/plugins/lidaqi001/dsh-claude-code-delegate
  • 倉庫:https://github.com/lidaqi001/dsh-claude-code-delegate

SkillHub 爲社區插件目錄,與 DeepSeek / 幻方無官方從屬關係;星標與版本以各站點頁面與 package.json 爲準。

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

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

小夜