前言¶
DeepSeek Harness (DSH) 支持创建子 Agent 来分担任务,但在实际工作流中,我们往往需要固定一套角色(例如代码审查员、文档撰写、网络调研)反复调用。原生创建方式需要每次手动配置,且容易产生无限嵌套,导致 token 浪费。
dsh-custom-subagents 插件通过提供一套可视化的配置界面,让用户把常用的角色定义保存下来。主 Agent 获得一个 delegate_agent 工具,即可随时调用这些定义好的子 Agent。
插件介绍¶
dsh-custom-subagents 是一个为 DSH 提供可复用子 Agent 定义的插件。
核心价值:
* 一次定义,反复使用:将「代码审查员」等角色保存为定义,主 Agent 随时调用。
* 无需写代码:所有操作在「设置 → 子 Agent」页面完成,所见即所得。
* 防止无限套娃:提供「禁止嵌套委派」开关和硬深度上限(3层),防止 token 和时间开销失控。
安装¶
安装前请确保已安装 DSH。推荐使用 npm registry 安装:
dsh plugin --profile web add dsh-custom-subagents
平台说明:
* Windows:建议使用全局安装的 DSH (npm i -g @deepseek-ai/dsh),避免版本不一致问题。
* 端口冲突:若 Windows 启动报 EADDRINUSE 错误,需更换端口,例如 dsh web --port 4000。
* Shell 令牌:插件会根据宿主平台自动解析 shell 工具令牌(Windows 映射为 pwsh,Linux/macOS 映射为 bash)。
配置与使用¶
安装后,DSH 会自动获得 delegate_agent 工具。打开 设置 → 子 Agent 页面进行配置。
新建子 Agent¶
- 点击「新建」。
- 填写表单:
* 名称:角色的唯一标识,主 Agent 用来认人。
* 描述:写给主 Agent 看,说明何时使用该角色(例如:「在需要检查代码正确性时使用」)。
* 系统 Prompt:定义角色的身份与工作方式。
* 模型与上下文:默认使用父模型,上下文可选择「全新」或「继承对话」。
* 工具:勾选或选择「继承父 Agent 工具」。
可用工具能力¶
支持的工具包括:
* read:读取文件
* glob / grep:查找文件、搜索内容
* write / edit:创建和修改文件
* Shell (bash / pwsh):运行命令
* web_search:联网搜索
* skill:使用技能
典型用法¶
配置完成后,在对话中直接吩咐主 Agent:
* 「让 Explorer 看一下 src/ 里的模块是怎么组织的。」
* 「用「代码审查员」检查一下 src/ 最近改动的代码。」
功能特性¶
- 所见即所得的工具选择:勾选工具即可,无需配置文件。
- 安全边界清晰:子 Agent 能用的工具永远不会超出父 Agent 已有的工具。若父会话缺少定义勾选的某个工具,委派会明确失败。
- 运行时配置安全:修改或删除定义不影响正在运行的任务。
- 防无限套娃:原生 DSH 的子 Agent 创建路径没有默认深度上限。本插件提供两层防护:
- 禁止嵌套委派开关(默认关闭):开启后,子 Agent 无法再创建任何子 Agent。
- 硬深度上限:委派链最深限制为 3 层,超出即拒绝。
注意事项¶
- 版本兼容:已在 DSH
0.1.1-rc.2上验证。插件 peer 依赖声明为>=0.1.1-rc.2 <0.2.0-0 || >=0.1.2-0 <0.2.0-0。 - 后台执行:后台执行不可用,只支持标准模式。
- 引用稳定性:改名或删除定义不会破坏历史记录中的引用,只影响未来的委派。
- 预置定义:内置的 Explorer 等预置子 Agent 不能删除,只能停用。
结尾¶
dsh-custom-subagents 通过可视化的方式解决了 DSH 子 Agent 的复用与安全管理问题。它让主 Agent 能够灵活调用专业角色,同时通过深度限制和工具继承机制,保证了系统的可控性。
- 插件目录:https://www.skillhub.cn/plugins/ktdhhc/dsh-custom-subagents
- GitHub 仓库:https://github.com/ktdhhc/dsh-custom-subagents