dsh-llm-retry-settings
DSH 插件:LLM 自动重试设置卡片,在设置里调整重试次数与退避时间并实时生效。
- Stars
- 1
- Language
- JavaScript
- Created
- Aug 17, 2026
- Updated
- Aug 17, 2026
Introduction
@dsh-external/dsh-llm-retry-settings
A settings card for the DSH LLM auto-retry engine (@deepseek-ai/dsh-llm-retry). Tune the retry count and backoff from Settings → General; changes take effect immediately.
Features
- Includes the settings UI (client bundle
lib/client.js): a card in Settings → General — no separate UI package needed. - Overrides
maxRetries,initialDelayMs,maxDelayMs, andjitterRatioon theagent/request-errorretry policy. - Preserves each provider's own
modeandretryableCodes— only the retry count and backoff timing are overridden. - Default
enabled: false= fully bypassed; nothing changes until you enable the override.
Install
Prerequisite: a DSH Desktop profile (the web profile lives at ~/.dsh/profiles/web).
Option A — GitHub Release package (recommended)
# 1. download the packaged plugin tgz from the v0.0.1 release
gh release download v0.0.1 -R zeng6125-rgb/dsh-llm-retry-settings
# 2. unpack it into the profile's node_modules
mkdir -p ~/.dsh/profiles/web/node_modules/@dsh-external
tar -xzf dsh-external-dsh-llm-retry-settings-0.0.1.tgz -C ~/.dsh/profiles/web/node_modules/@dsh-external/
mv ~/.dsh/profiles/web/node_modules/@dsh-external/package \
~/.dsh/profiles/web/node_modules/@dsh-external/dsh-llm-retry-settings
# 3. register the bundle in the profile, then restart DSH
# add "@dsh-external/dsh-llm-retry-settings" to dsh.profile.bundles
# in ~/.dsh/profiles/web/package.json
Option B — dsh CLI / pnpm (requires git + network)
The dsh plugin command forwards its arguments to pnpm in the profile directory:
# from a git repo (pnpm clones it; the committed lib/ means no build needed)
dsh plugin --profile web add github:zeng6125-rgb/dsh-llm-retry-settings
# or from the release tarball URL
dsh plugin --profile web add https://github.com/zeng6125-rgb/dsh-llm-retry-settings/releases/download/v0.0.1/dsh-external-dsh-llm-retry-settings-0.0.1.tgz
Then enable the plugin in the profile: add "@dsh-external/dsh-llm-retry-settings" to dsh.profile.bundles (or use the Desktop plugin-inventory UI) and restart DSH.
Note: the command is
dsh plugin(a subcommand of thedshCLI), notdsh-plugin. ThedshCLI is bundled with the Desktop app; if it is not on yourPATH, invoke it via the app'snode_modulesbin, e.g.node "<app>/node_modules/@deepseek-ai/dsh/lib/bin.js" plugin --profile web ....
Option C — from source
git clone https://github.com/zeng6125-rgb/dsh-llm-retry-settings.git
cd dsh-llm-retry-settings
npm run build # bash scripts/build.sh (requires DSH_CHECKOUT)
Link the local build into the profile and register the bundle:
dsh plugin --profile web link "$PWD"
# then add "@dsh-external/dsh-llm-retry-settings" to dsh.profile.bundles and restart DSH
Usage
- Open DSH Settings → General.
- Find the LLM 自动重试 card.
- Toggle 开启覆盖 (
enabled) to apply the override. - Set
maxRetries/initialDelayMs/maxDelayMs/jitterRatioand click 保存.
Changes are written to the dsh-llm-retry settings namespace and picked up live by the retry engine.
Configuration
| Key | Type | Default | Description |
|---|---|---|---|
enabled | boolean | false | Enable the retry-policy override. |
maxRetries | integer (≥ 0) | 2 | Maximum retry count (0 = do not retry). |
initialDelayMs | integer (≥ 1) | 500 | Initial backoff before the first retry (ms). |
maxDelayMs | integer (≥ 1) | 10000 | Upper bound for backoff (ms). |
jitterRatio | number (0–1) | 0.1 | Random jitter applied to backoff (0 = none). |
How it works
The host half registers the dsh-llm-retry settings namespace (schema validation + persistence + live sync) and prepends an agent/request-error listener that rewrites retryPolicy before the official @deepseek-ai/dsh-llm-retry recover runs:
agent/request-error → [this plugin: override count/backoff] → dsh-llm-retry recover
UI
Settings → General → LLM 自动重试 card. Edits are draft-based: click 保存 to commit or 放弃 to discard. After saving, the card verifies the write against the settings snapshot and shows 已保存 ✓ / 保存失败 ✗.
Requirements
- Host plugin:
@deepseek-ai/dsh-llm-retry - Client runtime:
@deepseek-ai/dsh-client-web-react - DSH
settingsservice
Build
npm run build # bash scripts/build.sh (requires DSH_CHECKOUT)
npm run typecheck # tsc --noEmit