zeng6125-rgb/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. Since 0.1.7 it can also auto-continue a reply that was cut off by the output-token limit; since 0.1.9 both the extra error codes and the continuation prompt are yours to write.

catalog descriptioncatalog 简介 / catalog description:DSH 插件:LLM 自动重试设置卡片——重试次数/退避/抖动与 25 个错误码可勾选(也能自己输入),可按 provider/model 单独设策略、回答被输出 token 上限截断时自动续写且提示词可改,内置重试观测面板,改完实时生效。

Project Overview项目介绍

This is a native DSH plugin that adds a dedicated settings card to the DSH client for the core @deepseek-ai/dsh-llm-retry auto-retry engine. Once installed via the recommended GitHub release package, the card appears automatically in the Settings → General menu of your DSH desktop client. All changes you make to retry parameters take effect immediately, no client restart or re-login is required to apply your new settings. You can adjust core retry parameters like maximum retry count, initial backoff delay, maximum backoff delay, and jitter ratio directly from the UI.

The plugin is built for DSH users who regularly experience transient request errors or hit output token limits when working with LLMs. The typical workflow after installation is straightforward: navigate to the settings card, first configure your global retry and backoff settings, then add any per-provider or per-model overrides if you need different behavior for specific models. If you often find your output cut off by max token limits, you can enable the auto-continue feature directly in the same card, and set a maximum number of consecutive continuations to avoid infinite loops.

This plugin is released under the permissive MIT open-source license, so it is free to use, modify, and distribute for any purpose. It requires a working DSH desktop installation with the core @deepseek-ai/dsh-llm-retry host plugin, the DSH settings service, and the @deepseek-ai/dsh-client-web-react client runtime. First-time users should note that both the retry override and auto-continue features are disabled by default, so you will need to manually enable them correctly after configuring your desired settings. The plugin also stores a local low-frequency decision log capped at 256KB for common troubleshooting purposes.

这是一个专为DeepSeek Harness(DSH)开发的原生插件,为DSH内置的LLM自动重试引擎@deepseek-ai/dsh-llm-retry提供设置界面卡片。安装完成后,用户可直接在「设置 → 通用」中调整重试次数、退避策略等参数,修改后立即生效,无需重启应用。它同时支持自定义可重试错误码、输出截断自动续写等功能。

该插件面向经常遇到LLM请求失败、输出被token限制截断问题的DSH用户。使用流程非常简单:安装插件后打开设置页找到对应卡片,先配置全局的重试次数、退避间隔等基础参数,再根据需要添加不同提供商或不同模型的覆盖规则,如果经常遇到输出截断问题还可以直接开启自动续写功能。

本插件采用MIT许可证开源,可免费使用和修改。它依赖DSH内置的dsh-llm-retry宿主插件、DSH设置服务以及web端React客户端运行时。初次使用需要注意,自动续写功能默认是关闭的,需要手动开启,日志文件大小上限固定为256KB,超出后会自动轮转裁剪。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 8 stars - very few users, little community feedback星标只有 8,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:zeng6125-rgb/dsh-llm-retry-settings

把 zeng6125-rgb/dsh-llm-retry-settings 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

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. Since 0.1.7 it can also auto-continue a reply that was cut off by the output-token limit; since 0.1.9 both the extra error codes and the continuation prompt are yours to write.

中文说明

Features

  • Includes the settings UI (client bundle lib/client.js): a card in Settings → General — no separate UI package needed.
  • Overrides maxRetries, initialDelayMs, maxDelayMs, and jitterRatio on the agent/request-error retry policy.
  • New in 0.1.12 — auto-continue failed on session format v4: message sources must now be producer-owned, so the continuation carries source.kind = "plugin:dsh-llm-retry" instead of the retired {kind:"plugin"} wrapper; the "continuation landed" line in host.log is detected again.
  • New in 0.1.11 — compatible with the new kernel 0.1.7-alpha.1 (the settings API moved to SettingsForms: volatile form fields, live config sync via loader/volatile-update, the card reads/writes through remote.settings).
  • New in 0.1.11 — smoother settings-card scrolling; bug fixes.
  • New in 0.1.10 — a read-only observation panel at the bottom of the card: retried failures, auto-continues, cap hits and skipped rounds, broken down by error code and provider/model, with the live session models (so you can copy the exact model id into an override) and a log-tail viewer.
  • New in 0.1.10 — per-provider/model overrides: first matching rule wins, * wildcards, empty numbers inherit the global values.
  • New in 0.1.10 — backoff curve with a wait budget, a "continue after retries are exhausted" switch (transient errors only), prompt templates, and a zh/en UI that follows the kernel locale.
  • New in 0.1.9 — add your own error codes straight from the card (the 自定义 group): type a code a provider throws that is not in the known list (e.g. MY_PROVIDER_BUSY) and press 添加. Input is upper-cased and validated (A-Z 0-9 _ - .), duplicates and blanks are rejected with an inline hint, and the code reaches retryableCodes unchanged.
  • New in 0.1.9 — the auto-continue prompt is editable (continuationPrompt). Leave it empty to use the built-in wording, or write your own line for relays/models that need different phrasing.
  • New in 0.1.8 — auto-continue now actually fires. Two host-side timing traps: session/event is dispatched inside Session.append, so queueing the follow-up straight from the listener died on session append cannot reenter while another append is being published; once that was fixed, waking the agent at that moment turned out to be silently dropped by the driver (wakeDriver only latches in maintenance/abort), so the message sat in the queue forever. The plugin now waits for agent.whenIdle() and re-checks (new turn started / you sent a message / session disposed) before delivering.
  • New in 0.1.8 — the host half writes a low-frequency decision log to ~/.dsh/logs/dsh-llm-retry-settings/host.log (capped at 256 KB) and the card points at it. See Troubleshooting.
  • New in 0.1.7 — error-code list re-audited against the current host build: added PI_AI_NOT_WARMED (adapter warm-up race; a delayed retry usually succeeds) plus three amber "retrying will not help" codes (UNKNOWN_MODEL, UNSUPPORTED_OPTION, REQUEST_EXTENSION). Also clarified TIMEOUT: a stalled SSE stream (stream-idle watchdog) is reported as TIMEOUT — there is no separate code for it, so the host default retry list already covers hangs.
  • New in 0.1.7 — auto-continue on output truncation (autoContinue, off by default). Hitting the output-token ceiling is not a request failure — the call returns successfully with finish = max-tokens — so no retry policy can ever cover it. When enabled, the plugin watches turn/end and queues one follow-up continuation turn per truncation, at most maxContinuations times in a row (the counter resets when the model finishes normally or you send a new message).
  • New in 0.1.7 — the error-code chips are grouped into six categories ordered by "will retrying help": transient → rate limit & quota → request & parameters → content & capability → credentials → abort & fallback. Each group shows how many of its codes you selected; picked codes still float to the front within their own group.
  • New in 0.1.5 — selected error codes float to the front of the chip list, with the unselected ones after them; the order inside each group stays fixed, so chips never jump around when you toggle them. (Since 0.1.7 the floating happens within each category group.)
  • New in 0.1.3 — configurable retryableCodes: extra failure codes to retry on, merged into each provider's own list (never replaces it). Defaults to INVALID_REQUEST + PI_AI_ERROR, so OpenAI-style HTTP 400 errors (thinking-mode reasoning_text) and generic stream failures get retried out of the box.
  • Default enabled: false = fully bypassed; nothing changes until you enable the override.

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-self-evolve 下一个 Next dsh-router-laya →