DSH Hub
dsh-client-auto-continue cover

HsiangNianian/dsh-auto-continue

dsh-client-auto-continue

UIWeb UI171 GitHub stars· updated 2026-10-27

dsh-client-auto-continue is a community DeepSeek Harness plugin. Read the repository README before installing.

Install

npx @deepseek-ai/dsh plugin --profile web add dsh-client-auto-continue@latest

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-client-auto-continue DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-auto-continue.svg)](https://dshhub.dev/plugins/dsh-auto-continue)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from HsiangNianian/dsh-auto-continue, cleaned of badges and images.

<h1 align="center">dsh-auto-continue</h1>

<em>Recover interrupted DSH sessions automatically, with an optional loop to continue after successful turns.</em>

<br> <br>

<b>English</b> · <a href="README.zh.md">中文</a> · <a href="CHANGELOG.md">Changelog</a>


What It Does

Automatic recovery for DeepSeek Harness, in the Web UI and desktop app. When a recoverable failure interrupts a session, the plugin sends your configured continuation prompt through DSH. The engine runs inside the host process, so it keeps watching while browser tabs are closed; all tabs share that engine. Recovery is enabled by default. Continuing after successful turns is a separate, opt-in autonomous loop.

Smart recovery (all configurable):

  • Session modes — switch auto-continue on or off beside the message input, for that conversation only. The mode menu next to the switch shows the current mode and opens Follow default, Off, Recovery only or Autonomous loop. Choices save on the host, survive restarts and sync across tabs; hiding the control does not change them
  • Error classification — transient failures (network / timeout / 5xx / 429…) are auto-resumed; permanent ones are skipped and notified, because retrying them never helps. A failure counts as permanent when its HTTP status is 401/403 or its code/message matches auth, credential/API-key, balance/quota, unknown-model, or context-length/overflow keywords. Provider-specific exceptions can be opted into with literal custom retryable patterns; turn classification off to resume everything
  • Adaptive backoff — consecutive failures wait longer each time (cooldown × factor: 20s → 40s → 80s…), capped at the max backoff, instead of hammering a broken upstream
  • English / Chinese localization — the settings card, built-in resume / guard / loop text, and browser notifications follow DSH's active UI language (initially selected from the browser language). Only en and zh are supported; other languages fall back to Chinese. Switching languages updates built-in defaults without overwriting custom text
  • Templated continue text — continueText supports {code} {message} {status} {tool} {turn} {errorCount} {elapsed} placeholders, so the resume message can carry the failure context ("Continue ({tool} failed: {code})"); a separate template fires on max-tokens (e.g. "Continue the output without repeating anything already generated")
  • Idempotency guard — before resuming, the plugin inspects the last tool call: if its result is unconfirmed (the turn died mid-tool, e.g. a git push that may have gone through), the resume message tells the model to check state first and not to rerun; if the tool is confirmed done, it says so and asks not to repeat it; a failed tool gets no guard (retrying it is the point). Both guard texts are configurable ({tool} / {result} placeholders)
  • Silent turn resume — recover an observed model step or reasoning-only response that completes without visible output. A no-op turn with no model activity is left alone. Text, tool calls, images and extension blocks count as visible, including streamed output. Unobserved turns are not guessed to be silent. Explicit no-visible-output markers also recover after restart. Disabling Resume silent turns cancels queued silent sends; silent turns never reset the retry cap, even while the option is off.
  • Autonomous loop —

…

Related plugins