dsh-loop-rescue
在终端中运行以下命令:
dsh plugin install citydirector/dsh-loop-rescue
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 侧边栏打开 Plugins → 添加插件,填入 https://github.com/citydirector/dsh-loop-rescue 并启用;或在终端执行 dsh plugin install citydirector/dsh-loop-rescue 后重启 dsh web。
插件介绍
在 DSH 智能体长时间推理或流式输出时,模型有时会陷入「Now. / OK. / Emit.」这类短句轮转,或同一段文字反复刷屏。单纯掐断流只能停住当下,若把含循环的半截回复写进会话日志,下一轮上下文会再次读到自己的重复,往往越救越绕。dsh-loop-rescue 针对的正是这种「截断了但上下文仍带着毒」的场景。
插件在 llm/stream 瀑布流里包裹模型调用,对流式 reasoning 与 text 块做实时检测;一旦命中规则,会关闭所有未结束块,把正在循环的块回剪到循环起点(可选一行标记),并以 stop 结束本轮流。写入日志的是剪枝后的有用内容,完整原始流仍保留在事件的 stream 记录里供轨迹查看。回合真正结束后通过 followup 发送带纠偏说明的续写;连续救援次数有上限,超限后停止自动续写并留下说明。
检测侧兼顾两类典型循环:短语池(最近若干句里大量重复短句)与逐字周期(尾部同一段文本多次 verbatim 重复),并配有句号分句、忽略符号行与列表表格等降噪,降低误伤。建议先用 observe 模式对照日志里的 loop detected 是否属实,再切到 rescue。
适合日常跑 DSH 工作流、又常被模型复读拖垮会话的人;与 @mrweicodes/dsh-loop-guard 二选一即可,勿同时启用以免双重截断。
使用场景
- 模型输出短句或段落反复刷屏时自动截断并清理日志
- 长任务流式生成中需要避免下一轮上下文读到重复内容
- 先用观察模式核对日志中的循环命中再启用救援
适合人员
- 日常使用 DSH 跑智能体工作流的用户
- 常被模型复读拖垮会话的开发者
- 希望会话日志保持干净且可自动恢复的用户