Back to directory

dsh-filesnap

Curated pickMaintenance: Active

extracurricular-ai/dsh-filesnap

Captures workspace state, forks conversations, restores files, and exposes /rewind, /redo, and status.

View on GitHubHomepage
$ dsh plugin --profile web add dsh-filesnap

41

stars

9

forks

TypeScript

Language

Apache-2.0

License

2026-08-27

Created

2026-08-28

Last push

A native DSH plugin that rewinds conversations and workspace files together via a forked transcript and a Rust snapshot engine — no Git, undoable with /redo, and inspectable with /rewind status.

DSH integration

Native runtime

Author-claimed

Safety audit

Unaudited

Last verified

2026-09-04

License

Apache-2.0

01What can it help you accomplish?

  • Rewind a DeepSeek Harness conversation and its workspace to an earlier turn

    A forked transcript at the chosen turn plus the restored workspace files (writes and deletes reversed)

    DeepSeek Harness users who want undo/redo of agent file changes without Git

  • Audit what the plugin captures and which files stay unprotected

    `/rewind status` report of storage use and excluded files, with the reason for each exclusion

    Operators reviewing snapshot coverage before trusting a rewind

02How to install into DeepSeek Harness

Prerequisites

  • DeepSeek Harness with a `web` or `headless` profile
  • Node.js `^22.19` or `>=24`
  • Linux, macOS or Windows on x64 or arm64

Installation steps

  1. 01

    Run `dsh plugin --profile web add dsh-filesnap` (use `headless` for headless use).

    $ dsh plugin --profile web add dsh-filesnap

  2. 02

    Add a patch row (`- insert: - id: filesnap / name: dsh-filesnap`) to `~/.dsh/profiles/web/cordis.patch.yml`.

  3. 03

    Restart the profile, run one agent turn, then enter `/rewind`.

Verify the integration

  • Run `dsh --profile web --dump-config | grep -A 1 filesnap` and confirm the `filesnap` row appears.

03DSH integration and capability boundaries

DSH integrationNative runtime

Mounts as a dsh plugin row and registers its session events at load time; installed with `dsh plugin add` and activated by a cordis patch row.

  • Conversation + file rewind

    a DeepSeek Harness session with captured workspace stateforked transcript at a selected turn and restored workspace files

    registers session events at load time, so captured sessions depend on the plugin being installed
  • Rust snapshot engine

    workspace files before each model stepcontent-addressed snapshots reused across turns; restore runs outside the Node process

  • Inspectable status

    `/rewind status` commandstorage-use report and list of unprotected files with exclusion reasons

04Who is it for? When not to use it?

Good for

  • DeepSeek Harness users who want undo/redo of agent file changes without Git
  • Operators reviewing snapshot coverage before trusting a rewind

Not for

  • Uninstalling the plugin makes sessions containing its event types unreadable until reinstalled; session data on disk remains intact.

05Compatibility, maintenance and safety notes

  • Uninstalling the plugin makes sessions containing its event types unreadable until reinstalled; session data on disk remains intact.
  • A restore overwrites files, so the target turn must be given explicitly; relative addressing like "go back three" is deliberately not supported.
2026-08-272026-08-28v0.2.1

Apache-2.0 · actively maintained (latest release v0.2.1, published 2026-08-27)

06Frequently asked questions

How do I install dsh-filesnap in DeepSeek Harness?

Run `dsh plugin --profile web add dsh-filesnap` (use `headless` for headless use), then add a patch row (`- insert: - id: filesnap / name: dsh-filesnap`) to `~/.dsh/profiles/web/cordis.patch.yml` and restart the profile.

Does it need Git or Rust installed?

No. The native filesnap binary is installed with the package, so you do not need Rust, Git or a separate runtime; it works in repositories and ordinary directories and never changes commit, branch, stash or worktree state.

What does /rewind do, and how is it undone?

A rewind forks the transcript at the selected turn and restores the workspace into that fork. A rescue point is captured before restore writes begin, and `/redo` reverses the rewind that landed in the current session.

What happens if I uninstall the plugin?

Sessions containing its event types become unreadable until you reinstall the plugin; their data remains intact on disk. The plugin registers its session events at load time because dsh has no supported registration API for out-of-repository event types.

How do I see what is captured and what is not protected?

Run `/rewind status`. It reports storage use and names files that are not protected, with the reason for each exclusion, so you can review snapshot coverage before trusting a rewind.

08Data and sources

  • Author-claimedgithub.come7d13a98fda3…

    $ dsh plugin --profile web add dsh-filesnap

  • Author-claimedgithub.come7d13a98fda3…

    DeepSeek Harness with a `web` or `headless` profile

This page is generated from the project’s public documentation, repository metadata and a structured parse of DSH Plugins; last verified on 2026-09-04. Found an error? Submit a correction.

🏆

Best DeepSeek Harness Plugins

Twelve plugins worth installing first — picked from the whole catalog, across every category.

DSH Plugins is an independent community directory of DeepSeek Harness plugins. Not affiliated with or endorsed by DeepSeek. Third-party plugins are not security-audited — review the source before installing.

New DeepSeek Harness plugins, weekly. No spam.