DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
O

dsh-omp-retry

Omp Retry

适用于 DeepSeek Harness 的 OMP 风格重试策略:429 速率限制和思考块绑定拒绝

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:Rinai-R/dsh-omp-retry#8a3b6c1c6458b30c2d03a700c6950ddefe0daeba
README兼容性版本

兼容性与来源证明

Omp Retry 以 dsh-omp-retry 发布,当前版本为 0.2.2。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/11/3

版本

0.2.2stable
2026/11/3
0.2.0stable
2026/11/2
0.1.0stable
2026/10/22

相关插件

正在加载相关插件…

最新版
0.2.2
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/11/3
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 models-usage 分类下经过校验的插件。

Experimental Cot Translation Bundle@deepseek-ai/dsh-experimental-cot-translation-bundle扩展推理的实验性机器翻译Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义Our Free Model@ebony-vinyl/dsh-our-free-modelOur Free Model — 在 dsh 里装上这个插件即可,无需登录、注册或填 API Key,就能使用包括 DeepSeek V4.1 Flash、Kimi K3 在内的前沿模型,桌面端另有 EAC 协付渠道;2.0 起接入 LobsterAI、Qoder、TRAE、Cline、Loomy、Raccoon、MiniMax、ZCode、Gemini 十个账号渠道(原有匿名免费通道保留)(登录、账号池、积分领取、本地 OpenAI 网关与局域网转发、数据看板与运行日志),六页毛玻璃界面统一呈现。Connect Workbuddydsh-connect-workbuddy把本机登录的 WorkBuddy 模型(国内版与国际版)接入 DeepSeek Harness:每次刷新按上游目录自动读取每个模型的积分倍率,支持逐模型图片输入开关、多账号切换与账号池自动换号,并提供每日签到、卡片与输入框里的胶囊积分读数等只读积分概览。

README

dsh-omp-retry

OMP-style retry policies for two DeepSeek Harness failures that the built-in executor leaves terminal:

  • HTTP 429 rate limits. OMP keeps retrying for up to ten attempts, waits at least 30 seconds, and accepts a provider Retry-After up to five minutes. DSH's default policy is five retries from 500 ms to 10 s, so a TPM/RPM window can still be active when the budget is gone.
  • Thinking-block binding rejections. A replayed thinking block carries a signature bound to the conversation it was minted in. Proxies and gateways that fan out to several upstream channels (or rotate conversation identity) reject it with 400 ... Invalid signatureinthinking block. The block is bound to a different conversation; re-sending the same history usually succeeds because the next attempt lands on an upstream that accepts it. DSH classifies the 400 as INVALID_REQUEST and never retries it, so the whole turn ends.

This bundle adds both policies without forking DSH. It prepends one agent/request-error listener ahead of dsh-llm-retry and owns only those two failures; every other code stays with the built-in executor, whose own policy remains the fallback when this bundle is absent.

Behavior

Rate limits:

  • Up to 10 rate-limit retries per failed step (configurable).
  • Delay is max(30 s, provider Retry-After).
  • A required wait above 5 minutes ends the retry chain instead of sleeping.
  • The budget is shared with dsh-llm-retry: one durable policy key per resolved provider retryPolicy.

Thinking-block binding rejections:

  • Up to 5 retries per failed step (configurable), with exponential backoff from 500 ms to 8 s and 25% jitter — the same shape as the provider retry policy's local backoff, so a binding rejection is retried as persistently as an ordinary transient failure.
  • The budget is independent of the provider retryPolicy budget, so a provider left at its default still gets the binding retries.
  • Matching is on the provider text (Invalid signatureinthinking block or bound to a different conversation), not on the failure code, so the policy survives code remapping by a gateway.

Both:

  • Each scheduled retry appends durable llm/retry / llm/retry-started events, so the normal retry UI and session history still work.
  • Cancellation, turn end, and plugin disposal abort the active wait.
  • SERVER, TIMEOUT, TRANSPORT, EMPTY_RESPONSE, CONTEXT_WINDOW_EXCEEDED, QUOTA, and AUTH are never retried by this plugin.

Install

dsh plugin --profile desktop add github:Rinai-R/dsh-omp-retry

Use your profile name instead of desktop for a web or custom profile, then restart DSH. The bundle inserts the omp-rate-limit-retry row itself.

Configuration

The defaults are maxRetries: 10, floorMs: 30000, and maxDelayMs: 300000 for rate limits and maxRetries: 5, initialDelayMs: 500, maxDelayMs: 8000, jitterRatio: 0.25 for binding rejections. Override the row in the profile's cordis.patch.yml:

- id: omp-rate-limit-retry
  config:
    maxRetries: 10
    floorMs: 30000
    maxDelayMs: 300000
    thinkingBlock:
      maxRetries: 5
      initialDelayMs: 500
      maxDelayMs: 8000
      jitterRatio: 0.25

maxRetries: 0 disables the corresponding policy. Malformed values fail the plugin load with a message naming the offending key instead of silently disabling retries.

For fast non-429 retries, keep the provider policy close to OMP's local backoff:

retryPolicy:
  mode: normal
  maxRetries: 10
  retryableCodes:
    - EMPTY_RESPONSE
    - RATE_LIMIT
    - SERVER
    - TIMEOUT
    - TRANSPORT
  backoff:
    initialDelayMs: 500
    maxDelayMs: 8000
    jitterRatio: 0.25

Keeping RATE_LIMIT in the list is a fallback for when this bundle is removed; while the bundle is active it takes 429s first.

Compatibility

Verified against DSH Desktop 0.2.1-rc.5. The plugin relies on:

  • the agent/request-error waterfall,
  • the llm-retry session projection (llmRetry),
  • the llm/retry event shape used by the built-in retry executor.

If a future DSH changes those contracts, the plugin may need an update; it fails closed by delegating to the next listener.

Development

The plugin is written in TypeScript under src/; dist/ is the build output and is committed so github: installs load without a build step.

npm install
npm run build
npm test

npm test builds first, then runs the node:test suite against dist/. After changing src/, rebuild and commit dist/ — CI fails when the two drift.

Limitations

  • This is not Ghostty, and it is not a general retry framework: it covers HTTP 429 rate limits and thinking-block binding rejections only.
  • Retrying does not rewrite history. When the rejection keeps coming back, the conversation identity really did change — for example a mid-session model or tool-schema switch — and the turn still ends once the budget is exhausted. The durable fix lives upstream: send anthropic-beta: thinking-binding-controls-2026-08-01 with thinking.block_binding.prefix_mismatch_behavior: "drop_block", or drop the stale block before the request leaves the client.
  • OMP's model/credential fallback chains are not implemented.
  • A provider Retry-After above maxDelayMs is not waited out.

License

MIT