跳到主要内容

检查点

功能概述:检查点是iFlow CLI的安全回退系统,在AI工具修改文件前自动保存项目状态快照。

学习时间:5-10分钟

前置要求:了解基本的Git概念,熟悉文件版本管理

什么是检查点

检查点是iFlow CLI提供的安全保障机制,在AI工具修改文件系统之前自动保存项目状态的完整快照。这个功能让您可以安全地实验和应用代码更改,随时可以立即回退到工具运行前的状态,确保您的项目安全。

核心特点

特点说明优势
自动创建AI工具执行前自动保存状态无需手动操作
完整快照保存文件、对话、工具调用全面的状态恢复
独立存储不干扰项目Git仓库安全隔离
即时恢复一键回退到任意检查点快速撤销更改
本地存储所有数据保存在本地隐私和安全

工作原理

检查点创建流程

工具调用 → 权限确认 → 状态快照 → 工具执行 → 检查点完成

[AI请求] → [用户批准] → [文件备份] → [安全执行] → [状态保存]

快照内容组成

1. Git状态快照

  • ~/.iflow/snapshots/<project_hash> 创建影子Git仓库
  • 捕获项目文件的完整状态
  • 不干扰项目原有的Git仓库

2. 对话历史

  • 保存与AI助手的完整对话记录
  • 包括上下文和交互状态
  • 支持对话状态的完整恢复

3. 工具调用信息

  • 存储即将执行的具体工具调用
  • 记录参数和执行上下文
  • 支持重新执行或修改调用

数据存储位置

数据类型存储路径说明
Git快照~/.iflow/snapshots/<project_hash>影子Git仓库
对话历史~/.iflow/cache/<project_hash>/checkpointsJSON格式文件
工具调用~/.iflow/cache/<project_hash>/checkpoints调用详情记录

详细功能说明

启用检查点功能

检查点功能默认关闭,可通过以下方式启用:

命令行参数

# 启用检查点功能
iflow --enable-checkpoints

# 临时禁用检查点功能
iflow --disable-checkpoints

配置文件设置

settings.json 中添加:

{
"checkpoints": {
"enabled": true,
"maxCheckpoints": 10,
"autoCleanup": true
}
}

使用检查点

创建检查点

  • 检查点在AI工具修改文件前自动创建
  • 每个检查点都有唯一的时间戳标识
  • 系统会提示检查点创建完成

查看检查点

# 列出所有检查点
/restore

# 查看检查点详情
/restore <checkpoint-name>

恢复检查点

# 交互式选择检查点
/restore

# 恢复特定检查点
/restore <checkpoint-name>

管理选项

配置项默认值说明
enabledfalse是否启用检查点功能
maxCheckpoints10最大保留检查点数量
autoCleanuptrue自动清理旧检查点
storageLocation~/.iflow存储位置

使用示例

安全的代码修改

# 1. AI提出修改建议
> 我想重构这个函数以提高性能

# 2. 系统自动创建检查点
[检查点] 正在创建项目状态快照...
[检查点] 快照创建完成: checkpoint_20231215_143022

# 3. AI执行修改
# ... 文件修改操作 ...

# 4. 如需回退
/restore checkpoint_20231215_143022

实验性更改

# 尝试大规模重构
> 请帮我重构整个项目架构

# 系统创建检查点后执行
# 如果结果不满意,可以轻松回退
/restore

故障排除

常见问题及解决方案

问题可能原因解决方案
检查点创建失败磁盘空间不足或权限问题检查磁盘空间和文件权限
恢复失败检查点文件损坏使用其他检查点或手动恢复
检查点列表为空功能未启用或无修改启用功能并进行文件操作
恢复后文件丢失检查点不完整检查Git仓库状态

安全注意事项

  • 存储空间:检查点会占用磁盘空间,定期清理旧检查点
  • 隐私保护:检查点包含完整对话历史,注意敏感信息
  • Git冲突:恢复可能与当前Git状态冲突,需要手动处理
  • 大文件处理:大型项目的检查点可能耗时较长

平台兼容性

平台支持程度特殊说明
Windows完全支持路径处理自动适配
macOS完全支持完整的文件系统支持
Linux完全支持原生Git集成