Foreword¶
When using DeepSeek Harness Web to process tasks or debug agent logic, you may sometimes need to immediately interrupt an in-progress generation. Although Harness natively provides a stop button, locating or clicking it may not be immediate enough in certain interface states. The following section introduces a community plugin that fulfills this requirement through a keyboard shortcut.
Plugin Overview¶
dsh-esc-stop is a DeepSeek Harness Web client plugin. It is maintained by ClausYang and is released under the MIT License. Its core value is: when the conversation input box has focus and the current task is running, it allows the user to press the Esc key to immediately terminate the current turn, without manually clicking a UI button.
Core Features¶
- API call: Initiates a termination request through Harness’ official
conversation.cancel()API. - Activation condition: It takes effect only when a regular conversation or a “resumable” subagent is running, consistent with the native “Stop Generation” button.
- Semantics preserved: Reuses the official cancellation capability and preserves the original queue state and error presentation semantics.
Installation and Enablement¶
- Open a terminal and run the following command to install the plugin into the Web Profile:
dsh plugin --profile web add github:ClausYang/dsh-esc-stop
- After installation, you need to restart the
dsh webprocess and refresh the page in the browser.
Typical Usage¶
While a task is running, keep focus on the conversation input box and press the Esc key on the keyboard to immediately terminate the current turn.
Use Cases and Notes¶
- Focus limitation: The shortcut only works when focus is on the main conversation input box. Pressing Esc in settings menus, pop-ups, or other text boxes will not trigger termination.
- No configuration: There is currently no configurable key mapping.
- Immediacy:
Escimmediately requests termination of the current turn; unsaved model generation progress will not continue. - Potential conflicts: If an external UI plugin intercepts the
Escevent but does not callpreventDefault(), it may compete for the shortcut with this plugin; native Harness overlays already handle it with consumption priority. - Unofficial nature: This project is an unofficial community plugin and has no affiliation, authorization, or endorsement relationship with official DeepSeek.
Conclusion¶
By reusing the official API, this plugin adds a practical keyboard control capability to the Web client. The project is actively maintained; related links are as follows:
* GitHub repository
* Community catalog page