dsh-snapshot: DeepSeek Harness (DSH) Web Plugin: Automatic Snapshots, One-Click Rollback

Preface

DSH plugins are typically installed per profile, and the community directory is an independent site that should not be understood as an official app store. When running an Agent in DSH Web, the Agent may execute write/edit, or perform deletion operations via the shell. Once file contents have been modified, a straightforward question is how to return to the previous state. dsh-snapshot provides automatic snapshots and /rollback capabilities.

What This Is

dsh-snapshot is an automatic snapshot and one-click rollback plugin for DeepSeek Harness (DSH) Web. It saves the target file’s contents before each write/edit by the Agent. When the Agent executes deletions via the shell (such as Remove-Item, rm), it first saves the contents of the files being deleted before allowing the operation. The plugin supports the /rollback command to restore to any historical snapshot, and provides a sidebar snapshot timeline panel and a settings page configuration card.

The GitHub repository address from the materials is:

https://github.com/DfsyJian/dsh-snapshot

The license is MIT. The materials did not provide a directory page URL. Maintainer clues are inconsistent; it is recommended to verify the repository, package metadata, and source code yourself before installation.

Core Features

The following verified capabilities are described below.

  • Automatically saves the target file’s contents before each write/edit by the Agent.
  • When deletions are executed via the shell (such as Remove-Item, rm), saves the contents of the deleted files before allowing the operation.
  • Supports the /rollback command to restore to any historical snapshot.
  • The sidebar provides a snapshot timeline panel, grouped by conversation, with support for full rollback.
  • The settings page provides a snapshot configuration card; boolean fields are toggle switches, and numeric fields can be reset to defaults.

Installation

First, ensure pnpm is installed on the machine, because dsh plugin internally invokes pnpm to install dependencies.

Install to the web profile:

dsh plugin --profile web add dsh-snapshot

If there is no global dsh command, you can use npx:

npx @deepseek-ai/dsh plugin --profile web add dsh-snapshot
npx @deepseek-ai/dsh web

When updating the plugin version, explicitly specify the new version in the profile directory:

cd ~/.dsh/profiles/web
pnpm add dsh-snapshot@<new version>

After updating, you must fully exit dsh web and restart it, then perform a hard refresh in the browser using Ctrl+Shift+R.

Typical Usage

The /rollback command supports the following subcommands:

/rollback list
/rollback <seq> --yes
/rollback --call <callId> --yes
/rollback clear --yes

These commands are used to list snapshot history, perform a full rollback by sequence number, roll back a single snapshot by tool call, and clear all snapshots, respectively.

Configuration

All configuration is optional and the plugin works with zero configuration.

Verified materials indicate: the settings page provides a snapshot configuration card; whether the form is editable depends on the host namespace whitelist. The npm release host does not yet include the snapshot whitelist, so the form may appear unavailable.

You can also configure snapshot in configuration files:

  • In the snapshot: section of ~/.dsh/settings.yaml
  • In the profile’s cordis.yml, for example ~/.dsh/profiles/web/cordis.yml

The verified materials do not list specific configuration items, so this article does not elaborate on them.

Applicable Scenarios and Notes

Suitable for tracking Agent modifications to file contents in DSH Web and returning to historical states after erroneous changes. Before use, pay attention to the following:

  • The plugin runs with the current dsh process permissions; check the source code and license before installation.
  • Node engines requires ^22.19 || >=24.
  • Runtime dependencies are provided by the harness host, including peer dependencies such as @deepseek-ai/cordis and @deepseek-ai/dsh-settings.
  • The settings page form may be unavailable due to the host namespace whitelist.
  • After updating, you must fully exit dsh web and restart it, then perform a hard refresh in the browser using Ctrl+Shift+R.

Conclusion

The value of dsh-snapshot is quite direct: it leaves a snapshot before the Agent modifies files, and provides a rollback entry point through the /rollback command and the sidebar timeline.

GitHub:

https://github.com/DfsyJian/dsh-snapshot

The verified materials do not provide a directory page URL, so this article does not include such a link.

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye