检查点与撤销
在 AI 执行文件修改操作前,Muse 会自动保存改动前的文件快照并创建检查点。如果生成结果未达预期或引入了意外问题,可随时一键回退到指定节点。该机制完全自动运行,无需手动干预。
回滚方式
在聊天记录里找到你想退回的那条你自己发的消息,其左侧有一个撤销图标,点开即该检查点的操作菜单。
菜单里有三个选择:
| 操作 | 代码 | 对话 |
|---|---|---|
| 恢复代码与对话 | 回到这条消息之前的状态 | 删掉这条之后的消息,原来的提问会填回输入框 |
| 仅恢复对话 | 保持现状不变 | 删掉这条之后的消息 |
| 仅恢复代码 | 回到这条消息之前的状态 | 保持完整不变 |
常用的是第一个:相当于「这一轮重来」,代码和对话一起回到起点,你可以修改提问后再发一次。
恢复对话会删除所选消息及后续消息,撤销现有压缩摘要,并恢复回退点之前保留的原始对话,避免摘要带入后续事实。「仅恢复代码」不改变对话。恢复后历史过长时,下一次发送前会重新压缩;已经发生的调用用量不会清零。旧版已经截断或缺失的内容无法凭回退补回。
如果只是想让 AI 忘掉走偏的几轮讨论、但保留它已经写好的代码,用「仅恢复对话」。反之,代码想丢弃、讨论过程想留着复盘,用「仅恢复代码」。
适用边界与限制
检查点只记录 AI 通过文件工具做的修改。如果文件是被终端里的命令改掉或删掉的(rm、mv、sed 这类,无论是你自己输入的还是 AI 执行的),检查点无法精确还原。
与其他会话同时改同一文件
回滚时会先判断每个文件「是不是被当前会话之外的改动碰过」:
- 文件在检查点之后被其他会话或你自己改过(当前会话没见过那些改动)→ 该文件跳过,不改动,并在提示里列出文件名。这样不会把你或别的会话刚写的代码悄悄抹掉。
- 文件是当前会话自己改的 → 照常还原,这正是撤销的用途。
如果提示里列出了被跳过的文件,说明那些改动被有意保留了。想连它们一起回退,先手动确认内容或借助 Git。
已知局限:本次对话中新建的文件,回滚时一律删除,即使期间别的会话往里写过内容——删除前无法可靠判断该文件是否被改过。
这种情况下建议通过 Git 恢复:只要文件曾被 Git 跟踪过(提交过一次即可),去 Git 页的状态标签页长按该文件,选「恢复文件」或「回退改动」即可取回,与它是怎么被删的无关。反之,从没提交过的新文件不在这层保护里。
重要的项目建议同时用 Git 管理,检查点适合处理单轮改动的回退,Git 才是完整的版本安全网。