dsh-progress-rules:让智能体在工具步骤之间汇报进度

前言

在 DeepSeek Harness(DSH)里跑长任务时,模型常会连续发出大量 tool call,中间几乎没有面向用户的文字说明。对话历史里看起来像「静默执行了几十步」,你很难判断它在做什么、是否卡住。把纪律写进 AGENTS.md 或 deployment 的 personaSuffix 也不总是可靠:前者可能被对话压缩摘要掉,后者在 Standard / PTC / Minimal 等 preset 下还可能被 @deepseek-ai/dsh-persona 同名 section 遮住。

下面介绍社区插件 dsh-progress-rules(维护者 Adamaik,GitHub 分类为工作流相关能力)。它用「系统提示词独立段落 + 每步前的确定性提醒」两层机制,把「过程要有叙述」从「指望模型记得规则」变成 harness 侧可执行的行为。

这是什么

dsh-progress-rules 是一个 DSH bundle 插件:在 profile 的 bundle 列表里挂一行即可同时挂载两层逻辑。

  • 一层是 过程纪律 的系统提示词 section(默认名 user:progress-rules,顺序 10150),每次请求都会重新渲染,不会被 compaction 摘要掉。
  • 另一层是在 agent/pre-step 上检查的 确定性 nudge:若上一条 assistant 消息只有 tool call(或 reasoning)而没有文本块,则计为「静默步」;连续静默达到阈值后,由插件在下一步注入提醒,而不是等模型自己想起来。

简介原文表述为:process-discipline system-prompt section + deterministic progress nudge for silent tool steps。

核心功能

系统提示词段落(建议层)

插件通过 Cordis patch 插入 id 为 progress-rules 的配置行。默认 text 为内置的中文过程纪律文案;order 为 10150(在 WEB_SURFACE 10100 之后、persona suffix 10200 之前)。section 使用独立名称,避免 preset 里 @deepseek-ai/dsh-persona 像遮挡 deployment:persona-suffix 那样挡住本插件内容。

这一层对模型是 建议性 的:告诉它优先遵守过程纪律。

确定性进度提醒(执行层)

在每个 admitted step 之前,插件检查 上一条 assistant 消息 是否包含任意 text block:

  • 若只有 tool calls(或 reasoning),该步记为 silent。
  • 连续 silent 步数达到 everySteps(默认 5)时,在下一步注入一条 user-role 提醒(文案可配置):大意是「你连续用工具却没有汇报,先用 1–3 句话说明再继续」。
  • 提醒以 durable context 形式出现,对应 progress-rules context row,不是用户真实发来的消息。
  • 任意一步带有叙述的 assistant 消息会 重置 计数器。

README 写明:打破「连续 40 步静默」这类模式,靠的是 harness 自己插入提醒,而不是只信任模型记住规则。

与 AGENTS.md、personaSuffix 的对比

方式 局限(据 README)
AGENTS.md 作为对话里的 durable user message,长任务可能被 compaction 摘要
system-prompt.personaSuffix preset 挂载的 persona bundle 可能用空文本注册同名 section,遮住 deployment 配置

本插件用 独立命名的 system-prompt section 规避后者;用 pre-step 注入 补足前者无法强制执行的缺口。

安装与启用

DSH 插件安装在 profile($DSH_HOME/profiles/<name>),不是全局一次装完。

  1. 进入你的 profile 目录(例如 desktop / web / tui):
cd ~/.dsh/profiles/desktop
  1. 安装 npm 包:
npm install dsh-progress-rules
  1. 在 profile 的 package.json 里加入依赖,并在 dsh.profile.bundles 中 放在基础 bundle 之后(列表顺序即组合顺序):
{
  "dependencies": {
    "dsh-progress-rules": "^0.2.1"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "dsh-progress-rules"
      ]
    }
  }
}
  1. 重启 DSH。若你使用的 DSH 构建带有 dsh plugin 命令,README 说明:加依赖和 bundles 条目通常就是该命令替你完成的事。

包版本在 npm 元数据中为 0.2.1;许可证 MIT。

配置

默认配置写在包内 cordis.patch.yml。在 profile 的 cordis.patch.yml 里用 相同 row id progress-rules 覆盖。注意 patch 语义会 整体替换 该行的 config,保留的键需要全部写回。

示例:把连续静默阈值改为 3,并换成英文纪律文案:

- id: progress-rules
  name: dsh-progress-rules
  config:
    everySteps: 3
    text: |
      ## Process discipline
      1. Narrate progress after every step.
      2. Ask when uncertain instead of guessing.
键 默认值 含义
text 内置中文规则 系统提示词 section 正文;空字符串则去掉该 section
name user:progress-rules section 名称
order 10150 section 顺序
enforce true false 时关闭 per-step nudge,仅保留提示词段落
reminder 内置一句英文提醒 注入静默步前的文案;空则关闭 nudge
everySteps 5 连续多少静默步后注入一次提醒;1 即每步都提醒,更大则更安静

典型用法

默认开箱:安装并加入 bundles、重启后,无需改配置即可获得中文过程纪律 section + 每 5 个连续静默 tool 步一次的提醒。

只保留提示、不要自动提醒:在 profile patch 里设 enforce: false,或把 reminder 置空(二者效果分别是关闭 nudge 逻辑或关闭注入文案,见上表)。

更频繁的叙述:减小 everySteps,例如设为 1 表示每一步静默后下一步都会收到提醒。

定制纪律与提醒语:同时重写 text 与 reminder(若只改其一,patch 时仍须列出你要保留的其他键)。

适用场景与注意

适合:你在 DSH 里跑多步工具链(读文件、改代码、跑命令),希望终端或 Web 界面里 持续有短叙述,而不是长时间只有 tool 图标在动。

兼容性(README 自述):在 DSH 0.2.1-rc.2、Standard preset、deepseek-v4.1-flash:1017-cloud 下测试过。实现为纯 ESM,无 Cordis 运行时依赖,使用 node:crypto。

静默检测限制:nudge 通过上一条 assistant 消息里的 text block 判断是否「有汇报」。若某 provider 把 assistant 正文放在自定义 block 类型里,可能不会被识别为已叙述——README 建议此类情况可开 issue。

安全与信任:插件随当前 DSH profile 以本机 Node 进程权限运行;安装前可在 GitHub 仓库 查看 index.mjs、cordis.patch.yml 与 MIT 许可证,再决定是否纳入生产 profile。

社区目录 SkillHub 插件页 与 GitHub 无 DeepSeek / 幻方官方从属关系,仅为 DSH 生态里的第三方收录。

结尾

dsh-progress-rules 把「过程纪律」放进不会被 compaction 吃掉的 system-prompt section,并在连续静默 tool 步后由 harness 注入提醒,两层合一 bundle、配置集中在 progress-rules 一行。若你正被「智能体闷头连跑几十步工具」困扰,可以按 profile 方式安装 ^0.2.1 并调整 everySteps 与 text 试一轮。

  • 目录页:https://www.skillhub.cn/plugins/Adamaik/dsh-progress-rules
  • 源码与文档:https://github.com/Adamaik/dsh-progress-rules
羽毛球分组比赛记分
小程序二维码

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

Xiaoye