MistRain-1/dsh-reconnect ↗★ 3

dsh-reconnect

提供带指数退避和可用性恢复的模型请求重试 适合需要应对模型请求超额或未知错误,实现自动安全重试的用户。

套件
dsh-reconnect
相容性
待驗證
Harness 依賴範圍
*
版本
2.0.0
授權
MIT
最近更新
2026年8月21日

同名套件的其他儲存庫

安裝

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:MistRain-1/dsh-reconnect

Visual Configuration

Open Settings → Plugin configuration. ReConnect is shown as a plugin card in that page:

  • Max wait per attempt: drop-down presets (1/2/5/10/30/60/120 seconds) or a custom value
  • Retry on quota: toggle, off by default
  • Retry unknown errors indefinitely: toggle, on by default
  • Max retries for unknown errors: default 3. Missing or unconfigured model errors are not subject to this cap and always retry.

Changes take effect immediately without restarting DSH.

YAML Configuration

The plugin accepts optional values in its Cordis row config:

  • maxDelayMs (integer milliseconds, default 60000): caps the local exponential-backoff delay; for example 15000 produces 1s -> 2s -> 4s -> 8s -> 15s -> 15s... indefinitely. A positive Provider Retry-After remains authoritative.
  • retryQuota (boolean, default false): whether QUOTA errors are also retried.
  • retryUnknown (boolean, default true): whether unknown errors are retried indefinitely.
  • unknownMaxRetries (integer, default 3): bounded cap for consecutive unknown failures in the same model step; missing or unconfigured model errors do not use this cap.

The settings service persists the plugin card values. Restore defaults removes the user overrides and immediately returns to the schema/Cordis defaults; a restart is not required.

The plugin's own retry policy is the downstream recovery for both Provider normal and always policies. The two layers do not multiply retries: normal schedules only its configured codes before this plugin, while always delegates the decision downstream.

maxDelayMs caps the local exponential wait, not a Provider Retry-After value and not the total retry duration.

- insert:
    - id: reconnect
      name: dsh-reconnect
      config:
        maxDelayMs: 15000
        retryQuota: false
        retryUnknown: true

Invalid or missing maxDelayMs values fall back to 60000.