dsh-preset-anchored-standard

by ruby1304

开发与运行时github 检测到 manifest package.json#dsh 社区精选 收录于 08-17

Minimal 锚定的 agent 预设:第 1 次请求保留真实 bash + str_replace_editor 组合并剥离自动注入的上下文,晋升后解锁完整 Standard 目录,并对 sleep 轮询习惯发一次性后台任务提示

Minimal-anchored agent preset: request #1 keeps the real bash + str_replace_editor pair with auto-injected context stripped, then promotion unlocks the full Standard catalog and posts a one-shot background-jobs notice against sleep-polling habits.

安装

dsh plugin --profile web add github:ruby1304/dsh-preset-anchored-standard

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

DeepSeek Harness(dsh)的 agent preset:把会话的首个请求锚定在官方 Minimal preset 的真实工具对上——持久化 bash + str_replace_editor,并剥离自动注入的工作区/技能上下文——在首个持久晋升信号(一次工具调用或首条助手回复)之后,从 request #2 起开放完整的 Standard 工具目录。

适用于需要 request #1 保持 Minimal 锚定、又不想牺牲后续 Standard 能力的轨迹评测场景。

为什么要做晋升提示

锚定是行为层面的,不只是结构层面的:以纯 shell 开局的模型会保持 bootstrap 阶段 bash 描述教给它的习惯——最典型的是用前台 sleep N + pgrep 轮询长任务——即使工具目录已经悄悄扩全。我们观测到一个被委派的会话用 sleep 240 循环轮询 benchmark 约 90 分钟,而从 request #2 起它的目录里其实已经有 job_output / job_list / job_kill。

因此本 preset 会在晋升的那一步注入一条一次性的 user 角色提示,告知模型完整目录已解锁:超过约 2 分钟的等待应交给后台 job(run_in_background: true + 完成通知),而不是前台轮询。提示只发给本进程确实经历过 bootstrap 阶段的会话——恢复一个早已晋升的旧会话不会被打扰。

安装

作为 bundle 安装(推荐——preset 会在启动时同步进 ~/.dsh/.agent-presets/):

dsh plugin --profile web add "github:ruby1304/dsh-preset-anchored-standard"

手动安装:

git clone https://github.com/ruby1304/dsh-preset-anchored-standard.git
cd dsh-preset-anchored-standard
./install.sh        # 把 presets/anchored-standard 拷入 ~/.dsh/.agent-presets/

然后在 preset 选择器里选 Anchored Standard,或在 ~/.dsh/settings.yaml 里设为默认:

agent-presets:
  default: anchored-standard

卸载:./uninstall.sh(或 dsh plugin remove 后自行删除 preset 目录)。

配置项

都在 presets/anchored-standard/agent.cordis.yml 的 tool-bootstrap 行里:

键 默认值 含义
bootstrapTools [bash, str_replace_editor] request #1 暴露的工具目录。
promoteOn either 晋升信号:tool-call、assistant-message 或 either。
suppressedContextSources [agent-instructions, skill-catalog] bootstrap 期间剥离的自动注入上下文([] 关闭过滤器)。
bootstrapMaxTokens 不设置 可选的 request #1 输出上限;晋升后显式移除。
promotionNotice 内置文案 晋升步的一次性提示:可换自定义字符串,false 关闭。

兼容性

基于 dsh 0.1.0-rc.5 开发与测试。preset 仅组合官方 @deepseek-ai/dsh-* 插件和自带的 tool-bootstrap.mjs,无第三方依赖。

开发

node tests/bootstrap-notice.test.mjs   # 针对晋升通知逻辑的 mock waterfall 测试

许可证

MIT

原始 README: https://github.com/ruby1304/dsh-preset-anchored-standard/blob/main/README.zh.md ↗