npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-reconnect

v2.0.0

Published

Safe model-request retry for DeepSeek Harness with exponential backoff, model-availability recovery, and configurable unknown-error limits.

Readme

dsh-reconnect

Safe model-request retry for DeepSeek Harness with exponential backoff, relay/proxy recovery, and an integrated settings panel.

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 at 60s by default
  • Honors positive Provider Retry-After values as an uncapped minimum wait
  • Emits standard llm/retry and llm/retry-started session 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.0 or >=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