MIT-licensed DSH Web plugin that adds seamless message recall and inline re-edit to DeepSeek Harness Web (rc.6+) — pure official extension points, no DSH source changes — plus a `‹ X/N ›` version pager, draft auto-backup and rich per-session settings, installable via `dsh plugin --profile web add dsh-easyrewrite`.
DSH integration
Native runtime
Author-claimed
Safety audit
Unaudited
Last verified
2026-08-27
License
MIT
01What can it help you accomplish?
Recall your own message and everything after it inside DeepSeek Harness Web
A recall key next to the official copy key, an inline dsh-style confirm pill, lazy submission (real truncation only on Send), a real-time deletion count, and seamless replacement — the original session is archived and a same-named new session takes over
DeepSeek Harness Web users who want a low-friction, zero-loss way to withdraw their own messages
Inline-edit (Rewrite) your own message bubble in DeepSeek Harness Web
In-place bubble editing that preserves the original Markdown, Esc to cancel / Ctrl+Enter to confirm, three edit widths, full image-message editing support, and truncate-and-resend on confirm
DeepSeek Harness Web users who want to rewrite sent messages in place without spawning a new conversation
Switch between versions of an exchange after it has been recalled or re-edited
A `‹ X/N ›` version pager on the last answer's action area; clicking (or pressing ←/→) restores the target version and archives the rest, so the workspace keeps exactly one active version
DeepSeek Harness Web users who want to review or restore earlier versions of an edited / recalled exchange
02How to install into DeepSeek Harness
Prerequisites
- DeepSeek Harness Web (rc.6+) — the README states compatibility with rc.6+ and a pure official-extension-point implementation
Installation steps
- 01
Run `dsh plugin --profile web add dsh-easyrewrite` (one-step npm install)
$ dsh plugin --profile web add dsh-easyrewrite
Verify the integration
Not specified by the author
03DSH integration and capability boundaries
Installed and managed through the official dsh CLI (`dsh plugin --profile web add dsh-easyrewrite`); implemented purely on official DSH Web extension points without modifying DSH source
Message recall with lazy commit
your own user message in a DSH Web conversation→recall of the message and everything after it once you press Send, with the original session archived and a same-named new session substituted
nothing changes until you actually confirm — before pressing OK (edit) or Send (recall) the conversation, model context and session log stay untouchedin the overwrite fallback mode the original draft is restored after sending / cancel — zero data lossInline bubble editing (Rewrite)
your own message bubble, including image messages→in-place editing preserving the original Markdown; Esc to cancel, Ctrl+Enter to confirm; three edit widths; on confirm the message is truncated and resent automatically
edit mode keeps the recall key and hides the copy keyfor image messages, images are sent together with the edited text after confirmationPer-session settings (Settings)
Settings → Plugins → plugin configuration inside DSH Web→official-style collapsible cards, UI language auto-switching (中文 / English / 日本語), and all options taking effect immediately
all options take effect immediately — bubble editing toggle, recall key when editing is off, recall confirm pill, recall visual mode, statistics scope, fill-conflict mode, edit widthDraft auto-backup (Auto-backup)
pending drafts left unprocessed for more than 10 seconds→automatic backup to a local file, refreshed every 5 seconds, deleted once handled (OK / Send)
backups are written to `$DSH_HOME/dsh-easyrewrite/backups/<会话ID>.json`restore only happens when there is no local pending state — never overwrites a draft being editedVersion pager (‹ X/N ›)
the last answer's action area after each recall / re-edit→a `‹ X/N ›` control to switch versions, with subsequent context following the version, viewport anchoring without jumping, and per-version restore-and-open from settings after full archiving
switching restores the target version and archives the rest of the family — the workspace always has exactly one active versionafter full archiving, each version can still be 'restored and opened' from Settings → plugin configuration → Version group
04Who is it for? When not to use it?
Good for
- DeepSeek Harness Web users who want a low-friction, zero-loss way to withdraw their own messages
- DeepSeek Harness Web users who want to rewrite sent messages in place without spawning a new conversation
- DeepSeek Harness Web users who want to review or restore earlier versions of an edited / recalled exchange
Not for
- The plugin targets DeepSeek Harness Web rc.6+; the README's compatibility boundary is rc.6+, implemented purely through official extension points without modifying DSH source.
05Compatibility, maintenance and safety notes
- The plugin targets DeepSeek Harness Web rc.6+; the README's compatibility boundary is rc.6+, implemented purely through official extension points without modifying DSH source.
MIT · actively maintained (latest release v2.3.0, 2026-08-26)
06Frequently asked questions
How do I install dsh-easyrewrite?
Run `dsh plugin --profile web add dsh-easyrewrite` — the README describes it as a one-step npm install. It targets DeepSeek Harness Web (rc.6+) and is implemented purely through official extension points without modifying DSH source.
Which DeepSeek Harness version does it support?
The README states compatibility with DeepSeek Harness Web (rc.6+), with a pure official-extension-point implementation that doesn't change DSH source. The install command uses the `web` profile.
When do my edits or recalls actually take effect?
Lazily — nothing changes until you confirm. Before you press OK (edit) or Send (recall), the conversation, model context and session log stay untouched; confirmation only fills the input box, and the real truncation happens when you hit Send. Closing dsh midway leaves the conversation unchanged.
Can I edit messages that contain images?
Yes. Image-message Rewrite is fully supported: images are sent together with the edited text after confirmation; inside bubble editing you can delete images with ×, paste / drag in new images, and switch the model and reasoning level — the editing progress is restored as-is after a refresh.
Can I recover content after a recall or re-edit?
Yes. After each recall / re-edit a `‹ X/N ›` version pager appears on the last answer's action area — switching restores the target version and archives the rest of the family. After full archiving you can still 'restore and open' each version from Settings → plugin configuration → Version group. Pending drafts also auto-back up to `$DSH_HOME/dsh-easyrewrite/backups/<会话ID>.json`, and restore only happens when there is no local pending state.
07Related DSH workflows
memos
by memtensor
Self-evolving memory OS for LLM & AI Agents: ultra-persistent memory, hybrid-retrieval, and cross-task skill reuse, with 35.24% token savings and DeepSeek Harness support.
dsh-anchored-standard
by xiaobright
Two-phase DeepSeek Harness preset: Minimal-aligned bootstrap, then full Standard tools (Project2 98/99)
mem9
by mem9-ai
Unlimited memory for OpenClaw
mindmemos
by mindscale-noah
Gives dsh agents persistent cross-session memory: auto-recalls relevant user/task context before each turn and writes back lessons after each turn, evolving memory via schema learning and skill distillation
08Data and sources
**在 DeepSeek Harness Web 里内联编辑与撤回你自己的消息——惰性、无痕、零丢失。**
> 兼容 DeepSeek Harness Web(rc.6+),纯官方扩展点实现,不改 DSH 源码。
dsh plugin --profile web add dsh-easyrewrite
This page is generated from the project’s public documentation, repository metadata and a structured parse of DSH Plugins; last verified on 2026-08-27. Found an error? Submit a correction.
Best DeepSeek Harness Plugins
Twelve plugins worth installing first — picked from the whole catalog, across every category.
