At a glance
What it does
Resume eligible interrupted DSH model replies from their streamed partial output instead of restarting from zero.
Web Profile
Not declared in supplied evidence
Evidence-verified
Checked Sep 10, 2026, 2:28 PM UTC
Code-evidenced contributions
What it adds to DSH
Retries eligible interrupted model replies by steering the next request with captured partial output.
Mechanism evidence ↗Before you choose it
This DSH bundle handles selected mid-stream failures such as TIMEOUT, TRANSPORT, SERVER, and RATE_LIMIT. When partial output exists, it adds a visible auto-resume steering message containing that output and asks the model to continue; otherwise it leaves recovery to the normal retry flow.
Best for
DSH users running slow or unreliable model endpoints who want long replies to continue after a disconnect.
Common tasks
- Continue a long streamed answer after a transient endpoint failure.
- Avoid repeating an entire reply when partial output was already generated.
- Set a per-turn resume limit, eligible failure codes, delay, or quoted-output limit.
Permissions and data
The plugin reads current-attempt session event chunks and places captured partial output into a visible steering message for the next retry.
Permissions- Access to DSH request-error and session event flow.
- Ability to steer a retrying agent turn.
- Captures visible text and reasoning chunks from the interrupted attempt.
- Quotes up to the configured partial-output limit into the resumed request context.
- No external service or credential requirement is declared in the supplied evidence.
- None declared.
Limitations
- It does not resume user-cancelled requests, non-transient failures, failures without partial output, or mid-tool-call interruptions.
- A continued reply can rephrase text at the interruption boundary.
- The default budget is three resumes per turn; later recovery falls back to normal retry.
- A host restart resets in-memory resume budgets and boundaries.
What DSHub checked
- Pinned Git source and DSH bundle structure were verified.
- The manifest declares Node.js >=22 and optional DSH peer dependencies.
- The README documents GitHub installation and configurable recovery behavior.
What DSHub did not check
- Installation and runtime behavior were not executed.
- No npm registry package version was found in the supplied evidence.
- A compatible DSH Harness version range is not declared.
Pinned install
Install dsh-resume-turn
This plugin bundle does not have a DSH Plugin install action. Use its source documentation for the delivery method.
Maintainer source
Project README
dsh-resume-turn
DSH plugin: resume an interrupted reply from its partial output instead of restarting from scratch.
简体中文 · Repository · Issues · MIT
When a model request fails mid-stream on a slow / flaky endpoint (e.g. the AMD
DeepSeek endpoint — slow inference, frequent disconnects, TIMEOUT /
TRANSPORT / SERVER / RATE_LIMIT), the default dsh-llm-retry rebuilds
the same request and re-runs it from zero: everything that had already
streamed (including a long thinking chain) is thrown away, and a multi-minute
attempt can be repeated several times before giving up.
dsh-resume-turn changes that: at the failure point it collects the partial
output that already streamed (visible text + reasoning chunks) from the
session event log, injects a visible "auto-resumed" steering message that
quotes that partial output and instructs the model to continue from where it
stopped, and takes over recovery with { kind: 'retry' } — so the next
request starts from the interruption point, not from zero.
How it works
agent/request-error (waterfall)
├─ user cancelled? → delegate (never auto-resume over a user stop)
├─ code not transient? → delegate
├─ no partial output? → delegate (nothing to resume; default retry is right)
├─ mid tool-call? → delegate (restart is safer for tool arguments)
├─ resume budget spent (default 3 / turn)? → delegate
└─ otherwise
├─ collect current-attempt chunks (assistant/chunk events after the
│ last attempt boundary) → partial text + reasoning
├─ cancellable backoff (2s, doubling, cap 30s)
├─ agent.steer(resume message) # visible "auto-resumed" row; carries
│ # the partial output + "continue" instruction
└─ return { kind: 'retry' } # retry rebuilds the request from the
# surface, which now includes the resume message
Install (one command)
# from GitHub
npx @deepseek-ai/dsh plugin --profile web add github:Harris-Logic/dsh-resume-turn
# or from a local checkout
npx @deepseek-ai/dsh plugin --profile web add /absolute/path/to/dsh-resume-turn
Restart the profile (or the web host) to activate. The package declares
dsh.bundle.patch, so the installer appends it to dsh.profile.bundles and its
cordis.patch.yml plugin row is applied automatically — no manual file
edits. @deepseek-ai/* modules come from the host (the very schemastery /
dsh-llm instances DSH itself runs on): they are declared as optional peers and
are never installed separately.
Config
The plugin has no required config. Optional keys (in the profile's
cordis.patch.yml row config, or as bundle config):
| key | default | meaning |
|---|---|---|
maxResumesPerTurn |
3 |
max auto-resumes per turn; beyond that, default retry takes over |
resumeCodes |
["TIMEOUT","TRANSPORT","SERVER","RATE_LIMIT"] |
failure codes eligible for resume |
initialDelayMs |
2000 |
backoff before the first resume (doubles per attempt, cap 30s) |
maxPartialChars |
12000 |
max characters of partial output quoted into the resume message |
Interaction with dsh-llm-retry
- On providers whose
retryPolicyismode: always(recommended for flaky endpoints; see the A1 config notes),llm-retryconsults downstream recovery first — this plugin gets the first refusal. Returning{ kind: 'retry' }short-circuits the chain; returningundefinedletsllm-retryschedule its own backoff. - On
mode: normalproviders this plugin is only consulted if it is ordered beforellm-retryin the waterfall; otherwise the default restart-based retry applies unchanged.
Limitations
- Resume quotes the partial output into context; the continued answer may rephrase a boundary sentence (mitigated by the "don't repeat" instruction).
- If the endpoint fails again right after a resume, attempts count against the per-turn budget; after the budget is spent the default retry takes over.
- A host restart resets in-memory resume budgets/boundaries (no custom session events are appended, so stored logs stay fully readable).
License
MIT
Operate deliberately
Install and manage
Prerequisites and target Profile
Target: Web Profile
Delivery: Dsh Bundle Git — Harris-Logic/dsh-resume-turn#c31eae726fe744871d97605a890c41b86d0dbcfc。
Verify, update, and remove
Show lifecycle commands
dsh plugin --profile web listCompatibility and access
Requires Node.js >=22 and DSH host peer modules.: Not declared in supplied evidence。
Review compatibility evidence ↗
Risk facts
Partial visible text and reasoning chunks are quoted into a new steering message after eligible failures.
Evidence ↗MIT licensed; provided without warranty.
Evidence ↗Evidence and editorial reviewManifest, Bundle patch, distribution and freshness
Immutable evidence
Review status and source activity
Use the pinned GitHub bundle path; assess context sensitivity before enabling it because partial model output is inserted into subsequent request context.
AI reviewed Sep 10, 2026, 2:29 PM UTC。GitHub facts last checked Sep 10, 2026, 2:29 PM UTC。
No material source change has been recorded since this evidence baseline.