🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

重试守卫 sjh9714/dsh-retry-guard

DeepSeek Harness
sjh971430 天前有提交已提供中文文档扫描:未发现敏感能力

连续三次相同工具失败时暂停下一步模型动作

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add sjh9714/dsh-retry-guard
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · security
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 30 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh@deepseek-ai/dsh-agent@deepseek-ai/dsh-agent-loop@deepseek-ai/dsh-agent-loop-testkit@deepseek-ai/dsh-client-ui-plugin-manager@deepseek-ai/dsh-client-ui-chat@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-llm
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 观察重复工具失败
  • 暂停下一步模型执行

在 DeepSeek Harness 中观察重复的工具失败,并可暂停下一步模型执行。

README

由 DeepSeek 最新模型翻译生成
DSH Retry Guard 连续出现三次相同的 DSH 工具错误后,暂停下一步模型动作。 三次相同失败会暂停下一步;修复后给出新指令即可继续。 20 秒录屏:真实 DSH Web,脚本化模型,无需 API key。 演示用的是故意失败的本地工具,不是生产环境的 AI 模型。 在 DSH 里打开 Plugins → Add plugin,输入这个包名,点 Install,再点 Enable now: dsh-retry-guard@alpha 支持的目标环境:DSH Web 0.2.0-rc.2 · Node.js 24。 MIT 协议。 非官方社区插件,独立维护,未获 DeepSeek 认可。 默认:只观察。需主动开启:暂停。 插件不需要单独账号、 API key 或网络连接。安装依赖需要能访问 registry。 真实问题,实测边界 如果 DSH 反复提交同一个无效工具调用,暂停模式会给你一个停下来的点,方便检查并修复。用户反馈过这类情况:参数缺失、编辑无效、工具不可用。在其中一些反馈里,只给一句提醒并没能止住重试。 我们查看了七份公开反馈,并在 DSH 0.2.0-rc.2,2026-10-02 上测试了对应的失败模式。下面的数字是我们限定范围内的实验,不是对原用户会话的测量。
展开完整文档(README 剩余 1 节)
DSH Retry Guard

连续出现三次相同的 DSH 工具错误后,暂停下一步模型动作。

三次相同失败会暂停下一步;修复后给出新指令即可继续。

20 秒录屏:真实 DSH Web,脚本化模型,无需 API key。
演示用的是故意失败的本地工具,不是生产环境的 AI 模型。

在 DSH 里打开 Plugins → Add plugin,输入这个包名,点 Install,再点 Enable now:

dsh-retry-guard@alpha

支持的目标环境:DSH Web 0.2.0-rc.2 · Node.js 24。 MIT 协议。
非官方社区插件,独立维护,未获 DeepSeek 认可。
默认:只观察。需主动开启:暂停。 插件不需要单独账号、 API key 或网络连接。安装依赖需要能访问 registry。

真实问题,实测边界

如果 DSH 反复提交同一个无效工具调用,暂停模式会给你一个停下来的点,方便检查并修复。用户反馈过这类情况:参数缺失、编辑无效、工具不可用。在其中一些反馈里,只给一句提醒并没能止住重试。

我们查看了七份公开反馈,并在 DSH 0.2.0-rc.2,2026-10-02 上测试了对应的失败模式。下面的数字是我们限定范围内的实验,不是对原用户会话的测量。

| 公开反馈 | 我们验证了什么 | 开启暂停后的结果 |
| 缺少 run_code description,#1093:作者报告 53 次被拒调用 | 相同的残缺参数,走 DSH 真实的 schema 校验器 | 6 → 3 次调用;每次都改代码的情况抓不到 |
| 无效 Edit 重试,#6370:新旧字符串完全相同 | DSH 真实的 edit 校验器在访问文件前就拒掉重复编辑 | 6 → 3 次调用;未访问任何文件 |
| 工具名为空,#4370:反复出现未知工具失败 | 重复的空名称,走 DSH 的工具注册表 | 6 → 3 次调用;旧的流式解析器 bug 本身没有复现 |
| MCP 会话过期,#3489:反复出现会话错误 | 真实 MCP 客户端对接本地服务器,返回反馈中提到的 JSON-RPC 错误 | 连续出错时 6 → 3 次调用;错误之间成功一次就会重置计数 |
| Bash 权限死循环,#6701 | 反馈中同模式的权限请求,当前版本会接受 | 旧故障未能复现;相关的无效提权会触发暂停 |
| 只有承诺没有调用,#8581 | 助手文本有界重复,不执行工具 | 未检测到 |
| 工具标记被当成文本返回,#8509 | 普通文本回复里出现仿造的工具样式标记 | 未检测到;没有原生工具结果能到达守卫 |

这些检查使用脚本化模型、真实的 DSH 校验器/智能体循环,以及本地 MCP 协议夹具。它们不需要 API key。它们不重放原始会话,也不证明生产环境下的节省。在捕获到的案例中,模型请求数也从 7 降到 3;Observe 保留全部 6 次调用,并添加一条通知。

这个守卫针对的是连续相同的工具错误。成功的重复搜索、普通的 Bash 退出码失败、变化的调用和文本循环,都需要另一种方案。参见全部 12 个场景、方法论与复现说明。

在你的 DSH Web 中安装

需要已有 DSH Web 0.2.0-rc.2 安装,运行在 Node.js 24 上。发布的归档包含构建好的 JavaScript。安装不需要 Git、pnpm、源码检出或构建。alpha 标签指向当前预发布版。要固定到这个版本,请输入 dsh-retry-guard@0.1.0-alpha.2。

1. 打开 Plugins → Add plugin。在 Package name or address 中输入 dsh-retry-guard@alpha,然后点击 Install。
2. 等待安装完成界面出现,然后点击 Enable now。只安装文件并不会启用插件。保持这个界面打开,直到启用完成。
3. 在 Plugins 中,打开 dsh-retry-guard 包,然后打开它的 dsh-retry-guard 组件(Configure)。
4. 保持选中 Observe,这样工作继续时你能看到通知。要停止反复失败,选择 Pause 并点击 Save settings。
5. 在你平常的 DSH 会话中继续工作。你不需要用命令调用 Retry Guard。

安装检查参见验证范围。

终端安装

dsh plugin --profile web add dsh-retry-guard@alpha

用命令行安装后重启 DSH Web,然后按上面的方式打开设置。用 DSH 的插件管理器安装并激活这个包;在无关项目里直接 npm install 不会在 DSH 中激活它。

从 GitHub 下载的替代方式

更早的 alpha.1 归档仍然可用,检测器、宿主和浏览器代码完全相同。下载它的 .tgz 和 SHA256SUMS,然后从下载目录安装:

dsh plugin --profile web add ./dsh-retry-guard-0.1.0-alpha.1.tgz

归档里的 dsh.bundle 清单指向 cordis.patch.yml;这是包清单字段,不是单独的文件扩展名。DSH 0.2.0-rc.2 不自动更新已安装的插件。要切换版本,先卸载旧 bundle,再安装目标版本,然后检查它保存的模式。

失败重复出现时会怎样?

比如某个工具反复返回同一个缺参数错误,参数也完全相同。连续第三次失败时:

- Observe: 工作继续,回合结束时出现 Retry Guard 提示。
- Pause: 下一步模型调用不会开始。提示里会显示失败的工具、次数、时间,以及原始事件/调用引用。
- 修复之后: 在 Trajectory 里查看原始失败,修掉根因,然后在 Chat 里发一条新指令。失败的调用不会自动重放。

插件只负责发现重复错误,不会分析或修复根因。提示目前给出的是记录引用,不是一键跳转的检查器链接。参见错误记录操作演示。

上面的录屏不用安装开发工具就能看。想亲手跑一遍我们这套无需密钥的演示,请按单独的开发者演示指南操作。它用的脚本化模型和会失败的工具都在源码检出里,普通插件安装不包含这些内容。

在那一个确定性 fixture 里,Observe 跑了 6 次工具调用 / 7 次模型请求;Pause 跑了 3 / 3,之后在一条新的修复指令后有一次成功调用。这些只是 fixture 计数,不是通用的省成本结论。参见验证范围、替代方案,以及已报告失败与检测限制。

行为

在同一个智能体和同一个回合内,连续三次失败调用必须工具名相同、JSON 参数递归按键排序后相同、失败内容完全一致。「失败」指 DSH 把工具结果标记为 isError: true。Bash 命令返回退出码 1,在 DSH 里通常算工具执行成功,不计入。数组顺序、字符串、失败细节都算数。一次成功调用、参数/错误/工具发生变化、一次被排除的调用,或者进入新回合,都会打断这条链。排除名单是精确匹配,不是通配符。

- Observe: 每段不间断的失败连续段加一条带来源标注的提示。
- Pause: 同时拒绝下一步模型调用。已经在跑的并行调用仍可能完成。这并不保证每批最多执行三次。
- Continue: 查看原始工具结果,修正根因,再发一条新指令。插件绝不会自动重放失败的调用。
- 证据: 提示里包含次数、工具、时间戳、会话/调用 ID,以及原始事件序列引用。Web 报告出现在已完成的轮次;用 Trajectory 查看被引用的调用。原始结果保持不变。

配置只有三个字段:

mode: observe # observe | pause
failureLimit: 3 # integer >= 2
excludeTools: [] # exact names; excluded calls break a streak

改动会在下一个边界启动全新的检测器状态。检测器状态保存在内存中,插件或宿主重启后重置。已有通知和工具记录仍留在 DSH 会话里。新的用户消息也会重置已就绪的暂停,包括工具执行期间排队的消息。

隐私与限制

守卫不发起网络请求,也没有遥测。它只在内存中对原始参数和失败内容做哈希。通知里可分享的 JSON 只含元数据:没有参数、错误文本、认证值或对话文本。分享前先检查工具名和标识符。DSH 的原始会话日志仍包含原始工具数据;别把完整会话导出和这份小报告搞混。

不同的错误、变化的参数、交错的调用、纯文本循环和服务商请求失败,都超出这个检测器狭窄的规则范围。成功的轮询不会被拦截。其他插件可能各自停止工作。插件不诊断根因、不修复文件、不切换模型,也不估算节省量。

只针对 DSH Web 0.2.0-rc.2。其他版本需要做兼容性测试。精确的 DSH peer 声明标明了经过测试的 API 版本;仅凭包管理器警告不算兼容性测试。DSH 的配置档安装器可能对宿主提供的 peer 发出警告;隔离的 Web 安装单独测试。

移除

先停掉该配置档的 DSH Web 进程,然后运行:

dsh plugin --profile web remove dsh-retry-guard

重启 DSH Web。已有会话记录保留。仅对隔离演示,在命令前加 DSH_HOME="$PWD/.work/demo-home",如果命令行没有全局安装就用 pnpm exec dsh。不要删除你正常的 DSH home。DSH 会在配置档补丁里保留那条休眠的设置行;移除 bundle 会卸载它的钩子和 UI。重新安装到同一配置档可能复用已保存的 mode,所以开始工作前先检查一下。

开发

见开发者环境搭建、无密钥演示和 Web 检查。

检测器在 src/core.ts;DSH 适配器和持久化通知在 src/index.ts;设置和可见报告在 src/client/index.tsx。依赖固定在 pnpm-lock.yaml。检测器测试不需要依赖的生命周期脚本。Check 工作流在 Node.js 24 上运行类型检查、测试、构建和两个无密钥终端示例。

公开构建

在你正常的 DSH 工作流里试试,然后告诉我们结果:它抓到了重复失败、漏掉了一次,还是暂停了有用的工作?分享一小段不敏感的通过 Issues 或 DSH 社区讨论帖 提交示例。欢迎通过可选的反馈指南提供安装与持续使用反馈。

项目推进过程中,我们会发布可复现的发现、修复与限制。优先级来自具体报告;分享更新或改进插件前,无需满足任何参与者配额。真实用户的实际使用情况仍未被衡量。Star 和下载量与安装和使用分开统计。如果这对你有用,请给仓库点 Star 并关注更新。
预览分享卡片长什么样 ↓sjh9714/dsh-retry-guard
分享 · DeepSeek Harness Hub
sjh9714/dsh-retry-guard

连续三次相同工具失败时暂停下一步模型动作

回到顶部