Skip to Content
用户指南功能特性检查点(Checkpointing)

检查点(Checkpointing)

Qwen Code 提供检查点(Checkpointing)功能,可在 AI 工具对任何文件进行修改之前,自动保存项目当前状态的快照。借助该功能,你可以安全地尝试并应用代码变更,同时确保随时能立即回退至工具运行前的状态。

工作原理

当你批准一个会修改文件系统的工具(例如 write_fileedit)时,CLI 会自动创建一个“检查点”(checkpoint)。该检查点包含以下内容:

  1. Git 快照:在你的主目录中一个特殊的、影子(shadow)Git 仓库(路径为 ~/.qwen/history/<project_hash>)内创建一次提交。该快照捕获了你项目文件在该时刻的完整状态。它不会干扰你项目自身所用的 Git 仓库。
  2. 对话历史:保存你至此与智能体(agent)进行的全部对话内容。
  3. 工具调用记录:同时保存即将执行的特定工具调用。

如果你希望撤销该变更,或仅需回退到此前状态,可使用 /restore 命令。恢复检查点将:

  • 将项目中所有文件还原至快照所记录的状态;
  • 在 CLI 中恢复对应的对话历史;
  • 重新提出原始的工具调用,以便你再次执行、修改,或直接忽略。

所有检查点数据(包括 Git 快照和对话历史)均本地存储于你的机器上。其中,Git 快照存于影子仓库中;而对话历史与工具调用则以 JSON 文件形式保存在项目临时目录下,通常位于 ~/.qwen/tmp/<project_hash>/checkpoints

启用该功能

默认情况下,检查点(Checkpointing)功能处于禁用状态。要启用它,你可以使用命令行标志,也可以编辑 settings.json 文件。

使用命令行标志

你可以在启动 Qwen Code 时通过 --checkpointing 标志为当前会话启用检查点功能:

qwen --checkpointing

使用 settings.json 文件

若要为所有会话默认启用检查点功能,你需要编辑 settings.json 文件。

settings.json 中添加以下配置项:

{ "general": { "checkpointing": { "enabled": true } } }

使用 /restore 命令

启用后,检查点将自动创建。要管理这些检查点,请使用 /restore 命令。

列出可用的检查点

要查看当前项目中所有已保存的检查点,请直接运行:

/restore

CLI 将显示一个可用检查点文件列表。这些文件名通常由时间戳、被修改的文件名以及即将运行的工具名称组成(例如:2025-06-22T10-00-00_000Z-my-file.txt-write_file)。

恢复至特定检查点

要将项目恢复至某个特定检查点,请使用上一步列出的检查点文件:

/restore <checkpoint_file>

例如:

/restore 2025-06-22T10-00-00_000Z-my-file.txt-write_file

执行该命令后,你的文件和对话将立即恢复到该检查点创建时的状态,原始的工具提示也将重新出现。

Last updated on