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 为准。

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

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

小夜