dsh-turn-rewind: A Conversation and Workspace Rewind Plugin for DeepSeek Harness
anionex/dsh-turn-rewind
DSH plugin for rewinding conversation and workspace state, powered by a persistent Change Ledger.
Let DeepSeek Harness AI agents safely rewind conversation and file state after workspace mutations, avoiding irreversible changes.
dsh plugin --profile web add github:anionex/dsh-turn-rewind- Category
- Development & Operations
- Platform
- DSH-Plugin
- Author
- anionex
- Distribution
- Plugin
dsh-turn-rewind Key Features
dsh-turn-rewind Repository

dsh-turn-rewind Repo Summary
dsh-turn-rewind is a DeepSeek Harness (DSH) plugin for rewinding conversation and workspace state, maintained by Anionex under the BSD-3-Clause license, last updated in 2026-08. It addresses the need to safely revert workspace mutations made by AI agents, powered by a persistent Change Ledger engine that provides message-anchored project-file recovery with an option to restart from the restored request. The Change Ledger acts as the durable restore layer, offering content-addressed restore-point manifests, Git worktree/HEAD/branch fences, stale-plan detection, two-step confirmation, automatic rescue points, post-restore hash verification, rollback on failure, and startup reconciliation of interrupted journals, exposed as a public ctx.changeLedger service for other plugins.
What core features does the dsh-turn-rewind DSH plugin support?
Core features revolve around a safe restore lifecycle: create a restore point, let agents/users/external tools modify the worktree, preview exact path-level drift, review a full or selective restore plan, and press the final restore button in the rewind dialog. It never commits, stashes, resets, switches branches, or edits the Git index automatically; every restore is explicit. Version 0.1 supports normal Git worktrees with tracked files (including missing ones), untracked files not excluded by .gitignore, regular binary or text files, symbolic links, and executable permission bits; sparse checkouts, submodules, oversized files, and unsupported types are rejected or excluded.
How do I install dsh-turn-rewind?
Installation is a single command via the DSH plugin manager:
dsh plugin --profile web add github:anionex/dsh-turn-rewind
After installation, an icon-only action appears under each user message (after the timestamp and native Copy action). Clicking it opens the rewind dialog, showing affected files and offering two choices: restore files and restart from before that message, or restore only the files.
What safety contract does dsh-turn-rewind enforce?
The safety contract is foundational: nothing is restored automatically—every restore starts from the user pressing the final button in the Web dialog or an explicit service API call. The dialog preview generates an expiring, session-bound plan and changes no files. Direct mutation requests without a live session-bound plan pair fail closed. Every restore captures the current eligible tree as a durable rescue point before changing a path. Unsupported submodules, sparse checkouts, oversized files, and unsupported file types fail point creation without silent omission. All durable paths are canonical and workspace-relative; restore refuses symlink parents and non-empty directory replacement. Selected paths and the reviewed HEAD/branch/operation fence are rechecked at apply time; any relevant post-review change invalidates the plan. The Git index, branch, HEAD, stash, and commits remain untouched.
What is the Change Ledger engine in dsh-turn-rewind?
Change Ledger is the durable restore engine underneath dsh-turn-rewind. It owns content-addressed restore-point manifests, Git worktree/HEAD/branch/in-progress-operation fences, stale-plan detection between review and mutation, exact two-step confirmation plus DSH human approval, automatic pre-restore rescue points, post-restore hash verification, rollback after a failed restore, and startup reconciliation of interrupted restore journals. The durable format is documented in docs/FORMAT.md, and the security/failure model in SECURITY.md. The engine is exposed as a public ctx.changeLedger service that other DSH plugins can consume, making the snapshot and recovery layer reusable.
Which DeepSeek Harness versions and platforms does dsh-turn-rewind support?
As a DSH plugin, dsh-turn-rewind integrates with the DeepSeek Harness framework through the standard plugin interface. It is developed in JavaScript and works in environments that support DSH plugins. Since version 0.1 only supports normal Git worktrees, it is recommended for use in standard Git repositories, ensuring the workspace meets the plugin's supported path and file type constraints.