
limbo947/dsh-recall-plugin
60Last commit Aug 15, 2026
dsh-recall-plugin DSH plugin
This plugin adds a 'Recall' button on each user message sent after installation. Clicking it reverts both the conversation history and the workspace files to the state before that message. It uses independent shadow git repositories to avoid affecting the project's own git state.
How to install the dsh-recall-plugin DSH plugin
dsh plugin --profile web add dsh-recall-pluginCopying does not run this command. Review the repository and version before installing the dsh-recall-plugin DSH plugin.
dsh-recall-plugin DSH plugin data source
dsh-recall-plugin DSH plugin snapshot date: Aug 16, 2026
discovered
What the dsh-recall-plugin DSH plugin can do
- File + conversation rollback: reverts both agent-modified files and chat history together.
- Does not touch the project's own git: snapshots are stored in a separate shadow git repository.
- Project directory stays clean: snapshots are kept under $DSH_HOME, never in the project folder.
- Multiple undo levels: all snapshots are retained as long as the session exists, allowing repeated recalls.
- Preview changes before committing: a confirmation panel shows the file changes (modified/restored/deleted) before execution.
Where the dsh-recall-plugin DSH plugin fits
- Revert unwanted file changes made by the agent after a message.
- Roll back the conversation to a previous state while restoring files accordingly.
- Quickly undo multiple steps by recalling earlier messages, each keeping their own snapshot.
- Recover from accidental agent modifications without affecting the project's git history.
Who the dsh-recall-plugin DSH plugin is for
- DSH users who want to undo agent actions and restore workspace files.
- Developers who frequently experiment and need a safe rollback mechanism for both files and chat.
dsh-recall-plugin DSH plugin limitations
- Snapshots are created only at message send time; messages before plugin installation have no recall button.
- The first user message in a session cannot roll back the conversation (only files can be reverted).
- macOS has not been tested on real hardware, only scripted for bash 3.2 compatibility.
- Nested git repositories inside the workspace are not snapshotted and their content is not included in rollback.
dsh-recall-plugin DSH plugin: from the repository README
Quoted from the limbo947/dsh-recall-plugin README, the upstream source of the dsh-recall-plugin DSH plugin. Copyright remains with the original authors.
> 撤回一条消息,项目文件也一起回去。 简体中文 | [English](README.en.md)      --- **在任意一条你发过的消息下方**,**点「↶ 撤回」**,**工作区文件和对话历史一起回到那条消息发出之前的状态**。 ## 界面预览 - 撤回按钮位置  --- | 确认面板 · 变更文件清单| | | --- | --- | |  |  | ## 功能亮点 - **文件 + 对话,整段回退**:撤回的不只是聊天记录,agent 改过的文件也一并回到原样。 - **不碰你项目自己的 git**:快照存在独立的影子 git 仓库里,你的分支、暂存区、未提交改动统统不受影响;`.git`、`node_modules` 自动排除。 - **项目目录保持干净**:快照始终存在 `$DSH_HOME` 下,不会往项目里塞任何东西;与会话的沙箱权限无关(workspace-write / read-only 会话照常快照与回退),仅当 home 本身不可写(如指到只读盘)才降级到项目内 `.dsh-recall-snapshots`(降级时页面会提示),home 恢复后自动迁走、清理干净。 - **可以反复后悔**:只要会话还在(含归档),快照全量保留、不修剪。撤回一次后还能再撤到更早;撤回时被覆盖的文件也一直找得回来。会话被彻底删除后,其快照随之清理(见下)。 - **先看清单再动手**:点撤回先弹出将变更的文件清单(修改 / 恢复 / 删除),确认后才执行,不会稀里糊涂覆盖。 - **磁盘友好**:快照走 git delta 压
Read the full READMERepository license: MIT
dsh-recall-plugin DSH plugin questions
The recall button is not showing up after installation.
Make sure you have restarted the DSH process and hard refreshed the page (Ctrl+Shift+R). Also verify that git CLI is installed and in PATH. If you are using Windows, ensure PowerShell 5.1/7 is available. The button only appears on messages sent after plugin installation.
Can I recall a message that was sent before the plugin was installed?
No. Snapshots are created only at message send time after the plugin is installed. Messages sent before installation have no snapshot and therefore no recall button.
Where are the snapshots stored?
Snapshots are stored under $DSH_HOME/dsh-recall-snapshots/ (default: ~/.dsh/dsh-recall-snapshots/). If $DSH_HOME is not writable, they fall back to .dsh-recall-snapshots inside the project directory, with a notification.
How do I uninstall the plugin and clean up all snapshot data?
Run 'dsh plugin --profile web remove dsh-recall-plugin' to remove the plugin and its dependencies. The snapshot data remains in the home directory under dsh-recall-snapshots/. To completely delete it, manually remove that directory.
Does the plugin affect my project's own git repository?
No. Snapshots are stored in a separate shadow git repository, independent of your project's .git. Your branches, staging area, and uncommitted changes are untouched.