切断模型复读循环,剪除重复内容并自动续跑
29.7/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/20 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add citydirector/dsh-loop-rescue该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 17 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-llm给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH 插件,在流式输出中截断模型重复循环,从会话日志里清除,并自动恢复。
README
由 DeepSeek 最新模型翻译生成dsh-loop-rescue
English · 简体中文
DSH 循环救援插件:模型陷入重复(Now. / OK. / Emit. / Producing. 轮转、段落刷屏)时,从流内部切断,把循环部分从落盘内容里剪掉,再自动续跑。
和单纯截断相比,关键区别是:被切断的那条消息在下一轮上下文里不含循环,模型不会再读一遍自己的复读,然后接着复读。
需要 DSH 0.1.7 或更新。纯 JS,没有构建步骤。
快速开始
和 @mrweicodes/dsh-loop-guard 二选一,两者同时开会重复切断。
1. 安装:侧边栏 插件 → 添加插件,填入 https://github.com/citydirector/dsh-loop-rescue
装完打开开关。
2. 默认配置即可使用。想先观察,把 mode 设成 observe(见「配置」)。
命令行安装:
dsh plugin --profile web remove @mrweicodes/dsh-loop-guard
dsh plugin --profile web add -w github:citydirector/dsh-loop-rescue#v0.1.0
命令行装完重启 dsh web。不需要放行 pnpm 构建脚本。
配置
默认配置即可使用。
展开完整文档(README 剩余 1 节)
dsh-loop-rescue English · 简体中文 DSH 循环救援插件:模型陷入重复(Now. / OK. / Emit. / Producing. 轮转、段落刷屏)时,从流内部切断,把循环部分从落盘内容里剪掉,再自动续跑。 和单纯截断相比,关键区别是:被切断的那条消息在下一轮上下文里不含循环,模型不会再读一遍自己的复读,然后接着复读。 需要 DSH 0.1.7 或更新。纯 JS,没有构建步骤。 快速开始 和 @mrweicodes/dsh-loop-guard 二选一,两者同时开会重复切断。 1. 安装:侧边栏 插件 → 添加插件,填入 https://github.com/citydirector/dsh-loop-rescue 装完打开开关。 2. 默认配置即可使用。想先观察,把 mode 设成 observe(见「配置」)。 命令行安装: dsh plugin --profile web remove @mrweicodes/dsh-loop-guard dsh plugin --profile web add -w github:citydirector/dsh-loop-rescue#v0.1.0 命令行装完重启 dsh web。不需要放行 pnpm 构建脚本。 配置 默认配置即可使用。需要调整时写进 profile 的 cordis.patch.yml: - set: - id: loop-rescue config: mode: rescue # rescue:切+剪+续跑 | cut:切+剪 | observe:只记日志 watch: both # both | reasoning | text marker: true # 剪除处留「〔已删除 N 字重复思考〕」 maxConsecutiveRescues: 3 # 连续救援上限,出现一次正常调用就清零 stallCalls: 3 # 连续几次只思考无产出就提示继续;0 关闭 stallMinReasoningChars: 1024 retryTemperature: 1.0 # 续跑请求改用的温度;不填不改 retryReasoningEffort: low # 续跑请求改用的推理强度;不填不改 retryRequests: 1 # 续跑后几次请求使用上面两项 language: auto # auto | zh | en detector: # 检测阈值,一般不用动 poolWindow: 30 poolMinCoverage: 0.75 cycleMinChars: 600 建议先用 mode: observe 跑一两天,看日志里的 loop-rescue: ... loop detected 是不是都是真循环,再切到 rescue。 工作原理 agent-loop 组装 assistant/message 时,每个 block 的最终内容取自 block-end 的载荷,而不是之前流出的 delta。插件在 llm/stream 瀑布里包装模型调用: 1. 对每个推理/正文 block 跑流式检测器; 2. 命中后闭合所有打开的 block:循环所在的 block 换成剪到循环起点的内容(可留一行标记),以 stop 结束流; 3. 落盘的消息里只剩循环之前的有效内容。原始流仍完整保存在事件的 stream 记录里,轨迹视图可以查看; 4. 等回合真正结束(whenIdle())后,用 followup() 发一条带纠正语的续跑消息; 5. 续跑的前 N 次请求可选地改用另一组采样参数; 6. 连续救援达到上限就不再续跑,留一条提示。 为什么不事后改会话:assistant/message 不能携带 sourceEventSeqs,会话面的 replace 操作没法用 assistant 消息替换 assistant 消息。在 block-end 处剪,是唯一不破坏消息角色和工具调用配对的做法。 检测规则 | 规则 | 抓什么 | 剪在哪 | | 短句池 pool | 最近 30 句里 ≥75% 是几种反复出现的短句(顺序可以变) | 回溯到这批短句第一次出现的位置 | | 逐字周期 cycle | 尾部是同一段文字的逐字重复,周期 16–4000 字符,重复 ≥3 遍,总长 ≥600 | 保留第一份,从第二份开始剪 | 防误伤: - 中文句号直接断句,英文句号后面要跟空白才断; - 纯符号行(|---|、})不计入统计; - 正文中的列表项、表格行、引用行不计入统计; - 正文中的 - 短句池至少要有两种句子在轮转; - 打开的 block 里有工具调用时不切,因为闭合半截工具调用会让宿主执行参数不完整的调用。 离线扫描 用插件同一份检测器复跑历史会话,看会在哪里剪: powershell node tools/scan-session.mjs <会话文件或目录> # 只列命中 node tools/scan-session.mjs <会话文件或目录> --all # 连未命中一起列 node tools/scan-session.mjs <会话文件> --json 支持纯 jsonl 和 zstd 压缩的会话文件(zstd 需要 Node 22.15+)。脚本只依赖 src/detector.js,普通 node 就能运行。 清洗历史里已经提交的循环 插件只能拦住新的循环;历史里已经提交的循环会被模型继续模仿。DSH 发给模型的请求是会话日志的冻结投影,插件改不了,只能在 DSH 完全退出后 离线清洗会话文件。没装过插件的老会话同样适用。 推荐用 dsh-session-manager(dsm loops,Windows 有单文件 exe),检测规则和本插件同一套,另外还能升级、归档、修复烂尾会话。 本仓库也带一个轻量脚本(需要 Node 22.15+,只支持 v4 会话): powershell node tools/clean-session.mjs # 列出有循环的会话,按序号选,回车=最新 node tools/clean-session.mjs --dry-run # 只看会改哪里 node tools/clean-session.mjs --undo # 从备份恢复 - Windows 下也可以双击 tools\clean-session.cmd,或把会话文件夹拖到它上面;找不到数据目录时用 --data <数据目录> 指定。 - 只改命中的 assistant/message:正文 / 推理截到循环起点,data.stream 同步截断,移除该消息的 source.replayState。其余行逐字节不变。 - 改之前备份到 <数据目录>\sessions-loop-rescue-backup\;DSH 在运行时拒绝执行(--force 可跳过,不推荐)。 - 2026-10-17 之前的版本只读得到压缩日志的第一帧,并会把结果写成单帧(DSH 会把这种会话当损坏隐藏)。已修复;被隐藏的会话可以用 dsm repair 找回。 已知限制 - 聊天区已经流出的循环文字在消息提交后会被替换成剪过的版本,但具体怎么重绘取决于 DSH 前端版本; - 跨步骤的循环(每一步都是「说一句 → 调同一个工具」)不在本插件范围内,那是内置 guard/repeat-tool-reminder 的职责; - retryTemperature 需要适配器支持 temperature;Ollama 的重复惩罚等参数 DSH 目前没有通用字段,无法从这里设置。 开发与测试 bash npm install npm test 相关项目 - dsh-remote-access-proxy:在手机、平板或另一台电脑上使用 DSH - deepinfra-fusion-proxy:DeepInfra Standard / Flex 按会话切换与自动回退 - dsh-session-manager:离线会话管理器,可升级、归档、清洗循环、修复烂尾会话 许可证 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
citydirector/dsh-loop-rescue
切断模型复读循环,剪除重复内容并自动续跑
相关插件 · 其他
模型破甲清洗YuJunZhiXue/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,148已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,266已汉化DSH
70.7
这是你的仓库?认领条目