Skip to content

dsh-undo

⭐ 4 · ✅ active · awesome-list

Type awesome-list Category Registries
Stars ⭐ 4 Status ✅ active
Author LingLambda Updated —

One-liner

Context undo/redo plugin for DeepSeek Harness (dsh): roll the model context back to the last completed step and restore it again.

About

Durable, multi-level undo/redo for DeepSeek Harness (dsh). It rewinds model context by real user turn and restores workspace files changed by tools in that turn. The commands are handled locally and are never sent to the model: - /undo rewinds the latest visible real user message and every surface message after it. - /undo rewinds from a specific visible user message, including all later turns. - /redo restores the latest active rewind. Repeated undo and redo operations use LIFO order. The WebUI client contributes an undo action to finalized real-user message bubbles. The action invokes /undo; the Host validates that the addressed message is still a legal rewind target.

✨ Key Features

  • /undo rewinds the latest visible real user message and every surface message after it.
  • /undo <user-seq> rewinds from a specific visible user message, including all later turns.
  • /redo restores the latest active rewind. Repeated undo and redo operations use LIFO order.

📦 Install

dsh plugin --profile demo add dsh-undo

🚀 Quick Start

dsh plugin --profile demo add github:LingLambda/dsh-undo#<sha>

📚 Learn more

Install

The package is a dsh bundle. package.json points dsh.bundle to cordis.patch.yml, which activates the Host plugin, and exposes a WebUI Client bundle. From npm: dsh plugin --profile demo add dsh-undo From git (the prepare script builds lib/ during installation; authorize the build in the profile's `pnpm-workspace

Usage

/undo /undo 42 /redo Use /undo for the latest user turn, the action on an older user bubble to rewind from that point, and /redo to restore the most recent rewind.