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

请求重试增强 c-ling/dsh-plugin-request-retry

DeepSeek Harness
c-ling73 天前有提交已提供中文文档扫描:含敏感能力

内置重试耗尽后按关键词继续自动重试请求

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
数据截至 2026/09/26·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/05·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 73 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

⚠︎ 实装验证未通过(unknown · 2026/9/26) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 7 处,展示前 7 条)
  • 写入本地文件
    lib/index.js:197
    await writeFile(tmp, data);
  • 写入本地文件
    lib/index.js:198
    await rename(tmp, file);
  • 读取本地文件
    lib/index.js:223
    if (existsSync(configPath)) {
  • 读取本地文件
    lib/index.js:224
    current = normalizeConfig(JSON.parse(readFileSync(configPath, "utf8")));
  • 写入本地文件
    lib/index.js:237
    await mkdir(directory, { recursive: true });
  • 发起网络请求
    lib/client.js:218
    var res = await fetch("/dsh-plugin-request-retry/config", { headers: { accept: "application/json" } });
  • 发起网络请求
    lib/client.js:232
    var res = await fetch("/dsh-plugin-request-retry/config", {
扫描于 2026/11/5(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 关键词命中继续重试
  • 内置重试耗尽后追加
  • 管理关键词与退避参数

DeepSeek Harness 请求重试插件:模型请求失败且错误信息命中关键词时,在内置重试策略耗尽后继续自动追加重试;设置面板可管理关键词与退避参数。

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-request-retry DeepSeek Harness 请求重试插件(DSH 双面插件):模型请求失败且错误信息命中关键词时,在内置重试策略耗尽后继续自动追加重试;设置面板新增「请求重试」页管理关键词与退避参数。 dsh-plugin topic license 简介 DeepSeek Harness 对每次模型请求执行提供商自带的重试策略(@deepseek-ai/dsh-llm-retry,默认最多 5 次、指数退避)。策略耗尽后失败会直接向上传播、回合以错误结束。本插件在同一个请求恢复扩展点(agent/request-error waterfall)上注册自己的恢复器: - 先让内置策略先行:始终先 next() 把请求交给链上的后续恢复器(含内置 llm-retry);只要内置策略仍安排了重试,本插件原样放行。
展开完整文档(README 剩余 1 节)
dsh-plugin-request-retry

DeepSeek Harness 请求重试插件(DSH 双面插件):模型请求失败且错误信息命中关键词时,在内置重试策略耗尽后继续自动追加重试;设置面板新增「请求重试」页管理关键词与退避参数。

dsh-plugin topic
license

简介

DeepSeek Harness 对每次模型请求执行提供商自带的重试策略(@deepseek-ai/dsh-llm-retry,默认最多 5 次、指数退避)。策略耗尽后失败会直接向上传播、回合以错误结束。本插件在同一个请求恢复扩展点(agent/request-error waterfall)上注册自己的恢复器:

- 先让内置策略先行:始终先 next() 把请求交给链上的后续恢复器(含内置 llm-retry);只要内置策略仍安排了重试,本插件原样放行。
- 默认重试结束后接管:当整条恢复链都没有给出重试决策,且失败信息(failure.message)包含配置的任一关键词(不区分大小写的子串匹配)时,追加一次本插件自己的重试:
- 向会话日志写入与内置重试同构的持久化事件 llm/retry + llm/retry-started(使用独立的稳定 policyKey 链,通过 dsh-llm-retry 的不变量校验),轨迹面板可见;
- 按指数退避 + 抖动等待(服务端返回 Retry-After 且不超过最大间隔时优先遵循);
- 返回 { kind: "retry" },agent loop 原地重跑失败的 step。
- 按 (turn, step, provider) 计数:追加重试次数用会话事件统计,每个失败 step 独立计数,不会跨步骤累积。

设置 → 请求重试

| 配置 | 默认 | 说明 |
| 启用请求重试 | 开 | 总开关 |
| 匹配关键词 | 20 个常见错误词 | 每行一个;错误信息命中任意一个即触发 |
| 区分大小写 | 关 | 关键词匹配方式 |
| 追加重试次数 | 3 | 内置重试结束后最多再自动尝试的次数(0 关闭) |
| 初始间隔(秒) | 2 | 退避起始延迟 |
| 最大间隔(秒) | 30 | 退避上限 |
| 抖动比例(%) | 10 | 退避随机抖动 |

保存后立即生效,无需重启。配置存储于 $DSH_HOME/storages/dsh-plugin-request-retry/config.json。界面文案随 Settings → General → Language 中英实时切换。

兼容性

- 针对 DeepSeek Harness 0.1.1 验证:agent/request-error waterfall 契约、llm/retry 事件与不变量、 settings.section 插槽与 locale 服务 API 均实测通过(含中英实时切换的真实浏览器验证)。
- 无论本插件与 dsh-llm-retry 在监听链中的先后顺序如何,行为一致(先 next() 后决策)。

安装

从 GitHub 安装到 web profile(需要 pnpm 在 PATH 上;没有则用下面的 corepack 方式):

npx @deepseek-ai/dsh plugin --profile web add "github:c-ling/dsh-plugin-request-retry#v1.0.0"

或使用已有的 dsh 命令:

dsh plugin --profile web add "github:c-ling/dsh-plugin-request-retry#v1.0.0"

pnpm 不在 PATH 上时:

cd ~/.dsh/profiles/web
corepack pnpm add "github:c-ling/dsh-plugin-request-retry#v1.0.0"

dsh plugin 把参数原样转发给 pnpm,直接从本仓库拉取包(pnpm 9+,本机需装有 git)。
安装时若看到 declares no dsh.bundle — installed as a plain dependency 的提示属正常现象:本插件不是 profile bundle 层,而是通过下面的 loader 行激活。

然后在 ~/.dsh/profiles/web/cordis.patch.yml 增加一行插入:

- insert:
- id: dsh-plugin-request-retry
name: 'dsh-plugin-request-retry'

重启 dsh web(client-modules 按进程缓存包裁决,新包必须重启宿主),然后硬刷新页面,设置面板即出现「请求重试」页。

验证

curl -s http://127.0.0.1:3080/plugins/dsh-plugin-request-retry/client.js | head -c 60
curl -s http://127.0.0.1:3080/dsh-plugin-request-retry/config

第一条应输出 window.__ModuleLoader__.load({ 开头的 factory bundle;第二条应返回当前配置 JSON;打开 设置 → 请求重试 可管理关键词与参数。

更新

dsh plugin --profile web add "github:c-ling/dsh-plugin-request-retry#v1.0.0"
或:npx @deepseek-ai/dsh plugin --profile web add "github:c-ling/dsh-plugin-request-retry#v1.0.0"
或:cd ~/.dsh/profiles/web && corepack pnpm add "github:c-ling/dsh-plugin-request-retry#v1.0.0"

用新的 #v 重新执行安装命令即可升级依赖;cordis.patch.yml 中的 loader 行保持不变。
重启 dsh web,然后硬刷新页面。

卸载

cd ~/.dsh/profiles/web
corepack pnpm remove dsh-plugin-request-retry # 或 dsh plugin --profile web remove dsh-plugin-request-retry

同时删除 cordis.patch.yml 中对应的 insert 行,然后重启 dsh web。
配置数据保留在 $DSH_HOME/storages/dsh-plugin-request-retry/ 下,需要可手动清理。

开发

node --check lib/index.js lib/client.js
node --test

宿主侧为普通 Cordis 插件:监听 agent/request-error,通过 webServer 服务暴露 GET/POST /dsh-plugin-request-retry/config。客户端为手写 factory-CJS bundle(无构建步骤),通过 settings.section 插槽注册设置页,inject: ["slots", "locale"] 保证 fiber 在服务就绪后 apply,文案经 locale 服务注册中英字典并实时切换。

已知限制

- 关键词匹配基于子串,极端情况下可能对非瞬时失败多试几次(可在设置里调整关键词或关闭追加)。
- 追加重试沿用失败 step 的原始上下文原地重发;若失败源于确定性错误(如鉴权失效),重试仍会失败并在次数用尽后照常报错。

License

MIT
预览分享卡片长什么样 ↓c-ling/dsh-plugin-request-retry
分享 · DeepSeek Harness Hub
c-ling/dsh-plugin-request-retry

内置重试耗尽后按关键词继续自动重试请求

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部