跳到主内容

dsh-recall-plugin 使用指南

在 DSH 用户消息旁加「撤回」按钮,把项目文件与对话历史一并回退到该消息发送之前;底层用影子 git 仓库快照+官方 sessions.fork。

本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。

本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。

快速上手

dsh-recall-plugin

— 源: plugin_wiki.wiki_content

安装与验证

dsh plugin --profile web add dsh-recall-plugin

复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。

— 源: plugins.install

关键要点

  • 设置页 · 排除项快速编辑(设置 → 插件 → 撤回设置)
  • 文件 + 对话,整段回退:撤回的不只是聊天记录,agent 改过的文件也一并回到原样。
  • 不碰你项目自己的 git:快照存在独立的影子 git 仓库里,你的分支、暂存区、未提交改动统统不受影响;.git、node_modules 自动排除。
  • 项目目录保持干净:快照始终存在 $DSH_HOME 下,不会往项目里塞任何东西;与会话的沙箱权限无关(workspace-write / read-only 会话照常快照与回退),仅当 home 本身不可写(如指到只读盘)才降级到项目内 .dsh-recall-snapshots(降级时页面会提示),home 恢复后自动迁走、清理干净。
  • 可以反复后悔:只要会话还在(含归档),快照全量保留、不修剪。撤回一次后还能再撤到更早;撤回时被覆盖的文件也一直找得回来。会话被彻底删除后,其快照随之清理(见下)。

— 源: plugin_wiki.readme_zh (fallback readme_raw)

常见问题

撤回按钮没出现怎么办?

多数情况是 DSH 进程没重启,或 git CLI 不在 PATH 里——插件启用前发送的消息本来就没有快照,也不会出现按钮(README.md:69)。

撤回会污染项目自己的 git 仓库吗?

不会。快照存在 home 下的独立影子 git 仓库(~/.dsh/dsh-recall-snapshots//),不创建分支、不动暂存区,项目内的 .git/node_modules 自动排除(README.md:34)。

home 不可写时数据存哪里?

降级到项目内 .dsh-recall-snapshots/,页面顶部会出现降级提示;home 恢复后下次快照会把降级数据迁回 home 并清理项目内目录(README.md:35, lib/store.js:259-289)。

如何自定义不进快照的内容?

设置 → 插件 → 撤回设置 里可视化编辑 exclude.txt(gitignore 语法),保存后下一次快照/回退立即生效;或者直接编辑 home 下 dsh-recall-snapshots/exclude.txt(README.md:85-94)。

会话被删除后快照还在吗?

不在。归档不算删除——撤回功能自己归档的原会话快照保留;只有会话日志从磁盘消失时,下一次维护才会自动清理该会话的全部快照(README.md:84, lib/maintenance.js:66-85)。

撤回错了能找回来吗?

能。回退前会自动打一个不进列表的 snap-pre-rollback-<时间戳> 安全快照 tag,孤儿重建/手动 git tag 仍能找到它,从该 tag 恢复即可(CHANGELOG.md:40-41)。

卸载后快照数据会一起删吗?

不会。dsh plugin --profile web remove 仅移除依赖与挂载层,快照数据保留在 home 下 dsh-recall-snapshots/;想彻底清除需手动删除该目录(README.md:71)。

第一条用户消息为什么只回退文件不回退对话?

因为 fork 需要更早的 turn 边界,第一条消息之前没有可切的位置,所以仅做文件回退、对话保持(README.md:45)。

— 源: plugin_wiki.faq_json

兼容性

  • DSH: >=0.1.0-rc.8 (peerDependencies)
  • Node: >=20 (engines.node)

— 源: plugin_wiki.compatibility_json

踩坑提醒

安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。

— 来源:通用规则