limbo947/dsh-recall-plugin ↗★ 0
dsh-recall-plugin
DSH 消息撤回插件:在用户消息气泡旁加「撤回」按钮,把项目文件(独立影子 git 仓库快照)与对话历史(官方 fork)一并回退到该消息发送之前。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:limbo947/dsh-recall-plugin说明文档
阅读完整 README ↗dsh-recall-plugin
撤回一条消息,项目文件也一起回去。
- 在任意一条你发过的消息下方,点「↶ 撤回」,工作区文件和对话历史一起回到那条消息发出之前的状态。
- 注:安装本插件前的消息无法撤回
界面预览
- 撤回按钮位置

| 确认面板 · 变更文件清单 | |
|---|---|
![]() | ![]() |
功能亮点
- 文件 + 对话,整段回退:撤回的不只是聊天记录,agent 改过的文件也一并回到原样。
- 不碰你项目自己的 git:快照存在独立的影子 git 仓库里,你的分支、暂存区、未提交改动统统不受影响;
.git、node_modules自动排除。 - 项目目录保持干净:快照默认存在
$DSH_HOME下,不会往项目里塞任何东西;受限会话写不了 home 时才临时降级到项目内.dsh-recall-snapshots,权限为 Full access 时自动迁走、清理干净。 - 可以反复后悔:快照全量保留、永不修剪。撤回一次后还能再撤到更早;撤回时被覆盖的文件也一直找得回来。
- 先看清单再动手:点撤回先弹出将变更的文件清单(修改 / 恢复 / 删除),确认后才执行,不会稀里糊涂覆盖。
- 磁盘友好:快照走 git delta 压缩,是增量不是整目录拷贝;超过 100MB 的大文件自动跳过。
安装
前置:Windows + git CLI(未装 git 时插件静默降级,不显示撤回按钮,不影响 DSH 运行);PowerShell 5.1 / 7 均可;DSH 0.1.0-rc.x(依赖版本见 peerDependencies)。
# DSH 官方插件命令:安装并自动挂载进 web profile
dsh plugin --profile web add dsh-recall-plugin@
# 未发布时也可从 git 安装(纯 JS 无构建,免 prepare/allowBuilds):
# dsh plugin --profile web add github:/dsh-recall-plugin
# 重启 DSH 进程(按你的启动方式,任选其一)
dsh web # 前台直接启动
pm2 restart # 若用 pm2 托管
验证:重启后硬刷新页面(Ctrl+Shift+R),悬停任意一条插件启用后发送的用户消息——复制按钮旁出现「↶」即生效。没有按钮?九成是没重启 DSH 进程,或 git CLI 不在 PATH 里。
卸载:dsh plugin --profile web remove dsh-recall-plugin(同时移除依赖与挂载层),快照数据保留在 ,想彻底清除手动删掉该目录即可。

