dsh-dsml-rescue
Manifest validDSH Plugin: Auto-continues turns that stall on leaked DSML tool-call markup, wherever the route puts it — the reasoning or the visible text. | 当 DSML 工具调用标记泄漏在消息末尾(推理或正文皆可)导致回合停滞时,自动续跑。
dsh-dsml-rescue
A turn stalled by leaked DSML markup gets another one
DSML 泄漏导致的空转,替你续上
Per-version changes → Releases
Does this look familiar?
You asked for something. The model reasoned for a while. Then the turn simply ended — no answer, no tool call, nothing. What it produced ended with lines like these:
</||DSML|| parameter>
</||DSML|| invoke>
</||DSML|| calls>
DSML (DeepSeek Markup Language) is how DeepSeek formats a tool call. Some provider routes hand that markup back as ordinary message content instead of an actual call — in the reasoning, or in the visible reply. Either way the call never happens, the turn closes with no output, and everything waits for someone to type "continue".
This plugin types it.
What it does
- Continues a stalled turn: DSML markup where the message ends, and no tool call. Both halves are needed — an empty turn without the markup is a different failure.
- Sends one short, neutral line: take the next step — never an offer to declare the work finished.
- Backs off while you are typing.
- Gives up after a few attempts instead of burning requests.
- Covers subagents too, so a delegated task is not falsely reported as completed while it is stuck.
Install
dsh plugin --profile web add dsh-dsml-rescue
Then restart dsh --profile web. There is nothing you need to configure — the defaults are the
intended behaviour.
Working from source: clone, pnpm install && pnpm run build, then
dsh plugin --profile web add "$PWD".
What it will not do
- It does not fix the cause. The markup leaks below the model, out of reach of any prompt. What it buys you is the wait, shortened.
- It does not rescue other empty turns. No DSML markup, no rescue: a cancellation, a failed request, or a reply cut off at the output limit is left alone on purpose.
- It does not touch your conversation. Nothing is rewritten or replayed; it adds one message and lets the host carry on.
Going deeper
- Which three settings exist and what each one changes → docs/ARCHITECTURE.md
- How a stalled turn is recognised, and the rules that must not be broken → docs/ARCHITECTURE.md
- What the tests prove, and how to reproduce the whole thing locally → docs/VERIFICATION.md
License
Comments
Loading…
Similar plugins
by Jessicaisleep
Strips DSML markers that leak into the assistant text stream and resumes a turn only when it genuinely produced nothing — an invoke-block leak with no tool call emitted, or a closing-tag leak whose pr
★ 2
MIT
JavaScript
Oct 28, 2026
dsh plugin --profile web add dsh-dsml-guardby ccr-wer
DSH (DeepSeek Harness) plugin: auto-write a first-person dev log at agent/turn-stopping. Turns context + memory into a narrative log for the developer's own review.
★ 0
MIT
JavaScript
Oct 19, 2026
dsh plugin --profile web add dsh-devlog-autoby HsiangNianian
DSH Web UI plugin: auto-sends 「继续」 after non-human interruptions, with error classification, adaptive backoff, pause, idempotency/loop guards, resume templates, and stats—all configurable in settings
★ 184
↓ 3.6k/wk
MIT
JavaScript
Nov 2, 2026
dsh plugin --profile web add dsh-client-auto-continueby Harris-Logic
DSH 断点续接插件:模型回复因网络中断/超时半途失败时,自动把已生成的部分输出带进下一轮,让模型从中断处继续,而不是从零全量重跑。DSH plugin: on a mid-stream network failure, auto-resume the turn from its partial output instead of restarting from scratch.
★ 0
MIT
JavaScript
Sep 10, 2026
dsh plugin --profile web add dsh-resume-turnby huhaodong
让 DeepSeek Harness 智能体进入自动驾驶 🚗:模型故障自动回退、静默卡死自动保活重试、权限/提问/方案审批自动放行,AUTO-MODE.md 全程审计——无人值守、永不停摆的自愈式 AI 编码会话。
★ 3
↓ 186/wk
MIT
JavaScript
Oct 5, 2026
dsh plugin --profile web add dsh-model-fallbackby Frog755
DSH client plugin: auto-sends 「继续」 when a turn is interrupted/errored/overlong. No model/provider switching. Ships with a settings card.
★ 4
↓ 232/wk
MIT
JavaScript
Sep 10, 2026
dsh plugin --profile web add @frog755/dsh-client-auto-retry