dsh-reconnect
Manifest validEnglish DeepSeek Harness retry plugin with exponential backoff and gateway recovery
dsh-reconnect
Safe model-request retry for DeepSeek Harness with exponential backoff, relay/proxy recovery, and an integrated settings panel.
- Source code: github.com/mrbeandev/dsh-reconnect
- npm package: npmjs.com/package/dsh-reconnect
Overview
dsh-reconnect retries recoverable model requests so temporary network,
gateway, or provider failures do not interrupt an agent turn or long-running
task.
The plugin listens to DSH's agent/request-error waterfall. After the built-in
normal Provider retry policy is exhausted, or when an always policy
delegates recovery downstream, ReConnect resubmits the same model request using
its own policy.
Retry policy
| Condition | Behavior |
|---|---|
EMPTY_RESPONSE, RATE_LIMIT, SERVER, STREAM_CLOSED, TIMEOUT, TRANSPORT | Retry indefinitely |
| Missing or unconfigured model | Retry indefinitely while configuration recovers |
QUOTA | Do not retry by default; enable with retryQuota |
Unknown errors such as PI_AI_ERROR | Retry indefinitely by default; disable retryUnknown to apply a limit |
| Tool, argument, authentication, credential, context-overflow, and aborted errors | Do not retry |
Tool execution failures in tool/result are outside this plugin's retry
boundary. ReConnect uses the machine-readable failure code from
agent/request-error; it does not infer model failures from arbitrary tool
output.
Backoff and cancellation
- Exponential backoff:
1s → 2s → 4s → …, capped at60sby default - Honors positive Provider
Retry-Aftervalues as an uncapped minimum wait - Emits standard
llm/retryandllm/retry-startedsession events - Shows retry count and countdown in the Harness conversation UI
- Stops immediately when the turn aborts or the plugin unloads
- Drains pending waits safely during hot reload and shutdown
Settings panel
Open Settings → Plugins → Plugin configuration → ReConnect automatic retry.
- Maximum retry delay: 1, 2, 5, 10, 30, 60, or 120 seconds, or a custom value
- Retry quota errors: disabled by default
- Retry unknown errors indefinitely: enabled by default
- Maximum unknown-error retries: defaults to 3 and applies only when indefinite unknown retries are disabled
Settings changes take effect immediately.
Configuration
- insert:
- id: reconnect
name: dsh-reconnect
config:
maxDelayMs: 15000
retryQuota: false
retryUnknown: true
unknownMaxRetries: 3
| Setting | Type | Default | Description |
|---|---|---|---|
maxDelayMs | integer | 60000 | Maximum local exponential-backoff delay in milliseconds |
retryQuota | boolean | false | Retry quota or exhausted-balance errors indefinitely |
retryUnknown | boolean | true | Retry unknown error codes indefinitely |
unknownMaxRetries | integer | 3 | Consecutive unknown-error limit when retryUnknown is disabled |
maxDelayMs limits only the local exponential delay. It does not cap a
Provider Retry-After value or the total retry duration.
Installation
npm (recommended)
Install and activate the package in the DSH web profile:
dsh plugin --profile web add dsh-reconnect
Then restart the running DSH web process. Open Settings → Plugins → Plugin configuration → ReConnect automatic retry to confirm that the plugin and its settings card are active.
The dsh plugin command forwards to the profile package manager. Because this
package declares a dsh.bundle patch, DSH also adds it to the selected profile's
active bundle list; no manual cordis.yml edit is needed.
To update or remove it later:
dsh plugin --profile web update dsh-reconnect
dsh plugin --profile web remove dsh-reconnect
GitHub
dsh plugin --profile web add github:mrbeandev/dsh-reconnect
Pin an exact release or commit for reproducible installations:
dsh plugin --profile web add github:mrbeandev/dsh-reconnect#v2.0.0
Local checkout
git clone https://github.com/mrbeandev/dsh-reconnect.git
dsh plugin --profile web add ./dsh-reconnect
The DSH plugin manager automatically adds packages declaring dsh.bundle to
the selected profile. Restart DSH after installing the plugin.
Requirements
- DeepSeek Harness with the Host settings service
- Node.js
^22.19.0or>=24.0.0 - Web profile for the visual settings card
The client-side settings card never reads credentials.
Development
npm test
npm pack --dry-run
Publishing runs the test suite through prepublishOnly.
Credits
English edition based on the MIT-licensed MistRain-1/dsh-reconnect project. The original copyright notice is retained in LICENSE.
License
MIT
Comments
Loading…
From the same category
by awesome-dsh-plugin
A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harness 插件精选列表
★ 17.8k
CC0-1.0
Python
Oct 1, 2026
by 0xsline
DeepSeek Harness (DSH) ecosystem: curated plugins, tools, and infrastructure from dsh-external/hub and the public dsh-plugin topic.
★ 1.1k
CC0-1.0
Python
Sep 30, 2026
by pax-beehive
Open-source CLI, schemas, resolver, and DSH agent tools for DSH Plugin Hub
★ 458
MIT
TypeScript
Sep 22, 2026
by yjh051108
推荐组件(非必须):DeepSeek Harness 运行时注入器;已随 dsh-routing-suite 单仓库化保留,本仓库继续维护/发布。
★ 167
TypeScript
Sep 18, 2026
dsh plugin --profile web add @dsh-external/dsh-super-injectorby xiajiajun516
DeepSeek Harness (DSH) backup & restore plugin — export, import, migrate and sync your complete DSH configuration, plugins, MCP servers, skills and workspace. One-click migration to another machine.
★ 153
MIT
TypeScript
Oct 4, 2026
dsh plugin --profile web add dsh-config-managerby jigjoy-ai
A CLI that turns a goal into a pull request - and a sandbox for testing concurrent AI coding agents on the Mozaik runtime.
★ 124
MIT
TypeScript
Oct 2, 2026