Introduction

During DSH (DeepSeek Harness) usage, while the agent is executing a task, if the direction seems wrong or details need adjustment, users usually have to wait for the task to finish or stop the conversation abruptly, causing progress loss. This mutually exclusive “interrupt” and “continue” experience affects workflow efficiency.

The dsh-improved-inline-edit plugin uses the official agent.steer() mechanism to enable true runtime interruption. It lets users dynamically insert a “Revise Requirement” input bar above the composer while the agent is running, so new instructions can be injected without stopping the conversation.

Plugin Information

  • Name: dsh-improved-inline-edit
  • One-line description: While your DSH is working, you can issue another requirement without stopping the conversation
  • Category: Workflow
  • Author: xiaosurongjia
  • License: MIT
  • GitHub: xiaosurongjia/dsh-improved-inline-edit

Core Features

The plugin is injected through a standard bundle patch mechanism with zero source-code intrusion. Main features include:

  • True real-time interruption: Uses the official agent.steer() mechanism to seamlessly inject revision requirements into the agent’s next decision step, rather than sending a new message.
  • Zero UI interference: The input bar only appears while the agent is running and automatically disappears when the run finishes.
  • Improved input experience: Supports multiline input; the input box automatically wraps/expands with content (up to 140px), so long requirements are no longer truncated.
  • Deep phrase pool: Includes 100 built-in runtime status phrases that rotate with agent activity, with support for switching between Chinese and English.
  • Visual alignment: The input bar maintains the same width as and left-alignment with the bottom composer, ensuring high UI consistency.
  • Interaction details: The send button shifts left while typing and automatically returns after 2 seconds; drafts are persisted in localStorage.
  • Recall feature: Version v0.2.0 adds a recall button next to message bubbles (available while the message is unread; greyed out once read).
  • Guiding prefix: Optional guiding prefix; when enabled, sent messages automatically include a “Continue original task” format marker.

Installation and Activation

Before use, ensure that Node.js (LTS) and DSH are installed.

1. Install Script

Run the install script in the plugin repository directory. The script automatically detects the profile path (preferring desktop, otherwise web):

.\install.ps1

Script actions:
* Creates a Junction link (falls back to file copying if permissions are insufficient).
* Appends the patch declaration to cordis.patch.yml.
* Validates resolution of exports['./client'].

2. Start DSH

After installation, fully restart DSH (terminate the process, not just close the window), then refresh the browser page.

3. Usage Steps

  1. Send a message to start the agent running.
  2. A “Revise Requirement” input bar appears above the composer.
  3. Enter new requirements (multiline is supported), then press Enter or click ➤ to send.
  4. The agent continues execution at its next decision step, taking your requirement into account.

Technical Implementation

The plugin uses a standard bundle patch approach and does not modify any @deepseek-ai/dsh-* source code. It injects an input component into the conversation through DSH’s slot system and calls the host-side agent.steer() API to inject instructions.

Notes

  • The install script requires permission to create a Junction link; if this fails, it automatically falls back to file copying.
  • After uninstalling the plugin, remove the corresponding cordis.patch.yml configuration line in the profile to fully clean it up.

Source: DSH Ecosystem Catalog