Preface

In a DSH web session, after a user message is sent and forms a completed turn, if the input contains typos, is insufficient, or if you wish to regenerate a reply based on corrected text, you usually have to start a new round of conversation. dsh-edit-resend provides an entry point “✎ Edit this turn’s message and resend” for completed turns: it forks a new branch from the turn containing that message, regenerates a reply using the edited text, and archives the original session. It does not delete logs or data, nor does it rewrite history; it only regenerates on the new branch.

What is it

dsh-edit-resend is a DeepSeek Harness (DSH) plugin compatible with DSH versions 0.1.0-rc.6 or higher. Its core goal is to allow sent user messages to be edited and resent, while providing support for archiving the original session, switching to the new branch, and restoring archived sessions in session management.

GitHub Repository: https://github.com/caoTbenren0/dsh-edit-resend

Core Features

  • Injects a button at the tail of a completed turn with the text “✎ Edit this turn’s message and resend”.
  • Reads the original user text for that turn from the Host’s full event log.
  • Uses the target turn’s prefix as a seed to fork a sub-session and send the edited text.
  • Automatically archives the original session after successful resend; archiving only hides the view, logs and data are never deleted.
  • Lists archived sessions in the “Edit & Resend” section of the settings page and supports one-click recovery.
  • Exposes the following Remote endpoints via EditResendService on the Host side:
edit
getText
archive
unarchive
listArchived

Verified materials also indicate: the official 0.1.0-rc.6 does not have an unarchive API/UI; the restore functionality in the settings page is implemented by this plugin; history cannot be rewritten, only a new branch is forked.

Installation and Activation

This plugin requires DSH 0.1.0-rc.6 or higher. Verified installation examples use the web profile:

dsh plugin --profile web add dsh-edit-resend

This command is used to add the plugin to the web profile. After installing or modifying the Host side, you need to restart dsh web; if only the client is modified, refreshing the page is sufficient. Whether other profiles use the exact same command is not detailed in verified materials; you should confirm according to the actual profile documentation before installation.

Typical Usage

  1. Open any session with a completed turn, and click “✎ Edit this turn’s message and resend” at the tail of the turn.
  2. The editor will pre-fill the original user text for that turn; modify it and click “Save and Resend”.
  3. The interface automatically switches to the new fork branch and starts regenerating; the original session disappears from the sidebar with an archived status.
  4. When you need to retrieve the original session, go to “Settings → Edit & Resend → Find the corresponding session → Restore”.

Archiving does not delete data: after restoring, the original session returns to the sidebar, and logs remain intact.

Use Cases and Notes

Suitable scenarios are: you already have a completed turn in DSH web, want to correct the user message of that turn and regenerate a reply, while preserving the original session record.

Usage notes:

  • This capability is “edit and resend”, not rewriting history; the new reply is generated on a new fork branch.
  • Archiving the original session only hides the view; it does not delete logs or data.
  • The plugin will expose services on the Host side and participate in DSH runtime; you should check the source code and license before installation.
  • The license is MIT, and you must also refer to the DeepSeek Harness license terms.
  • Requires DSH 0.1.0-rc.6 or higher; Host side changes require restarting dsh web, while client side changes only require refreshing the page.
  • The official 0.1.0-rc.6 does not have an unarchive API/UI; the restore functionality in the settings page is provided by this plugin.

Summary

dsh-edit-resend turns “resending an edited user message” into a clear path: click the entry point at the tail of the turn, modify the text, enter the new branch to regenerate, and if necessary, restore the original session from the settings page.

GitHub Repository: https://github.com/caoTbenren0/dsh-edit-resend