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
羽毛球分组比赛记分
小程序二维码

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

小夜