$ cat ~/map/pi-better-rewind-redo.md
pi-better-rewind-redo
从任意历史消息一并回退文件与会话,支持多级重做与中断恢复。
extensions✓ 9月11日
事实速查
- GitHub Stars
- ★ 9
- Forks
- 1
- 许可证
- Apache-2.0
- npm / 月
- —
- 最后推送
- 2026年9月10日
安装
pi install npm:pi-better-rewind-redo## 速览
一个 pi 扩展:从更早的消息把文件与会话一并回退,快照由 filesnap 保存在工作区之外,支持多级重做与中断后的恢复。
## 要点
- $/rewind 选中更早的一条用户消息,预览将执行的写入与删除,然后把文件和会话一并恢复;/redo 回到上一次回退之前的状态,可连续多级重做。
- $每条用户消息开始时都会创建检查点——包括 Pi 工作期间新增的消息;发送新消息会清空重做历史。
- $快照保存在工作区之外——无需 Git 仓库,Git 历史与索引也不会被改动。
- $/rewind-status 展示检查点、重做历史、恢复状态与存储位置;/rewind-recover 在恢复被中断或失败后重试。
- $官方 filesnap CLI 作为 npm 依赖自动安装——不需要 Rust 工具链、全局 filesnap 安装或任何环境配置。
- $要求 Node.js 22.19+;基于 pi 0.85.1 开发,仅在 Linux x64 上测试过——其他平台未经测试。
## 常见问题
Q 它和 pi 内置的 /tree、/fork 有什么区别?
pi 的 /tree 和 /fork 只导航会话。使用它们会创建新的检查点边界并清空本扩展的重做历史,但不会恢复文件;/rewind 与 /redo 才是文件加会话的组合导航。
Q 恢复过程中被中断怎么办?
文件变更前会先保存恢复日志,且先恢复文件、后恢复会话。恢复失败时扩展会尝试还原到之前的状态;若恢复也失败,则保留日志与快照并阻止进一步编辑,直到 /rewind-recover 成功为止。
## 参考链接
## 相关条目
## 教程
最后更新: 2026年9月11日