检测会话中的重复调用与循环,及时提醒或拦截
28.2/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/6 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Mlte0907/dsh-brake该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · security
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 43 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 检测会话方法循环
- 识别同类工具高频调用
- 注入警告或拒绝执行
DSH 死循环刹车器:检测 agent 会话中的方法循环(同类工具高频调用),注入警告或拒绝执行
README
由 DeepSeek 最新模型翻译生成dsh-brake
Summary
dsh-brake 是一个 DSH 插件,防止 agent 会话空转:它观察已执行的工具调用与新注入的上下文,在同样的工作反复出现且没有进展时提醒模型。它检测重复的相同调用、重复的调用序列和重复的文本块,并以插件来源的通知附加到下一次模型请求。默认只提醒;可选的 deny 模式增加单调守卫,在执行前拒绝已确认的重复调用。
Table of Contents
- Use this package
- Understand the implementation
- Model Experience
- Known Limitations and Deferred Work
- Dev Note
Use this package
Install into a profile
cd ~/.dsh/profiles/web # 或你的 profile 目录
pnpm add /path/to/dsh-brake
然后在 profile 的 package.json 中,把 "dsh-brake" 加入 dsh.profile.bundles 数组。
What you get
- 重复调用提醒。 相同工具名 + 相同规范化参数,跨执行累计计数。
展开完整文档(README 剩余 1 节)
dsh-brake
Summary
dsh-brake 是一个 DSH 插件,防止 agent 会话空转:它观察已执行的工具调用与新注入的上下文,在同样的工作反复出现且没有进展时提醒模型。它检测重复的相同调用、重复的调用序列和重复的文本块,并以插件来源的通知附加到下一次模型请求。默认只提醒;可选的 deny 模式增加单调守卫,在执行前拒绝已确认的重复调用。
Table of Contents
- Use this package
- Understand the implementation
- Model Experience
- Known Limitations and Deferred Work
- Dev Note
Use this package
Install into a profile
cd ~/.dsh/profiles/web # 或你的 profile 目录
pnpm add /path/to/dsh-brake
然后在 profile 的 package.json 中,把 "dsh-brake" 加入 dsh.profile.bundles 数组。
What you get
- 重复调用提醒。 相同工具名 + 相同规范化参数,跨执行累计计数。首次提醒在 callWarnCount(默认 6),之后每多重复 callReWarnEvery 次(默认 5)才再次提醒——绝不逐调用刷屏。
- 序列循环提醒。 sequenceLength 次不同调用组成的窗口(默认 4,最小 2)重复出现——例如 grep → curl → read → bash 循环——在 sequenceCount 次重复(默认 3)时提醒。序列身份包含参数,换查询就是新序列。
- 重复上下文提醒。 同一文本块(换行规范化后指纹,最少 minimumDuplicateChars 字符)在 duplicateTextWindowMs 内被不同消息 ID 反复注入,或单条消息内多次出现。按消息 ID 计数,历史重放不会累计;同一指纹受 duplicateTextCooldownMs 节流。提醒会列出观察到的来源。
- 可选拒绝。 mode: 'deny' 时,ctx.tools.guard 在 callDenyCount 次重复后拒绝该确切调用身份。其余一切保持提醒。人类消息重置该 agent 的全部计数。
Configuration
- id: dsh-brake
config:
mode: remind # remind | deny
callWarnCount: 6 # 首次调用提醒的重复次数 callDenyCount: 10 # deny 模式阈值;必须 > callWarnCount callReWarnEvery: 5 # 同一重复链两次提醒之间至少再累计的次数 sequenceLength: 4 # 序列长度(最小 2) sequenceCount: 3 # 序列提醒的重复次数 duplicateTextThreshold: 3 # 窗口内提醒的注入次数 duplicateTextWindowMs: 120000 duplicateTextCooldownMs: 30000 minimumDuplicateChars: 80
非法值在插件加载时抛出;绝不静默回退。
Tests
node test/test-brake.js
直接驱动真实插件入口(lib/index.js),覆盖两条 waterfall 与守卫契约:阈值、节流、按参数身份、deny 范围、重复文本计数(含消息 ID 去重与冷却)、人类消息重置、下游保留和配置快速失败。
Understand the implementation
Implementation internals — click to expand
apply() 注册两条 waterfall 监听器,deny 模式下再加一条守卫。tools/post-execute 总是先调用 next(),再把提醒叠加到下游决策的 additionalContexts;被拒绝的调用也经过同一 waterfall,所以模型反复重试被拒调用同样计数。agent/pre-step 只检查本步骤领取的消息(按消息 ID 去重),把提醒追加到 enter 决策的 messages,并在出现人类消息(source.kind === 'user')时重置全部状态。提醒是 createUserMessage() 生成的消息,带 { kind: 'plugin', plugin: 'dsh-brake', form: 'notice' } 来源,因此有稳定 id 并以插件通知呈现,不会被当作用户提示。每 agent 状态存放在以 agent 为键的 WeakMap;守卫只拒绝 post-execute 计数达到 callDenyCount 的调用身份,绝不拒绝无 agent 的调用。指纹使用 FNV-1a:参数用按键排序的规范化 JSON,文本用换行规范化;文本条目有界并按最近出现时间淘汰。
Further Exploration
- 仓库内的 repeat-tool-reminder 覆盖连续相同工具+参数链的递进提醒;dsh-brake 补充序列循环、重复上下文与可选拒绝。两者可同时启用。
Model Experience
通知是带插件来源的 user 角色消息,进入下一次请求的历史,并像其他注入上下文一样持久化在会话日志中。每条通知都很简短,只陈述观察到的事实(工具、次数、序列或重复文本预览),不回贴完整重复内容。检测只读取执行与收件箱消息;从不改写工具结果,也不删除已记录的内容。
Known Limitations and Deferred Work
- 未实现近似重复检测(轻微措辞改动);只有空白/换行规范化后的精确指纹会计数。
- 拒绝只覆盖确切的调用身份;序列循环不会被拒绝。
- 不监测流式输出;助手文本只能在提交后观察。
- 插件假定 DSH 的 tools/post-execute、agent/pre-step 与 ctx.tools.guard 契约;未在其他 Cordis 宿主上验证。
Dev Note
测试是零依赖的 Node 脚本,要求 @deepseek-ai/dsh-llm 可从插件目录解析——在 DSH profile 环境成立。真实循环组合覆盖(agent-loop + Loader)暂缓;见上方限制。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Mlte0907/dsh-brake
检测会话中的重复调用与循环,及时提醒或拦截
相关插件 · 安全 / 权限
智能体逆向工程morluto/rea
用智能体逆向工程任何东西,从应用行为到原生二进制。
★ 415,267已汉化DSH
73.3
智能体集群框架ruvnet/ruflo
面向 Claude Code 与 Codex 的智能体元基座meta-harness。
★ 80,414已汉化MCP
71.9
WorkBuddy 模型接入corrinehu/dsh-workbuddy-connect
2026 年 10 月 20 日起,WorkBuddy…
★ 1,604已汉化DSH
71.7
破甲一键通z91772524-ai/pojia-next
十五个 AI…
★ 967已汉化DSH
71.6
AI 代理虚拟终端strukto-ai/mirage
Mirage 是给 AI 智能体用的虚拟终端:一层 shell,统管数据、命令行和运行时。Unix…
★ 3,756已汉化DSH
70.8
Agent 操作层agentic-os-org/ANOLISA
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)|智能体操作系统,带运行时、安全、可观测性,以及 Tokenless 响应压缩,降低 token 用量与成本。
★ 649已汉化DSH
70.7