dsh-cooldown-retry
在终端中运行以下命令:
dsh plugin install dboycht/dsh-cooldown-retry
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install dboycht/dsh-cooldown-retry(仓库 https://github.com/dboycht/dsh-cooldown-retry),安装后重载配置即可挂载,无需重启进程。
插件介绍
共享 LLM 网关在校验池耗尽或熔断打开时,常会返回带明确等待时间的容量型 429,而不是简单的连通性错误。DeepSeek Harness 内置的 llm-retry 只有在适配器填好 providerRetryAfterMs 时才会按提示等待;若提示只写在错误正文里(例如「请在 28 秒后重试」),或所用适配器根本不解析 Retry-After,系统仍会走约 500 毫秒到 1 秒的两次快速重试,整轮对话往往在长达数十秒的冷却窗口内就宣告失败。
dsh-cooldown-retry 专门补上这一缺口:从多种字段与正文表述中读出 retry_after_seconds 等提示,按上游要求的时长耐心等待后再重试(默认每轮每提供商最多 5 次,等待夹在 1 秒到 300 秒之间),并支持取消时立刻结束等待。默认还会处理一种现场常见的网关饱和假象:刚经历过容量冷却的同一提供商若反复返回声称「不支持某模态」的 400(请求里其实并无该模态),插件会将其视为熔断回放并单独预算等待,而不是把每一轮都当成真实客户端错误。
插件只接管带重试提示的容量冷却,以及(可关闭的)上述误判 400;鉴权失败、网络错误、无提示的 429 与真实 4xx 仍交给后续监听器,行为与未安装时一致。等待过程会写入与内置重试一致的 llm/retry 记录,控制台可显示倒计时与尝试次数;预算按「整轮对话 + 提供商」共享,多步任务不会每步都重新获得五次机会。
适合在校园网、自建代理或提供商池等共享网关后跑 Harness 的团队与个人:你经常看见带秒数的冷却提示,或饱和期莫名出现的模态不支持 400,又希望少改适配器、少动核心配置,就把本插件挂在 agent/request-error 瀑布链中、位于内置 llm-retry 之后,用更贴合上游语义的等待换掉「快试两次然后失败」。
使用场景
- 网关返回带秒数提示的容量型 429,内置重试在冷却窗口内就失败
- 错误正文写明 retry after,但适配器未设置 providerRetryAfterMs
- 饱和期网关反复返回误判的模态不支持 400
适合人员
- 使用校园网或自建代理等共享 LLM 网关的 Harness 用户
- 经常遇到带明确等待时间的上游限流提示的开发者
- 希望少改适配器、用插件补齐耐心重试的团队