前言¶
在长上下文场景下,部分模型(尤其是 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 所付出的代价。