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

  1. 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
  1. After installation, you need to restart the dsh web process 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: Esc immediately requests termination of the current turn; unsaved model generation progress will not continue.
  • Potential conflicts: If an external UI plugin intercepts the Esc event but does not call preventDefault(), 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