ClausYang/dsh-esc-stop

DeepSeek Harness Web plugin: press Escape in the composer to stop the active tas

dsh-esc-stop is a DeepSeek Harness Web client plugin that lets you press Escape while the conversation composer is focused to stop the active turn — no clicking 'Stop generating'. It handles only an unmodified Escape inside the composer, stops only a running ordinary session or continuable subagent (matching the native Stop button), does not stop a task when a dialog/command menu/overlay has already consumed Escape, and ignores idle sessions, one-shot subagents, IME composition, repeated keydown events and modified Escape shortcuts. Cancellation reuses the official conversation.cancel() path, preserving the existing queue and error-reporting behavior; it sends no data to external services. Limitation: the shortcut works only while the main composer is focused, key mapping is not configurable yet, and a third-party UI plugin that intercepts Escape without preventDefault() may compete.

Other ★ 0 updated 2026-08-14 — untested
View on GitHub ↗

Install

dsh plugin --profile web add github:ClausYang/dsh-esc-stop

GitHub install per README.en edition (EN primary with zh README); npm dsh-esc-stop 404 verified 2026-09-03. Install from GitHub into the Web profile: dsh plugin --profile web add github:ClausYang/dsh-esc-stop — a Git install runs the prepare build; if pnpm blocks it, follow the DSH message and add dsh-esc-stop to the profile's allowBuilds list. Local checkout: dsh plugin --profile web add /path/to/dsh-esc-stop. Restart dsh web and refresh after install.

Compatibility

DeepSeek Harness Web >= 0.0.1; verified against the 0.1.0-rc.5 source release; uses dsh.client browser-plugin manifest + public session/cancellation interfaces.

Details

Recent updates

Escape-to-stop in the focused composer; native conversation.cancel() path; overlay/IME/modifier-safe; no external data; composer-focused only.

FAQ

When does Escape stop a turn?
Only when the main conversation composer is focused, a task is running (ordinary session or continuable subagent), and no dialog/overlay already consumed the key.
Does it modify models or session data?
No — it stops the current turn through Harness's official conversation.cancel() API and sends no data to external services.
Can I remap the key?
Not yet — key mapping is not configurable in the current release.

Alternatives

Nalleyer/dsh-enter-send · FrankZhangIronly/dsh-composer-enter

More plugins in Other

Browse more in Other

Guides for Other plugins