dsh-undo-plugin: Crash-Rescue Rollback Plugin for DeepSeek Harness
lire1131/dsh-undo-plugin
Crash-rescue plugin for DeepSeek Harness: one-click rollback of config & plugin code, secret-safe snapshots, one-click SAFE MODE, plus offline CLI/GUI.
Provides one-click rollback for config and plugin-code changes, secret-safe snapshots, and one-click safe mode for DeepSeek Harness, with offline CLI/GUI fallback when DSH won't boot.
dsh plugin --profile web add github:lire1131/dsh-undo-plugin- Category
- Development & Operations
- Platform
- DSH-Plugin
- Author
- lire1131
- Distribution
- Plugin
dsh-undo-plugin Key Features
dsh-undo-plugin Repository

dsh-undo-plugin Repo Summary
dsh-undo-plugin is a crash-rescue plugin (DSH plugin) for DeepSeek Harness (DSH), providing one-click rollback for config and plugin-code changes, secret-safe snapshots, one-click SAFE MODE, and offline CLI/GUI that work even when DSH won't boot. It solves the pain of "small changes causing big disasters" in DSH usage. Core capabilities include: snapshots covering 6 config files and the user plugin-code tree, supporting undo/redo/rollback to any version; automatic redaction of sensitive info like .env into a local vault, with zero-leak ZIP exports; crash attribution showing the "last good snapshot" with one-click rollback; and pre-flight checks for missing plugins during cross-machine migration. Maintained by lire1131 under the MIT license, last updated 2026-08, with 37 stars and no open issues.
What core features does the dsh-undo-plugin DSH plugin support?
The plugin offers three core capabilities: One-click rollback — snapshots cover config and plugin-code trees, so any change (including yield* pure-code accidents) can be undone, with three entry points: WebUI, chat, and offline CLI; Secret-safe snapshots — .env and credentials are automatically redacted (structure preserved) when entering snapshots, with real values stored in a local vault for full restoration on the same machine; One-click SAFE MODE — when DSH won't boot, disables all plugins except the undo system to guarantee startup, with automatic snapshot and config backup. Additional features include crash attribution (shows last-good snapshot id), cross-machine migration (export/import ZIP with missing-plugin preflight), and multi-profile support (auto-detects --profile argument, isolates snapshot repositories per profile).
How to install dsh-undo-plugin?
Prerequisites: DSH (@deepseek-ai/dsh) and Node.js (≥20) installed. The recommended way is the official one-line plugin command (Method A), then restart DSH to activate:
dsh plugin --profile web add github:lire1131/dsh-undo-plugin#master
For local source debugging (Method B), clone the repo to a local directory, create a junction link to DSH's node_modules, and mount the plugin in cordis.patch.yml; it hot-reloads on save.
What are the snapshot contents and storage mechanism of dsh-undo-plugin?
Snapshots cover DSH's 6 config files: cordis.patch.yml, package.json, cordis.yml, pnpm-workspace.yaml (under profile) plus settings.yaml, .env (under ~/.dsh). Storage is divided into manual repository (never auto-cleaned), auto repository (keeps last 20), and legacy flat repository (auto-migrated on startup). Snapshots contain .env copies which may include secrets — do not share them.
Which DeepSeek Harness versions and platforms does dsh-undo-plugin support?
The plugin supports multiple profiles (e.g., dsh --profile mine), with default config directory ~/.dsh/profiles/<current profile> and snapshot repositories isolated per profile. Offline CLI/GUI specify profile via environment variable DSH_UNDO_PROFILE or settings profileName (default web). Platform-wise, the README examples use Windows mklink, but core functionality is cross-platform.
What crash-rescue scenarios does dsh-undo-plugin cover?
When config/plugin is broken, use chat/WebUI/CLI undo or restore -Id <id>; after abnormal exit, WebUI/GUI banner shows last-good snapshot with one-click rollback; when DSH won't boot at all, use desktop "DSH Undo Manager" or CLI safe-mode -Label on to enter safe mode; if plugins may be missing after restore, the report preflights and prompts; if config "suddenly changed", use recent or undo_recent to check rollback logs.