Introduction

When debugging or developing agents with DeepSeek Harness (DSH), it can be difficult to modify messages after they have been sent. If you need to correct a prompt from the previous turn or adjust attachments, you usually need to delete the old message and regenerate it, which interrupts the context flow. dsh-plugin-message-edit provides the ability to modify message content, attachments, and model settings in the original session, and supports branch regeneration and a version timeline.

Plugin Overview

This plugin is maintained by sh1robana and is released under the MIT License. It allows users to edit historical messages as if they were in the input box, supporting content editing, attachment management, model parameter adjustment, and viewing and switching versions through a timeline.

Core Features

  • In-place save: Modify content and attachments in the original session, preserving existing replies and subsequent conversation without requesting the model again.
  • Branch regeneration: Create a new branch with the modified content and request the model again; the original session can be switched back to.
  • Attachment management: Add files via “+”, paste, or drag-and-drop; supports removing and replacing them; click images to zoom in.
  • Edit and retry: Edit assistant replies or thinking, regenerate the last reply, retry historical turns; use the Timeline to view records and switch versions.
  • Editor configuration: Supports @file and session references, permissions, model and reasoning level selection, and a second confirmation to cancel editing.

Installation and Enablement

Use the following command to install the plugin. After installation, please save your work, completely exit DSH, and restart it.

dsh plugin --profile desktop add -w @sh1robana/dsh-plugin-message-edit

Or install via GitHub Release:

dsh plugin --profile desktop add -w https://github.com/sh1robana/dsh-plugin-message-edit/releases/download/v0.3.0/dsh-plugin-message-edit-0.3.0.tgz

If an older dsh-message-edit or other message-editing plugin is already installed, disable it first to avoid duplicate buttons and interface conflicts.

Typical Usage

  1. Open an existing session, click the edit button in the message action bar, or open Timeline to select a message.
  2. Modify the content; click “+” to add files. You can also paste or drag-and-drop them directly. Click “×” on an attachment to remove it, or click an image to view it in full size.
  3. If needed, modify the permissions, model, or reasoning level, then choose “Save” or “Save and Send”.
  4. Click “Cancel”, and in “Are you sure you want to cancel editing?” choose “Yes” to discard the changes, or “No” to continue editing.

Notes

  • Version compatibility: Switching plugin versions does not undo file modifications or commands that have already been executed.
  • Message state: User messages that have been compacted out of the model context cannot be saved in place; use “Save and Send”.
  • Input method: Composing text with an input method will not submit it.
  • Old plugin cleanup: If an older version of the plugin is installed, remove the old version first to avoid conflicts.