dsh-degeneration-guard:思考段复读检测与自动续跑

前言

在 DeepSeek Harness(DSH)里跑智能体时,模型有时会在「深度思考」段里原地打转:同一类确认语、短句交替出现,既不推进任务,又占满上下文。常见应对是白名单加连续命中次数,但阈值低了误伤正常确认,阈值高了又挡不住「好。做。开始。做。」这类不连续的碎片复读。

dsh-degeneration-guard 是社区维护的 DSH 插件,只盯 reasoning-delta(思考段),用滑动窗口做通用重复检测,命中后截断生成并可选自动把下一步推给模型。下面介绍它的定位、判据、安装与配置。

这是什么

插件在流式输出里检测思考段复读,截断本次生成,并在开启「自动继续」时通过 agent 机制续跑;聊天里会留下折叠提示,客户端可弹一次浮窗。正文与工具调用原样透传,不参与复读判定。

为什么不用白名单

README 里对比了白名单做法:只有整行等于表内固定短句才算命中,且要求连续命中 N 次。阈值设为 1 时,正常确认语也容易误伤;设为 2 及以上时,复读串里一旦出现表外词(如 做。、开始。),连续计数会清零,几乎触发不了。真实退化往往是交替碎片,本插件改为窗口内计数,不查词表。

核心功能与判据

监测范围

只看 reasoning-delta。明确不参与判定:空行、代码围栏(``` / ~~~)内的行、纯数字或标点组成的装饰行(如 1.、---、===)。

行重复(始终启用)

在最近一个滑动窗口内统计整行出现次数。窗口大小为 max(9, 阈值 × 3) 行;同一整行在窗口内出现达到「重复次数阈值」即判复读。看窗口而非「连续相等」,因此交替复读也能拦住。

行内重复(可选,默认关闭)

检测单行由同一单元重复构成的情况,例如 好。好。好。。关闭时只认跨换行的整行重复(独立段落)。

拦截之后的行为

  1. 触发命中的 delta 照常放行,补 block-end 闭合思考块,再补 finish(stop),对 agent-loop 而言等同一次正常完成。
  2. 在 agent/turn-stopping 里调用 agent.steer(...) 推入「拦截提示词」,本轮自行继续(需开启自动继续)。
  3. 累计拦截次数加一并写回配置;同一段流命中后立即结束,一轮内不会反复截断。

README 示例(思考段被截断后聊天提示):

[深度思考]
  先检查服务器状态和崩溃日志。
  关键:看最新日志和 crash-reports。
  执行。            ← 命中
  好。
  做。
  开始。
  做。              ← 同一行出现三次

[复读打断] 已截断 · 第 3 次 · 已自动继续

(聊天里摘要文案可在设置里改,默认含 {count} 等占位符。)

安装与启用

要求 DSH / dsh-agent 等 0.1.7 及以上(0.2.x 亦可)。Node 引擎要求 >=20(见 package.json)。

插件市场:在 Harness 的「插件市场」里搜索 dsh-degeneration-guard,一键安装。

命令行(桌面版 PATH 里通常没有 dsh,用 npx):

npx -y @deepseek-ai/dsh@latest plugin --profile desktop add dsh-degeneration-guard

--profile 填你的 profile 名,桌面版默认是 desktop(不确定可看 ~/.dsh/profiles/ 下的目录名)。若 npx 拉起的 CLI 与桌面版不一致导致 profile 不兼容,可改用插件市场安装。

装好后在 设置 → 复读打断 里配置。

设置项

项 默认 说明
累计拦截 0 自上次清零以来的拦截次数,持久保存,插件加载时不归零
重复次数阈值 3 同一句在窗口内出现几次才判定复读;2 最敏感,3 最稳
行内重复检测 关 关闭时只检测独立段落(跨换行的整行重复)
自动继续 开 打断后自动把下一步推给模型,不需要手动继续
拦截提示词 见下 推给模型的那一段,支持 {count} / {line}
提示摘要 复读已打断(第 {count} 次)· 已自动继续 聊天里折叠提示的文字,仅用户可见

默认拦截提示词:

[拦截复读]
你上一段思考已经出现推理退化,系统已截断。
请直接继续执行下一步,不要再输出任何确认语、寒暄或空话。

{count} 为累计第几次拦截,{line} 为触发拦截的那一行,可写进提示词与摘要。

与 dsh-repeat-guard 的关系

两者功能重叠,不要同时启用:同时开会双重拦截,且旧插件每次加载会把计数清零。README 建议只装本插件。

适用场景与注意

适合:长时间 agent 任务、模型经常在思考段输出无意义重复短句、希望少手动点「继续」的 DSH 用户。

注意:

  • 插件在 当前 dsh 进程权限 下运行,安装前请自行查看 源码仓库 与 MIT 许可证。
  • 社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系;插件由社区作者维护,星标与版本以仓库与目录页为准。
  • 敏感任务可把「重复次数阈值」调到 3,或先关「行内重复」观察误报;若仍频繁打断,再微调阈值与提示词。

结尾

dsh-degeneration-guard 用滑动窗口在思考段做通用复读检测,打断后可选自动 steer 续跑,并可在设置里改阈值、行内检测与提示文案。需要安装或 issue 时,可看社区目录页与 GitHub:

  • 目录页:https://www.skillhub.cn/plugins/bluemika111/dsh-degeneration-guard
  • 仓库:https://github.com/bluemika111/dsh-degeneration-guard
羽毛球分组比赛记分
小程序二维码

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

小夜