Rewind — 文件快照与备份 / 一键回退
> 给工作文件拍个快照,改错了随时回退。WorkBuddy 内置的"后悔药",支持备份、恢复、对比变化、一键回退。
一句话说明
像给文件"拍张照片"一样创建快照,需要时一键回到快照那一刻的状态。覆盖 Word、PPT、Excel、PDF 等各类办公文档,支持 macOS 和 Windows。
能做什么
| 场景 | 怎么做 |
|---|---|
| 动手改东西之前留个底 | 自动创建一个快照(比如“改之前的样子”) |
| 改完之后后悔了 | 查看已保存的快照列表,选择任一版本恢复 |
| 只恢复部分文件 | 指定文件夹或文件名,其他改动保留不动 |
| 对比改了哪里 | 把当前文件和某个快照对比,列出差异 |
| 清理过期快照 | 删除太旧的快照,只保留最近几个 |
常见使用场景
- 用 WorkBuddy 批量修改文件前,先创建一个快照作为安全保障。
- 批量重命名、整理或清理文件后,想回到整理前的状态。
- 让 WorkBuddy 尝试一种新方案后不满意,需要回退到上一版。
- 多步骤任务(如"帮我写一份季度报告")中途,想先保存当前进度再继续。
- 保护办公文档:Word、PPT、Excel、PDF 的修改都能快照,随时恢复旧版。
什么时候创建快照
以下情况主动创建快照,无需等待请求:
- 要做大改动的时候(批量修改多个文件、重写文档、调整内容等)
- 要删东西的时候(删除文件、清理过时内容等)
- 对方说"试试看""先这样改一下"等带试探性质的修改
- 开始一个多步骤任务的时候(如"帮我写一份季度报告"、"帮我做一份 PPT")
不要每次小修改都创建快照,那样太冗余。在真正重要的关口快照即可。
回退请求的处理流程
- 展示所有可用的快照列表(按时间排列,最近的在上面)。
- 协助挑选合适的快照(如果不确定改了什么,可以先对比差异)。
- 先预演、再执行:展示恢复后会改哪些文件,确认后再真正恢复。
- 恢复时自动多存一份“恢复前的样子”,连“恢复”这个操作本身也可以反悔。
- 恢复完告知操作完成,并提醒一句“万一不满意,还有一份恢复前的快照可以再回去”。
部分恢复
有时只需恢复某个文件夹或某几个文件,其他改动保留不动:
- 先确认要恢复哪些文件或文件夹
- 预演确认范围无误
- 执行恢复
安全原则(严格遵守)
- 恢复前必须确认。 先把要改的文件列出来过目,确认后再执行。
- 恢复前自动快照。 每次恢复操作都会自动把当前状态存下来,确保恢复本身可逆。
- 不主动全量删除。 恢复时默认保留快照里没有的新文件。除非明确要求“彻底回到那个版本,多出来的文件也删掉”,且已充分提醒风险。
- 不动工作目录以外的文件。 快照和恢复都只作用于当前工作目录内。
快照存了什么、不存什么
会保存你的工作成果: 亲手创建和编辑的文件都会保存——Word 文档、PPT 演示、Excel 表格、PDF 文件、笔记,只要是正常的工作内容都在保护范围内。
不保存软件自动生成的东西: 程序运行过程中自己产生的缓存、日志、临时文件等,这些都可以重新生成,无需备份。具体包括:
- 临时文件和缓存
- 软件自动下载的辅助文件
- 程序的输出或打包结果
- 日志文件
- 各类工具的设置文件夹
- 单个超过 100MB 的大文件(如视频、原始设计稿等)
- WorkBuddy 自己的工作数据
恢复时只恢复你真正关心的内容,不会夹杂一堆无关的临时文件。
如何自定义排除规则
如果默认的排除列表不适合你,可以直接修改脚本文件。改动后立即生效,无需重启。
修改脚本中的内置排除列表
打开 Rewind 的脚本文件,找到 BUILTIN_EXCLUDES 这一段,直接增删条目:
| 系统 | 脚本路径 |
|---|---|
| macOS | ~/.workbuddy/skills/rewind/scripts/rewind.py |
| Windows | %USERPROFILE%\.workbuddy\skills\rewind\scripts\rewind.py |
脚本中默认排除的内容包括:
| 类别 | 排除项 | 说明 |
|---|---|---|
| 系统杂项 | .DS_Store, Thumbs.db, desktop.ini |
macOS/Windows 自动生成的元数据文件 |
| WorkBuddy 内部 | .workbuddy |
WorkBuddy 自己的工作数据,不可备份 |
| Office 临时文件 | ~$*.doc*, ~$*.ppt*, ~$*.xls* |
Word/PPT/Excel 打开时自动生成的锁定文件 |
| 版本管理 | .git, .hg, .svn |
版本控制文件夹 |
| 日志 | *.log |
程序运行日志 |
| 缓存与临时 | .cache, .gradle, __pycache__, *.pyc 等 |
各类缓存和临时编译文件 |
| 第三方辅助文件 | node_modules, .venv, venv, env 等 |
软件自动下载的依赖包和虚拟环境 |
| 工具设置 | .vscode, .idea |
编辑器配置文件夹 |
| 构建输出 | dist, build, target 等 |
程序打包或编译的输出 |
| 测试产物 | .pytest_cache, .mypy_cache, .coverage 等 |
测试中间文件 |
> 提示: 如果要添加排除项,在 BUILTIN_EXCLUDES 列表中添加一行 "要排除的文件夹名", 即可。如果要取消某个排除项,直接删除或注释掉对应行。改完保存文件后生效。
存储位置
快照存储在本机 WorkBuddy 目录下,不在工作文件夹里,不会影响工作文件本身。跨会话、电脑重启都不丢失。同一工作目录最多保留 100 个快照,超出时自动清理最旧的。
| 系统 | 存储路径 |
|---|---|
| macOS | ~/.workbuddy/rewind/ |
| Windows | %USERPROFILE%\.workbuddy\rewind\ |
使用说明(给 WorkBuddy)
工具路径:
- macOS:~/.workbuddy/skills/rewind/scripts/rewind.py
- Windows:%USERPROFILE%\.workbuddy\skills\rewind\scripts\rewind.py
调用方式(在工作目录下执行):
{workbuddy_python} ~/.workbuddy/skills/rewind/scripts/rewind.py <命令> [选项]
> {workbuddy_python} 为 WorkBuddy 提供的运行环境。兼容 macOS 和 Windows。
命令速查(中英文均可使用):
| 中文命令 | 英文命令 | 作用 |
|---|---|---|
创建 [标签] |
create [label] |
创建快照/备份 |
列表 |
list |
列出所有快照 |
详情 <引用> |
show <ref> |
查看某个快照的详情 |
对比 <引用> [--content] |
diff <ref> [--content] |
对比快照与当前文件的差异 |
回退 <引用> [--files ...] [--dry-run] [--purge] |
restore <ref> [--files ...] [--dry-run] [--purge] |
恢复文件到快照状态 |
删除 <引用> |
delete <ref> |
删除某个快照 |
清理 --keep N |
prune --keep N |
只保留最近 N 个快照 |
状态 |
whereami |
查看当前工作目录的快照概况 |
回收 |
gc |
清理无用的存储空间 |
> <引用> 可以是快照的 ID、序号(1, 2, 3…)或标签名称,都能识别。