- Inicio
- Plugins
- Herramientas y funciones
- dsh-dsml-rescue
dsh-dsml-rescue
dsh-plugin-lab/dsh-dsml-rescue
Auto-continues turns stalled by DSML tool-call markup leaking into reasoning.
Instalar
dsh plugin --profile web add github:dsh-plugin-lab/dsh-dsml-rescueREADME
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. The reasoning output 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 reasoning text instead of an actual call, so 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 at the end of the reasoning, and nothing else produced. Neither half alone is enough — 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
Plugins relacionados
archify (deepseek-harness)
tt-a1i/archify
WeKnora (dsh-weknora)
tencent/weknora
weknora
tencent/weknora
BrowserSkill (dsh-plugin-browserskill)
tencent/browserskill