前言¶
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 爲準。
典型用法與場景¶
- 在已安裝、已登錄的本機
claudeCLI 上,讓 DSH 主 Agent 把編碼或排查任務委派給 Claude Code,同時按任務難度設置reasoning_effort與model。 - 在同一 DSH Agent 會話內連續多輪委派,使用默認
session_mode: "session",減少重複上下文說明。 - 需要把設計稿、截圖或 PDF 規範一併交給子代理時,使用
images、documents絕對路徑,而不是讓模型自行「打開」路徑字符串。 - 需要機器可解析結果時設置
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