Skip to Content
Функция Контрольных Точек

Checkpointing

Qwen Code включает функцию Checkpointing, которая автоматически сохраняет снимок состояния вашего проекта перед любыми изменениями файлов, внесенными инструментами на базе AI. Это позволяет вам безопасно экспериментировать и применять изменения в коде, зная, что вы можете мгновенно вернуться к состоянию до запуска инструмента.

Как это работает

Когда вы одобряете инструмент, который изменяет файловую систему (например, write_file или edit), CLI автоматически создает “checkpoint”. Этот checkpoint включает в себя:

  1. Снимок Git: В специальном скрытом Git-репозитории, расположенном в вашей домашней директории (~/.qwen/history/<project_hash>), создается коммит. Данный снимок фиксирует полное состояние файлов вашего проекта на тот момент. Он не вмешивается в Git-репозиторий вашего собственного проекта.
  2. История разговора: Сохраняется вся история общения с агентом до этого момента.
  3. Вызов инструмента: Также сохраняется конкретный вызов инструмента, который собирался выполниться.

Если вы захотите отменить изменения или просто вернуться к предыдущему состоянию, вы можете использовать команду /restore. Восстановление checkpoint приведет к:

  • Откату всех файлов проекта до состояния, зафиксированного в снимке.
  • Восстановлению истории разговора в CLI.
  • Повторному предложению оригинального вызова инструмента, что позволит вам снова его выполнить, изменить или просто проигнорировать.

Все данные checkpoint, включая снимок Git и историю разговора, хранятся локально на вашем компьютере. Снимок Git сохраняется в скрытом репозитории, а история разговора и вызовы инструментов — в JSON-файле во временном каталоге проекта, обычно расположенном по пути ~/.qwen/tmp/<project_hash>/checkpoints.

Включение функции

Функция Checkpointing по умолчанию отключена. Чтобы включить её, вы можете использовать флаг командной строки или отредактировать файл settings.json.

Использование флага командной строки

Вы можете включить checkpointing для текущей сессии, используя флаг --checkpointing при запуске Qwen Code:

qwen --checkpointing

Использование файла settings.json

Чтобы включить checkpointing по умолчанию для всех сессий, вам нужно отредактировать файл settings.json.

Добавьте следующий ключ в ваш settings.json:

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

Использование команды /restore

После включения checkpoints создаются автоматически. Для управления ими используйте команду /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

После выполнения команды ваши файлы и разговор будут немедленно восстановлены до состояния на момент создания чекпоинта, а исходный prompt инструмента появится снова.

Last updated on