前言¶
DeepSeek Harness (DSH) 的轨迹评估往往要求模型在会话初期保持严格的行为约束。如果工具目录在第一次请求后立即解锁,模型容易保留引导阶段学到的旧习惯——例如在前台作业中使用长时间 sleep + pgrep 轮询,而非调用后台作业接口。dsh-preset-anchored-standard 插件通过控制工具集的暴露时机,解决这一问题。
插件定位¶
这是一个针对 DeepSeek Harness 的代理预设,旨在锚定会话的第一次请求。它使用官方 Minimal 预设的 bash 和 str_replace_editor 工具对,在会话的前端保持这一约束;随后,在检测到第一次持久晋升信号(工具调用或助手消息)后,解锁完整的 Standard 目录。
核心能力¶
- 锚定第一次请求:强制第一轮交互仅使用
bash和str_replace_editor工具。 - 持久晋升:在第一次满足晋升条件后,从第二次请求开始暴露完整的 Standard 目录。
- 行为引导通知:在晋升步骤注入一次性用户角色通知,告知模型后台作业与前台轮询的区别,防止旧习惯延续。
安装与启用¶
推荐使用捆绑安装,插件会在启动时同步到 ~/.dsh/.agent-presets/。
dsh plugin --profile web add "github:ruby1304/dsh-preset-anchored-standard"
安装完成后,在 ~/.dsh/settings.yaml 中将其设为默认预设即可启用:
agent-presets:
default: anchored-standard
配置项¶
所有配置位于 presets/anchored-standard/agent.cordis.yml 的 tool-bootstrap 行。主要配置项如下:
| Key | Default | Meaning |
|---|---|---|
bootstrapTools |
[bash, str_replace_editor] |
第一次请求时暴露的工具目录。 |
promoteOn |
either |
晋升信号触发条件:tool-call、assistant-message 或 either。 |
suppressedContextSources |
[agent-instructions, skill-catalog] |
引导期间自动注入的上下文来源,此处设置为空列表可禁用过滤。 |
bootstrapMaxTokens |
unset | 第一次请求的输出长度上限,可选。 |
promotionNotice |
built-in text | 晋升步骤注入的一次性通知内容,可自定义或设为 false 禁用。 |
适用场景与注意¶
该插件适用于需要在轨迹评估中严格限制早期行为、同时需要后续完整能力的场景。
依赖与注意事项:
* 仅依赖 DSH 自带的 @deepseek-ai/dsh-* 插件和本地 tool-bootstrap.mjs,无第三方依赖。
* 安装前请检查源码与许可证,确保符合环境要求。
插件通过行为锚定而非单纯的结构变更,帮助模型在获得完整能力后迅速切换至后台作业模式。