Контрольные точки
Qwen Code включает функцию контрольных точек, которая автоматически сохраняет снимок состояния вашего проекта перед любыми изменениями файлов, внесенными инструментами на базе ИИ. Это позволяет безопасно экспериментировать и применять изменения кода, зная, что вы можете мгновенно вернуться к состоянию до запуска инструмента.
Как это работает
Когда вы одобряете инструмент, который изменяет файловую систему (например, write_file или edit), CLI автоматически создает «контрольную точку». Эта контрольная точка включает в себя:
- Снимок Git: В специальном скрытом репозитории Git, расположенном в вашем домашнем каталоге (
~/.qwen/history/<project_hash>), делается коммит. Этот снимок фиксирует полное состояние файлов вашего проекта на тот момент. Он не вмешивается в репозиторий Git вашего собственного проекта. - История разговора: Сохраняется вся переписка, которую вы вели с агентом до этого момента.
- Вызов инструмента: Также сохраняется конкретный вызов инструмента, который должен был быть выполнен.
Если вы захотите отменить изменения или просто вернуться назад, вы можете использовать команду /restore. Восстановление контрольной точки:
- Откатит все файлы в вашем проекте к состоянию, зафиксированному в снимке.
- Восстановит историю разговора в CLI.
- Повторно предложит исходный вызов инструмента, позволяя вам снова его выполнить, изменить или просто проигнорировать.
Все данные контрольных точек, включая снимок Git и историю разговора, хранятся локально на вашем компьютере. Снимок Git хранится в скрытом репозитории, а история разговора и вызовы инструментов сохраняются в JSON-файле во временном каталоге вашего проекта, обычно расположенном по адресу ~/.qwen/tmp/<project_hash>/checkpoints.
Включение функции
Функция контрольных точек по умолчанию отключена. Чтобы включить её, вы можете использовать флаг командной строки или изменить файл settings.json.
Использование флага командной строки
Вы можете включить контрольные точки для текущей сессии, используя флаг --checkpointing при запуске Qwen Code:
qwen --checkpointingИспользование файла settings.json
Чтобы включить контрольные точки по умолчанию для всех сессий, необходимо изменить файл settings.json.
Добавьте следующий ключ в ваш settings.json:
{
"general": {
"checkpointing": {
"enabled": true
}
}
}Использование команды /restore
После включения контрольные точки создаются автоматически. Для управления ими используется команда /restore.
Список доступных контрольных точек
Чтобы просмотреть список всех сохранённых контрольных точек для текущего проекта, просто выполните команду:
/restoreИнтерфейс командной строки отобразит список доступных файлов контрольных точек. Имена этих файлов обычно состоят из метки времени, имени изменённого файла и названия инструмента, который должен был запускаться (например, 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После выполнения команды ваши файлы и разговор будут немедленно восстановлены до состояния, в котором они находились на момент создания контрольной точки, а исходный запрос к инструменту появится снова.