dsh-repeat-guard:流式输出退化拦截与工具调用强制

前言

在长上下文场景下,部分模型(尤其是 deepseek v4.1 flash)容易进入“思考退化”状态。模型在输出思考内容时反复循环短句,这种“唱歌”行为会以高速度消耗大量 token,却不产生有效信息。此外,模型在明确需要调用工具时,仍会输出冗余短句再进入其他思考分支。这会导致上下文迅速膨胀,且用户往往只在思考过程闪过时才能察觉。

这是什么

dsh-repeat-guard 是一款用于模型推理的插件,由 xiaozhuyuqing 维护。它检测模型思考过程中的碎片复读,通过拦截白名单短句并中断输出,强制模型直接进入下一步,从而恢复正常的 agent-loop。

核心能力

该插件具备以下能力:

  • 碎片检测:检测模型思考过程中的碎片复读。
  • 白名单拦截:拦截白名单短句并中断输出。
  • 强制执行:截断后显示提示,强制模型直接进入下一步,不再输出确认语或寒暄。
  • Loop 恢复:通过注入提示词恢复 agent-loop。
  • 增量检查:逐 chunk 检查 reasoning-delta。

安装与版本要求

安装插件需要执行以下命令:

dsh plugin --profile web add dsh-repeat-guard

需要注意版本兼容性。插件要求 DSH 0.1.7 及以上版本。
* 0.1.7 起:宿主会在装载前校验插件的 peer 声明,配置表单也换成了 entry Config 模型,旧写法不再工作。
* 0.1.0-rc.8 ~ 0.1.6:请安装 0.1.5 版本。

插件用到的宿主接口在 0.2.0 上没有变化,因此 0.2.2 起 peer 范围不再设上限。

典型用法与表现

当模型输出循环句(如 Let me do it.)或碎片复读(如 好。做。开始。做。)时,输出会被截断。

截断后会显示提示:

你上一段思考退化成了碎片复读(反复输出'好。'一类的空话),已被系统截断。
请直接继续执行下一步,不要再输出任何确认语、寒暄或空话。

随后模型会直接继续执行下一步,不再进行无效的复读。

配置与注意事项

在 设置 → 复读打断 里查看配置,保存后生效,无需重启。

主要配置项包括:

  • 累计拦截:记录掐断次数,有清零按钮。
  • 拦截短句:触发打断的白名单,需要加上标点。
  • 连续命中次数:连续命中的阈值,默认配置连一个短句后的分支思考过程也会拦下。
  • 行内重复检测:打开后检测挤在一行里的重复(此选项是为 qwen 35B 等模型准备的,deepseek 不存在该问题)。
  • 续跑指令:截断后推给模型的提示词。
  • 折叠行摘要:注入段用户可见的简要信息。

注意:截断过程可能较多,这是为了恢复 agent-loop 所付出的代价。

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

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

小夜