sirilee/dsh-rewind
DSH Web rolls back in place in the same window (Claude Code /rewind semantics): The ↶ button next to each user message truncates the model context back to any message, optional Claude Code style file rollback (disk persistence before backup); npm dsh-rewind-plugin, dsh plugin add one-click installation
dsh-rewind gives DeepSeek Harness one-click conversation rewind to any earlier user message, in the same window -- no new branch, no window switch -- with optional workspace-file restore (full Claude Code /rewind semantics). Every user message carries a rewind button that opens a mode popover ("rewind conversation only" or "rewind conversation and code", the latter showing a file-change list first), and the /rewind and /undo commands open a candidate picker. Conversation rewind uses DSH's native hide-and-replace: it appends a single empty-message marker (never deleting or rewriting the session log) and masks everything after the target message from both the model context and the rendered transcript, then refills the target's text into the composer. File restore follows Claude Code's checkpoint semantics -- partial tracking plus before-write backup of write-class tool edits, with a re-scan of tracked files at each message so external changes are restorable too; only files that actually differ are touched on restore, with no git dependency.
Install
dsh plugin --profile <name> add dsh-rewind-plugin@<version>Check your local DSH version, find the matching plugin version in Releases, then run the command-line install with that version (or use the Plugins page -> Add plugin -> enter dsh-rewind-plugin@<version> -> install -> restart DSH and refresh the browser). The npm package dsh-rewind-plugin was re-verified live on the registry on 2026-09-30 (0.15.0) with its repository field back-linking to github.com/SiriLee/dsh-rewind (MIT). IMPORTANT: the README warns that the npm name dsh-rewind belongs to another author's package -- install with the exact name dsh-rewind-plugin. Updating via the CLI overwrites the installed version, but the graphical interface rejects a re-install, so uninstall the old version first.
Compatibility
Node.js ^22.19.0 || >=24.0.0. Supported DSH versions are declared by package.json peerDependencies; the README warns that both this project and DeepSeek Harness are in developer preview (pin exact versions in reproducible environments). Snapshot backups live under <dsh home>/rewind-snapshots/ (default ~/.dsh/rewind-snapshots/). DSH v0.1.3 rejects the rewind markers from the old plugin (<= 0.8.0), so use a later version. Third-party DOM plugins should consume the stable helpers exported from dsh-rewind-plugin/client rather than parsing outcome.text.
Details
- Repo: sirilee/dsh-rewind
- Category: Coding & Development
- Stars: 1
- Version: npm dsh-rewind-plugin 0.15.0 (registry re-verified 2026-09-30; repository back-links to SiriLee/dsh-rewind); MIT
- Last push: 2026-08-17
- First seen: 2026-08-17
Recent updates
The README documents the two rewind modes and keyboard controls, edge notes (rewinds are repeatable and cannot be undone; a steering message is a valid target; rewinding a read message interrupts the running turn), snapshot management (dedup by content, newest 100 anchor groups per session, an optional global auto-cleanup off by default configurable via the plugin card or /snapshot-auto-cleanup), uninstall steps, a comparison table versus common approaches, the design principles (conversation half "masks, never deletes"; file half lightweight before-write backup), what it deliberately does not do, compatibility, a client contract, and known issues.
FAQ
- How do I install dsh-rewind?
- Per the README, run dsh plugin --profile <name> add dsh-rewind-plugin@<version> using the version that matches your DSH version (or install dsh-rewind-plugin@<version> from the Plugins page), then restart DSH and refresh the browser. Install with the exact name dsh-rewind-plugin -- the npm name dsh-rewind belongs to another package.
- Does rewind delete my conversation history?
- No -- the README states the session log is append-only and never deleted or rewritten; a rewind appends one canonical empty-message marker that masks and replaces everything after the target message, so the withdrawn content stays in the log.
- Does it restore edited files?
- Yes, optionally -- the README says files edited by the write tools are tracked and restored by the same "conversation and code" rewind (with external changes to already-tracked files also restorable), using lightweight before-write backups with no git dependency.
Alternatives
23swccp/dsh-undo · Anionex/dsh-turn-rewind · 23swccp/dsh-undo-plugin