DeepSeek Harness Plugin

gulagala001/dsh-undo-plugin

Stars ★ 0 Category Sessions & Messages Added 2026-10-22

Rewind complete conversation turns and checkpointed file edits, then restore the input draft.

Install

# from a prebuilt release tarball

dsh plugin --profile web add "https://github.com/gulagala001/dsh-undo-plugin/releases/download/v0.1.1-dsh.0.2.1-rc.2/gulagala001-dsh-undo-plugin-0.1.1-dsh.0.2.1-rc.2.tgz"

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:gulagala001/dsh-undo-plugin

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

Quick start

Required environment: DSH 0.2.1-rc.2, Node.js 22.19+.

File restoration only covers retained checkpoints. Older messages may support conversation-only rewind. External changes are checked before restoration; double Esc during generation retains the host Stop behavior.

1. Install

Open Plugins → Add plugin in the DSH instance you use, then paste:

https://github.com/gulagala001/dsh-undo-plugin/releases/download/v0.1.1-dsh.0.2.1-rc.2/gulagala001-dsh-undo-plugin-0.1.1-dsh.0.2.1-rc.2.tgz

Wait for active tasks to finish, then follow the host’s activation/restart prompt. Keep your existing profile and data. See the installation guide · SHA256SUMS.

2. Try this first

In an idle test conversation, enter /rewind or press Esc twice.

Success looks like: A rewind list opens above the composer. Selecting an entry shows the affected scope and confirmation before any file restoration.

Return to an earlier message

Click the rewind arrow beside a user message’s Copy button, inspect affected files and confirm. The conversation rewinds in place and restores text and attachments to the composer. Choose Undo rewind or enter /undo to restore the previous state.

  • Checkpoints are recorded automatically; no manual save before every action is required.
  • The confirmation shows actual file coverage and checks for external changes.
  • Double Esc while idle or /rewind opens the native list; all restoration requires confirmation.

Actual coverage

Situation Behavior
File checkpoints remain available Restores recorded files and rewinds the conversation.
An older message has no file snapshot Rewinds only the conversation, with the scope shown in confirmation.
Files changed externally Checks conflicts before restoration rather than treating external edits as owned changes.
A response is running Double Esc retains DSH’s native Stop behavior.

See the usage guide for coverage, retention and automatic cleanup. This is not a complete snapshot of arbitrary system actions and cannot restore unrecorded external side effects.

FAQ

It may predate installation or no longer have retained snapshots. Inspect the confirmation’s actual scope; without a snapshot, only the conversation rewinds.

Use Undo rewind or /undo and review the confirmation and conflict notice. Undo applies to the last rewind record still retained by the plugin.

Development and license

The package is @gulagala001/dsh-undo-plugin, distributed through fixed GitHub Releases. Development commands and storage behavior are in the usage guide.

Licensed under MIT. Sources and attribution are listed in THIRD_PARTY_NOTICES.md.

Documentation and support

I want to Where to go
Install, update or remove Installation guide
Learn the features and limits Documentation
Read release changes Releases
Report a problem Issues

For a bug report, include the full DSH and plugin versions, the entry point, minimal reproduction steps, and expected versus actual behavior. Remove private data before sharing logs or screenshots.

Documentation structure and contributing

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.