dsh-subagent-claude-code-pro:用本機 Claude CLI 做可續跑、可配模型的委派

前言

DeepSeek Harness(DSH)裏若要把複雜任務交給 Claude Code 子代理,官方提供的 @deepseek-ai/dsh-subagent-claude-code 更偏向「單次適配」:每次新起 SDK 查詢、不持久化會話,且 Harness 行上難以暴露每次調用的 model 與 reasoning_effort,子代理接縫也把外部執行的子任務當成一次性調用。若你已經在本機安裝並登錄過 claude CLI,更希望委派走同一套 CLI、憑據和 MCP,並能按次選模型與思考深度、續接會話、傳入圖片或 PDF,就需要另一條註冊路徑。下面介紹社區插件 dsh-subagent-claude-code-pro(維護者 ckanner),分類爲模型推理;項目在 GitHub 上的星標數爲 0,當前資料中的發行版本爲 0.3.1(MIT 許可證)。

這是什麼

dsh-subagent-claude-code-pro 是 DSH 上的 Claude Code 委派插件:不捆綁 Agent SDK,也不再裝第二份 Claude Code,而是調用你本機已安裝的 claude CLI,通過公開的 --print --input-format stream-json --output-format stream-json 與進程通信。插件在 agent/created 時按與 Codex Pro 相同的方式註冊面向模型的工具 subagent_claude_code;在配置的 preset 範圍內,該作用域註冊會遮蔽官方同名全局工具。

與官方 provider 的差異(資料中的設計動機)

官方 provider 刻意做成一次性適配:始終新起 SDK 查詢且 persistSession: false,拒絕非文本 prompt 塊,且 Harness 行無法暴露 model 或 reasoning_effort;DSH 子代理接縫對外部執行的子任務也不接受後續消息或恢復。本插件自行持有面向模型的工具,從而在單次委派中支持:

  • 每次調用單獨指定 --model 與 --effort(在工具參數裏爲 model、reasoning_effort);
  • 可恢復的 Claude Code 會話(session_id / --resume,或每個 DSH Agent 會話一個會話);
  • 權限模式只能收窄、不能放寬;
  • 單次委派截止時間、調用方取消與進程組清理;
  • 診斷日誌寫入 ~/.dsh/claude-code-pro.log(插件本身沒有可被會話讀取的日誌面)。

核心功能

工具參數概覽

委派以自包含任務形式調用 subagent_claude_code,常用字段如下(完整語義以倉庫 README 爲準):

subagent_claude_code({
  description: "Fix the redirect loop",
  prompt: "…complete task; you cannot see this conversation…",
  model: "sonnet",
  reasoning_effort: "high",
  permission_mode: "acceptEdits",
  session_mode: "session",
  session_id: "…uuid…",
  fork_session: false,
  images: ["/abs/shot.png"],
  documents: ["/abs/spec.pdf"],
  output_schema: { … },
  run_in_background: false,
  cwd: "/abs/path",
  timeout_ms: 600000,
})

reasoning_effort 可取 low | medium | high | xhigh | max。人類可讀的完成回答末尾會帶會話標記,便於主模型顯式續接,例如:

[claude-code session 3b5585e1-… · persistent · pass it as session_id to continue]

會話生命週期

session_mode 行爲
session(默認) 每個 DSH Agent 會話對應一個持久 Claude Code 會話,後續委派自動續接,適合連續工作。
persistent 每次調用一個持久會話,返回 id,需用 session_id 顯式續接。
ephemeral 不寫入可恢復狀態(--no-session-persistence)。

顯式 session_id 始終續接該會話;恢復失敗會報錯,不會靜默換新會話。fork_session: true 可在續接時分叉出新 id。

多模態與結構化輸出

  • 輸入:images 爲 PNG、JPEG、GIF、WebP 的絕對路徑;documents 爲 PDF 絕對路徑。啓動前會校驗存在性與大小,再編碼爲 Messages API 的 image/document 塊;其他文件類型仍可在 prompt 中寫路徑,由 Claude Code 自行讀取。
  • 輸出:CLI 返回的截圖等經 DSH 附件庫交給父模型;後臺任務的結果爲字符串契約,圖片落在 $DSH_HOME/claude-code-pro-images/ 並以主機路徑寫在文本中。
  • output_schema:映射爲 CLI 的 --json-schema,答案須爲 JSON 且通過插件支持的 schema 子集校驗;約束爲 schema 時結果爲純 JSON,不含會話標記。
  • 後臺運行:在已掛載 DSH jobs 服務時,run_in_background: true 立即返回 job id,由 job_output / job_kill 管理;不依賴 Claude Code 終端內的 --bg。

認證與權限

插件不讀寫憑據,由本機 CLI 負責。併發刷新 OAuth 可能競態;失敗時 CLI 可能報 OAuth session expired and could not be refreshed,資料建議運行 node scripts/doctor.mjs 後執行 claude auth login。無人值守場景可用 claude setup-token,經插件 env 傳入 CLAUDE_CODE_OAUTH_TOKEN,或使用 ANTHROPIC_API_KEY。

默認權限爲 dontAsk(--permission-prompts none);單次調用可通過 permission_mode 收窄策略,不能放寬。plan 僅規劃;更寬鬆的模式須在插件配置中顯式修改。

安裝與啓用

通過 npm 註冊表安裝,無需本地 checkout,也不要使用 link: 依賴。運行環境要求 Node >= 22.18.0(見 package.json)。

命令行安裝(將 <profile> 換成你的 profile 名):

dsh plugin --profile <profile> add dsh-subagent-claude-code-pro

桌面應用可在 Plugins → Add plugin 中填寫包名 dsh-subagent-claude-code-pro,由插件管理器執行相同的 pnpm 安裝;profile 記錄的是已安裝版本(例如 0.3.1),而不是工作區路徑。

安裝後 bundle 會添加根配置行,並在 presets 所列 preset 上註冊 subagent_claude_code;不要在同一作用域再掛同名工具行。

配置片段(資料中可見部分)示例:

- id: claude-code-pro
  name: 'dsh-subagent-claude-code-pro'
  config:
    toolName: subagent_claude_code

更完整的 config 字段請以倉庫中的 cordis.patch.yml 與 README 爲準。

典型用法與場景

  1. 在已安裝、已登錄的本機 claude CLI 上,讓 DSH 主 Agent 把編碼或排查任務委派給 Claude Code,同時按任務難度設置 reasoning_effort 與 model。
  2. 在同一 DSH Agent 會話內連續多輪委派,使用默認 session_mode: "session",減少重複上下文說明。
  3. 需要把設計稿、截圖或 PDF 規範一併交給子代理時,使用 images、documents 絕對路徑,而不是讓模型自行「打開」路徑字符串。
  4. 需要機器可解析結果時設置 output_schema;長任務在 jobs 可用時使用 run_in_background: true。

資料記載 0.3.1 爲首個經實機驗證的完整發行版,文本、模型原生圖片與 PDF 輸入、圖片輸出、output_schema、後臺任務與會話(含 fork)均已對真實本地 CLI 與 DSH 會話做過驗證,記錄見倉庫 docs/live-verification.md(及中文版)。

適用場景與注意

適合誰:已在本地維護 Claude Code CLI 與登錄狀態、希望在 DSH 內獲得「每次可選模型與 effort、可續跑會話、多模態進出、結構化 JSON、Harness 級後臺任務」的開發者。

運行與安全:插件隨當前 DSH 進程權限啓動子進程並訪問你傳入的路徑與 cwd;安裝前請閱讀源碼與 MIT 許可證,確認 bundle 與 preset 範圍符合你的環境。社區目錄 SkillHub 與 GitHub 倉庫由維護者發佈,與 DeepSeek / 幻方無官方從屬關係,DSH 生態理念是「一切皆插件」,但不等於官方應用商店。

依賴前提:本機必須已安裝可用的 claude CLI;插件不替代 CLI 的安裝與認證流程。

結尾

dsh-subagent-claude-code-pro 把 Claude Code 委派錨定在你本機 CLI 上,補上官方 subagent provider 在模型參數、會話持久化與多模態上的缺口,並通過 Harness 工具註冊與 jobs 機制與 DSH 其餘能力對齊。查閱詳情與更新:

  • 目錄頁:https://www.skillhub.cn/plugins/ckanner/dsh-subagent-claude-code-pro
  • GitHub:https://github.com/ckanner/dsh-subagent-claude-code-pro
羽毛球分组比赛记分
小程序二维码

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

小夜