DSH HUB
首页插件商店插件包社区排行榜资源发布指南
插件源码
返回插件目录

Harris-Logic /

Harris-Logic/dsh-resume-turn

已验证

DSH 断点续接插件:模型回复因网络中断/超时半途失败时,自动把已生成的部分输出带进下一轮,让模型从中断处继续,而不是从零全量重跑。DSH plugin: on a mid-stream network failure, auto-resume the turn from its partial output instead of restarting from scratch.

★ 0 Stars0 Forks0 IssuesN/A 社区评分0 已确认安装
查看 GitHub项目主页
README来源: main@c31eae72

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 retryPolicy is mode: always (recommended for flaky endpoints; see the A1 config notes), llm-retry consults downstream recovery first — this plugin gets the first refusal. Returning { kind: 'retry' } short-circuits the chain; returning undefined lets llm-retry schedule its own backoff.
  • On mode: normal providers this plugin is only consulted if it is ordered before llm-retry in 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

—/ 5

暂无评分

已验证 DSH bundle

Commit c31eae726fe7

社区评论

还没有评论,来写第一条。

DSH HUB

社区维护的 DSH 插件索引。不是 GitHub 或 DeepSeek AI 的官方产品。

社区资源API关于