dsh-anchored-subagent:DeepSeek 子代理的“暗号”补丁

前言

在 DeepSeek Harness(DSH)的使用中,子代理通常会自动继承父会话的 agent preset 配置。这种继承机制虽然方便,但在处理需要特定 RL(强化学习)轨迹的模型时,如果没有专门的引导配置,子代理在首次请求时可能无法以最佳状态启动。DSH 的 complete-persona 机制使得通过 hook 覆盖子代理配置变得不可靠。该插件旨在通过安装一个 agent preset,解决子代理启动状态不一致的问题。

是什么

dsh-anchored-subagent 是一个社区维护的 DSH 插件,由 GY-Bai 开发。它通过一套“暗号”机制,确保主代理和所有子代理在会话开始时都使用 Minimal condition(bash + str_replace_editor + Minimal persona)启动,随后解锁完整的工具目录。该插件基于 DeepSeek RL 训练轨迹设计,旨在让模型在首次请求时进入最强的行为轨迹。

核心功能

  1. 启动引导:安装 agent preset,使主代理和子代理以 Minimal condition(bash + str_replace_editor + Minimal persona)启动。
  2. 工具解锁:在首次请求后解锁完整工具目录。
  3. 自动继承:子代理自动继承父级的 agent preset,无需额外配置。
  4. Persona 处理:处理自定义子代理 persona(启动时剥离,升级后恢复)。

安装与启用

使用官方安装命令添加插件,安装后需重启 DSH。

dsh plugin add github:GY-Bai/dsh-anchored-subagent

重启 DSH 后,在会话中选择 dsh-anchored-subagent agent preset(或设为默认)。

插件会将 preset 复制到本地目录:
~/.dsh/.agent-presets/dsh-anchored-subagent/

典型用法

该插件的工作流程分为两个阶段:

  1. Bootstrap 阶段:在首次模型请求(主代理或子代理)时,仅提供 bash 和 str_replace_editor 工具,以及完整的 Minimal persona。此时模型会以 RL 训练时的标准轨迹(如 We need...)开始思考。
  2. Promoted 阶段:在第一次持久的工具调用(tool/call)或助手消息(assistant/message)后,插件自动将完整工具目录恢复给代理,使其可以使用所有工具。

对于子代理,如果配置了自定义 persona,该插件会在引导阶段将其剥离,确保子代理以纯净的 Minimal persona 启动;待子代理完成首次持久请求后,原始 persona 会重新恢复。

配置

编辑配置文件 ~/.dsh/.agent-presets/dsh-anchored-subagent/agent.cordis.yml。关键配置项如下:

配置项 默认值 说明
promoteOn either 提升触发条件,可选 either、tool-call 或 assistant-message。either 表示任意一种情况均可触发。
bootstrapMaxTokens null 可选的首次请求输出限制(Token 数)。
suppressedContextSources ["agent-instructions","skill-catalog"] 控制引导阶段自动剥离注入的上下文源。设置为空数组 [] 可禁用剥离。

适用场景与注意

该插件适用于需要在子代理启动时强制使用 Minimal condition 的场景,以获得最佳的 RL 轨迹响应。

需要注意以下几点:
* 需重启 DSH 以应用更改。
* 这是一个社区插件,未获得 DeepSeek 官方背书,基于 MIT 许可证开源。
* 插件利用了 DeepSeek RL 训练轨迹中的“暗号”机制。
* 支持通过 suppressedContextSources 控制上下文注入。

总结

dsh-anchored-subagent 通过在启动阶段强制使用 Minimal condition,确保 DeepSeek 模型能够进入其最强的 RL 轨迹,随后再解锁完整能力。这对于需要稳定子代理行为的复杂工作流非常有用。

目录页 | GitHub

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

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

小夜