证据快照复核于 2026-09-16GitHub 数据核对日期: 2026-08-21
证据已验证Plugin Bundle自动化与智能体Web Profile

Better Retry for DeepSeek Harness

管理错误消息模式,将选定的 DSH Web 故障交给现有重试机制处理。

快速了解

它能做什么

管理错误消息模式,将选定的 DSH Web 故障交给现有重试机制处理。

本站提供的是中文说明,不代表该项目或 Plugin 自身提供中文界面;语言支持请以上游文档为准。

使用场景
自动化与智能体自动化配置UI
适配技术
deepseek-harnessdsh-webdsh-llm-retry
兼容性

Web Profile
Not declared in supplied evidence

可信度与状态

证据已验证
核对日期 2026/9/12 UTC 14:27

有代码证据的贡献

它为 DSH 增加什么

自动重试规则管理器

在设置页和错误行提供预览、保存、测试、启用、停用和删除消息模式的界面,用于重试分类。

机制证据

选择前先看

Better Retry 为 DSH Web 增加消息模式管理界面。匹配到的 PI_AI_ERROR 会被重新分类为 RATE_LIMIT,随后由 DeepSeek Harness 已有的 dsh-llm-retry 决定是否重试。你可以预览规范化完整匹配或受限的连续片段匹配、限定服务商范围、通过 Host 测试匹配结果,并启用、停用或删除自定义模式。

适合谁

需要处理重复出现且含义明确的上游或过载错误消息、但不想修改服务商重试策略代码的 DeepSeek Harness Web 用户。

常见任务

  • 将已确认的上游错误消息加入规则,使后续匹配请求可使用 DSH 现有重试策略。
  • 把重试分类模式限定给某个服务商,并测试样本是否命中。
  • 查看内置和自定义模式,停用或删除不再适用的规则。

权限与数据

通过 DSH Web 的客户端、连接、设置、聊天和本地化扩展管理重试分类规则。

权限
  • 调用 DSH Host 的 RPC 和设置接口。
  • 在 DSH Web profile 中添加设置页和错误行控件。
数据处理
  • 最近错误样本只保留在进程内存中,重启后清空。
  • 已保存的模式和规范化样本保存在 dsh-better-retry 设置命名空间。
  • README 表示不会扫描全部旧会话,也不会将样本发送到外部服务。

局限

  • 仅重新分类 PI_AI_ERROR,不改变原生 RATE_LIMIT 或其他错误码。
  • 是否实际重试、重试次数、指数退避、抖动和取消仍由 DSH 服务商策略决定。
  • 规则仅影响后续请求,不能恢复已结束的回合。
  • 基于文本排除认证、余额不足、无效请求和取消错误的机制未必覆盖所有服务商措辞。
  • 需要带有 llm、settings、connection 和标准 llm-retry 的 DSH Web profile;较旧 Harness 版本可能缺少所需接口。

DSHub 已核对

  • 已验证固定 Git 源和 DSH Bundle patch 结构。
  • 包声明要求 Node.js >=22.19.0。
  • README 记录了界面、规则管理行为及固定提交安装方式。
  • 仓库声明为 MIT 许可证。

DSHub 未核对

  • 未实际执行安装或运行时行为验证。
  • 未证实与某个已发布 DeepSeek Harness 版本的兼容性。
  • 在提供的证据中未找到对应 npm 包版本。

固定版本安装

安装 Better Retry for DeepSeek Harness

这个Plugin Bundle没有 DSH Plugin 安装操作,请根据源码文档使用真实交付方式。

访问源码项目

维护者原文

项目 README

查看 commit 68a5c8a 对应的 README
维护者编写的上游内容原文于 2026/9/12README.md 获取,正文和仓库相对媒体固定到 commit 68a5c8a043bb,内容哈希为 70617d3b7f79。以下是未经 DSHub 翻译的上游原文,语言可能与当前页面不同;第三方托管的 badge 可能独立更新。

dsh-better-retry

面向 DeepSeek Harness Web 的错误分类与自动重试规则管理插件。它将匹配消息模式的 PI_AI_ERROR 重新分类为 RATE_LIMIT,交给 DSH 自带的 @deepseek-ai/dsh-llm-retry 执行。请求原文和诊断信息保持不变,重试次数、指数退避、抖动和取消由服务商的 DSH 重试策略决定。

安装与更新

dsh plugin --profile web add github:leolee9086/dsh-better-retry

固定版本时,把命令末尾替换为 github:leolee9086/dsh-better-retry#COMMIT_SHA。仓库提交了 lib/ 构建产物,安装机器无需构建。更新时同样安装目标 commit,然后重新加载 Host 插件或重启 DSH,刷新 Web 页面。

需要包含 llmsettingsconnection 和标准 llm-retry 的 DSH Web profile。本版使用 DSH 的 connection.rpc.handle/callsettings.section 扩展接口;在本地 DSH 0.1.3-alpha.1 开发版本上开发。较旧版本若缺少这些接口,需要先升级 Harness。

dsh --profile web --dump-config

配置应同时包含 llm-retrydsh-better-retry。配置转储只证明组合存在;还需打开下面的管理页,确认 Host 能返回规则列表。

两个可见入口

  • 设置 → 自动重试:查看全部内置和自定义模式、启用/停用、删除自定义模式、添加模式和测试消息。
  • 错误行 → 纳入自动重试 / 管理消息模式:直接预览当前错误,或在错误下方展开同一套管理面板。

英文界面对应 Automatic retryEnable automatic retryManage message patterns

纳入一条错误

  1. 点击错误行的“纳入自动重试”,展开预览表单。
  2. 默认使用“规范化后完整匹配”:移除已知的 request/trace/correlation id 和 UUID,统一大小写与空白,保留消息中的短单词及顺序。
  3. 服务商 ID 默认为 *(所有服务商)。填入具体 ID 可以将模式限定到该服务商。
  4. 点击“预览匹配”,检查规范化消息、当前命中模式和样本匹配项。
  5. 点击“确认纳入自动重试”。只有 Host 完成持久化并确认当前错误能命中启用规则,才会显示保存成功。

例如 upstream_error: Upstream request failed 可以独立保存;再加入另一类错误不会修改或破坏它。修改预览表单后需要重新预览,不能用旧的预览结果确认新内容。

保存影响后续请求,包括手动重新发起的请求,不会自动恢复已经结束的回合。看到 RATE_LIMIT 和重试记录只能证明 DSH 原有机制正在执行,不能单凭这些记录判断是本插件触发。

消息模式管理

每条模式显示匹配文本、匹配方式、错误码、服务商范围和启用状态。

操作 效果
停用/启用 保存后影响下一次分类;停用项仍在列表中可恢复
删除 删除自定义模式;内置模式通过停用管理
添加消息模式 手动输入消息样本,预览并保存
测试消息是否命中 在 Host 上使用与真实流处理相同的匹配器,显示当前命中的启用模式
刷新列表 重新读取 Host 当前规则;其他页面编辑后可手动刷新

设置由 DSH settings provider 保存在 dsh-better-retry 命名空间。旧版 rules: string[] 会作为互相独立的规范化完整匹配规则读取,并在第一次成功管理操作时迁移为 patterns。内置规则的停用状态保存在 disabledBuiltins

两种匹配方式与相似样本

规范化后完整匹配是默认方式:去掉已知易变字段后,消息必须完全相同。它允许较短但明确的消息,不会因为机械的长度阈值悄悄丢失保存结果。

包含连续片段用于一类更宽的消息。片段必须连续存在于所选错误中,至少 24 个字符且包含至少 3 个空白分隔词;不支持任意正则表达式。保存前 Host 会再次验证片段能匹配当前样本。

插件参考本进程最近 100 种错误与已保存模式的样本,按错误码和服务商范围筛选相似样本,提出连续公共片段建议。只有明确采用并重新预览、确认后,建议才成为规则。已有规则不会因为新的历史样本而自动扩大或缩小。

运行期样本只保存在内存中,重启后清空;保存的模式与规范化样本持久化。插件不会扫描全部旧会话,也不向外部服务发送这些样本。

内置模式

以下两条默认启用,并可在管理页停用:

Too many pending requests, please retry later
Our servers are currently overloaded. Please try again later

初始 unknown:server_error: 标签和请求 ID 不影响上述匹配。停用内置模式只停止本插件的额外分类,不会关闭 DSH 对原生 RATE_LIMIT 的重试。

行为范围与故障排查

  • 本插件仅重新分类 PI_AI_ERRORRATE_LIMIT 已由 DSH 处理;其他错误码保持原状。
  • 对包含已知身份验证、余额不足、无效请求或取消措辞的消息拒绝纳入。文本识别并不覆盖所有服务商的表达,保存前仍需检查模式含义。
  • 是否实际重试取决于服务商策略。重试被关闭或次数耗尽时,即使命中模式也不会无限重试。可按对应服务商配置调整 maxRetriesbackoff.initialDelayMsbackoff.maxDelayMsbackoff.jitterRatio
  • 管理页报错或请求返回 404:确认 Host 和 Client 都更新到同一版本;只刷新浏览器不能替代 Host 重新加载。
  • 保存后未命中:在管理页粘贴同一条消息测试,核对模式是否启用、服务商 ID、错误码及匹配方式。
  • 原始 ctx.llm.stream() 的调用者不会因此获得新的重试循环;实际重试仍由 DSH Agent 的既有执行器负责。

开发与验证

pnpm install
pnpm run check
pnpm run bundle

聚焦测试覆盖真实 Host apply 注册的流处理与管理接口、旧规则迁移、多个模式并存、服务商范围、内置启停、并发保存,以及 React 界面的“预览 → 确认保存 → 管理 → 停用 → 删除”操作链路。不通过付费 API 制造故障。

发布时一并提交源码与 lib/ 构建产物。

仓库与许可证

项目:https://github.com/leolee9086/dsh-better-retry

Topics:dsh-plugindeepseek-harnesscordisretryexponential-backoff

MIT。

赞赏

如果这个项目帮到了你,可以请我喝杯咖啡:

赞赏码

也欢迎通过 爱发电 支持。

有意识地管理

安装与管理

前置条件与目标 Profile

目标 Web Profile

交付方式 Git Bundle — leolee9086/dsh-better-retry#68a5c8a043bb78fbe83b5f7db31b6a435ad56e98

验证、更新与移除

显示生命周期命令
验证
dsh plugin --profile web list

兼容性与访问范围

Requires a DSH Web profile with retry and UI extensions Not declared in supplied evidence

检查兼容性证据

风险事实

data_handling

Keeps recent runtime error samples in memory; persisted patterns and normalized samples are stored through DSH settings.

证据
retry_behavior

Can cause future matching PI_AI_ERROR messages to be classified as RATE_LIMIT, after which DSH's provider retry policy controls retry behavior.

证据
证据与编辑审查Manifest、Bundle patch、分发与新鲜度

不可变证据

审查状态与源码活动

AI 已审查

保存前请用含义明确的错误样本进行预览确认。该插件管理分类规则,不控制服务商的重试次数或等待时间。

AI 审查于 2026/9/12 UTC 14:27GitHub 事实核对日期: 2026/9/12 UTC 14:27

自当前证据基线以来,没有记录到重要源码变化。

下一步

按 Plugin 安装流程操作

订阅重要变化: Better Retry for DeepSeek Harness