DeepSeek Harness Hub
← 返回列表

viego-qiin/dsh-loop-detector

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

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。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群