← 返回列表
未验证
DeepSeek Harness dsh 的死循环 / 重复输出检测插件。
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/15 · 已提供中文文档
DeepSeek Harness 智能体的死循环/重复检测器——硬中断文本循环和同一主题的搜索重试,这些是软提醒会漏掉的。
综合分
28.1
GitHub 分
28.1
用户评分
—
★ Stars
2
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add viego-qiin/dsh-loop-detector该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-llm@deepseek-ai/dsh-session用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-loop-detector DeepSeek Harness (dsh) 的死循环 / 重复输出检测插件。 npm License: MIT 本地大模型(尤其是量化版 / RL 微调的思考模型)有时会卡死:要么无限重复同一句话, 要么用换措辞的 query 反复搜索同一个主题却毫无新信息。本插件实时监听 agent 的输出流, 检测这两类循环,并硬中断——不是模型可以无视的软提醒。 English docs: README.md 功能 - 文本级重复检测 —— 监听 assistant/chunk(text-delta + 可选 reasoning-delta),三层检测: 1. 周期扫描:尾部按固定周期(8–256 字符)重复 2. n-gram:最近窗口内 64 字符块出现 ≥3 次 3. 大段锚段:尾部 512 字符在更早文本再次出现并向前扩展(抓"整段重复", 例如模型把同一段规划输出两遍) - 工具调用意图级重复检测 —— 监听 tools/execute 的 web_search:提取 query 关键词, 维护"主题词集"(最近 3 个 query 的并集),若新 query 的**新词占比 = 512 字符才开始检测(防短文本误判) maxRetries: 1 # steer 自动重试 1 次,再犯则强制取消 checkReasoning: true # 同时检测思考内容(reasoning-delta) 然后重启验证: powershell dsh web 检测到循环时日志会出现: [loop-detector] session xxx 检测到死循环(1/1): large-scale repeat: ...;steer 引导重试 [loop-detector] session xxx 连续 2 次搜索同一主题(无新信息): "...";steer 引导停止搜索 仓库内附可直接使用的 cordis.patch.yml 示例。 配置项 | 字段 | 默认 | 含义 | |---|---|---| | minLen | 512 | 输出达到多少字符后才开始检测(防短文本误判)| | maxRetries | 1 | steer 自动重试次数,耗尽后强制取消 | | checkReasoning | true | 是否也检测思考内容(reasoning-delta)| 检测原理 文本级(detectRepetition) 1) 周期扫描 尾部 4 个周期逐字符一致,周期 T ∈ [8..256] -> 循环 2) n-gram 最近 2048 字符内 64 字符块出现 >= 3 次 -> 循环 3) 大段锚段 尾部 512 字符在更早文本再现,向前扩展 >= 512 -> 循环 工具调用意图级 主题词集 = 最近 3 个 web_search query 的关键词并集 新 query -> 新词占比 = (不在主题词集中的 token 数) / 总 token 数 新词占比 意图级重复 -> steer / cancel 已用真实案例验证:Qwen3.5-9B 卡在 82 字符单句(period=132 命中)、2120 字符规划段 重复两遍(大段锚段命中)、11 连发同主题搜索(第 8 个命中,前 7 个各带新维度不误伤)。 局限 - 意图级检测目前针对 web_search,其他工具可通过扩展 exec.name 过滤加入; - 检测器是启发式的——请按你的模型调 minLen / 阈值; - 检测按 session 独立,turn/end 自动重置,不跨回合累积。 License MIT — 见 LICENSE。
扫码进群