检查点功能
通义代码包含了检查点功能,该功能会在任何由 AI 驱动的工具修改文件之前自动保存项目状态的快照。这使您可以安全地试验和应用代码更改,同时确信可以立即恢复到运行工具之前的状态。
工作原理
当你批准一个修改文件系统的工具(如 write_file 或 edit)时,CLI 会自动创建一个“检查点”。该检查点包括:
- Git 快照: 在你主目录下的一个特殊的影子 Git 仓库中进行一次提交(
~/.qwen/history/<project_hash>)。这个快照会捕捉到当时项目文件的完整状态。它不会干扰你自己项目的 Git 仓库。 - 对话历史: 截至当时的与代理的整个对话会被保存。
- 工具调用: 即将执行的具体工具调用也会被存储。
如果你想撤销更改或只是返回之前的状态,可以使用 /restore 命令。恢复检查点将会:
- 将项目中的所有文件还原到快照中捕获的状态。
- 恢复 CLI 中的对话历史。
- 重新提出原始的工具调用,允许你再次运行、修改或直接忽略它。
所有检查点数据,包括 Git 快照和对话历史,都存储在你本地机器上。Git 快照存储在影子仓库中,而对话历史和工具调用则保存在项目临时目录中的一个 JSON 文件里,通常位于 ~/.qwen/tmp/<project_hash>/checkpoints。
启用该功能
检查点功能默认是禁用的。要启用它,你可以使用命令行标志或编辑你的 settings.json 文件。
使用命令行标志
你可以在启动 Qwen Code 时使用 --checkpointing 标志为当前会话启用检查点功能:
qwen --checkpointing使用 settings.json 文件
要为所有会话默认启用检查点功能,你需要编辑你的 settings.json 文件。
在你的 settings.json 中添加以下键:
{
"general": {
"checkpointing": {
"enabled": true
}
}
}使用 /restore 命令
启用后,检查点将自动创建。要管理它们,你可以使用 /restore 命令。
列出可用的检查点
要查看当前项目的所有已保存检查点列表,只需运行:
/restoreCLI 将显示可用的检查点文件列表。这些文件名通常由时间戳、被修改文件的名称以及即将运行的工具名称组成(例如: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