Introduction¶
In the session flow of DeepSeek Harness, if a recently submitted user message needs to be modified and you wish to initiate a new round of response based on the context before this message, rather than directly modifying the original conversation history, a plugin that can create a child session before a specified message is required.
ChisaAlter/dsh-plugin-message-edit is a Web plugin provided for DSH to implement the operation of “editing the latest user message and resending” concretely.
What is this¶
This is a DSH plugin maintained by ChisaAlter under the MIT license.
It adds an “Edit and resend” entry point to the latest committed user message: it creates a child session before the selected message and restores the original text to the composer for editing. The source session remains unchanged, and old messages and old assistant responses do not enter the new child session.
Core Features¶
The following lists the verified plugin behaviors:
- Show pencil action only on the latest committed user message.
- Clicking the pencil action does not send immediately.
- Fork child session before the turn of the selected message.
- Restore original text to the child composer for continued editing.
- Source session remains unchanged.
- Old messages and old assistant responses are not included in the child session.
- Only supports text-only message editing; images and other non-text messages are unavailable.
- Editing waits for the current response to finish if it hasn’t concluded yet.
- The entry point is only available in the Chat view.
Host Capabilities Requirements¶
The plugin requires the host to provide the following three capabilities:
conversation.chat.user-actions
session.fork.beforeSeq
session.fork.blank
On compatible hosts, if any capability is missing, installation and browser composition will fail closed. The plugin requires changes on the host side and cannot be polyfilled from browser code.
The current public 0.1.0-rc.6 host does not provide this feature.
Installation and Enabling¶
When your DSH build exposes all required host capabilities, you can install from:
Settings > Plugins
The equivalent command for manual installation is:
dsh plugin --profile web add github:ChisaAlter/dsh-plugin-message-edit#<commit-sha>
The <commit-sha> in the command is a placeholder and a commit must be specified. Installation via GitHub does not require an allowBuilds exception.
Typical Usage¶
- Enter the Chat view and wait for the current response to finish.
- The latest committed user message will display a pencil action.
- Click the pencil action. No sending occurs immediately at this stage.
- The host forks a child session before the turn of the selected message.
- The original text is restored to the child composer for your editing.
- Resend after completing the edit. The source session still retains the original messages and assistant responses.
Abnormal or unavailable scenarios:
- A running session will display an unavailable action and state the reason.
- Messages containing non-text blocks will display an unavailable action and state the reason.
- When forking is pending, the action will be locked to prevent double-clicking.
- When forking fails, the source session remains selected and a localized notice is given in the composer.
Applicable Scenarios and Notes¶
Suitable for use cases where you need to modify the most recently submitted user message and wish to resend a round of responses in a clean child session.
Notes before use:
- Only text messages are editable; images and other non-text messages are unavailable.
- Only available in the Chat view.
- Requires the host to provide all declared capabilities; it will fail closed if missing.
- The current public
0.1.0-rc.6host does not support this feature. - The plugin runs under the permissions of the current DSH process; check the source code and license before installing.
Conclusion¶
The value of dsh-plugin-message-edit lies in breaking down “editing the latest message and regenerating” into a predictable child session operation: it does not modify the source history, does not append to the old context, and does not bring the previous assistant response into the new session.
GitHub Repository: