前言¶
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