🤖HermesBlog
Hermes Official Tutorials · Часть 108/9/2026

Урок 10: Чекпоинты — кнопка «Отмена» для ИИ

Tutorial 10: Checkpoints — AI's Undo Button — easy-to-understand guide based on official docs

Hermes tutorial

Урок 10: Чекпоинты — кнопка «Отмена» для ИИ

Помните то неприятное чувство, когда вы понимаете, что только что удалили что-то важное? Может, это был файл, над которым вы корпели часами, или изменение конфига, которое всё сломало. В реальном мире для файловой системы нет Ctrl+Z. Но в Hermes Agent — есть, и называется это чекпоинты.

Представьте чекпоинты как точки сохранения в видеоигре. Перед тем как ваш ИИ-агент сделает что-то рискованное — перезапишет файл или выполнит разрушительную команду — он может сделать быстрый снимок вашего проекта. Если что-то пойдёт не так, вы сможете откатиться к этому снимку одной командой. Это как кнопка «Отмена» для всего проекта.

Включаем страховку

Честно говоря: чекпоинты подключаются вручную в Hermes v2. Большинству пользователей они не нужны, а хранилище со временем разрастается. Но если вы работаете над чем-то важным — это настоящее спасение.

Включить можно двумя способами:

На сессию (только для одного чата):

hermes chat --checkpoints

Глобально~/.hermes/config.yaml):

checkpoints:
  enabled: true

Вот и всё. После включения Hermes автоматически делает снимки проекта перед любыми разрушительными действиями.

Что запускает создание чекпоинта?

Hermes умно подходит к созданию снимков. Он следит за:

  • Операциями с файлами — например, write_file и patch
  • Разрушительными командами в терминале — например, rm, mv, sed -i, truncate, а также git reset или git clean

Самое приятное: создаётся не более одного чекпоинта на директорию за ход, так что длинные сессии не завалят вас сотнями снимков.

Откат: слэш-команды

Когда вы в чат-сессии, /rollback — ваш лучший друг:

Команда Что делает
/rollback Показывает все чекпоинты со статистикой изменений
/rollback <N> Восстанавливает чекпоинт N, сохраняя ваши ручные правки
/rollback <N> --all Полное восстановление — перезаписывает и ваши ручные правки
/rollback diff <N> Показывает различия между чекпоинтом N и текущим состоянием
/rollback <N> <file> Восстанавливает только один файл из чекпоинта N

Стандартный /rollback <N> работает умно — он сохраняет все ваши ручные изменения, отменяя только то, что сделал агент. Если нужна полная очистка — используйте --all.

Управление хранилищем из терминала

Вне чата у вас есть CLI-команды для просмотра и управления чекпоинтами:

hermes checkpoints              # Показать размер, проекты, разбивку
hermes checkpoints status       # То же самое
hermes checkpoints list         # Алиас для status
hermes checkpoints prune        # Очистка осиротевших и устаревших данных
hermes checkpoints clear        # Удалить всё (спросит подтверждение)
hermes checkpoints clear-legacy # Удалить старые архивы миграции v1

Как это работает под капотом

Вы можете спросить: «А не повлияет ли это на мой настоящий git-репозиторий?» Нет. Hermes хранит отдельное «теневое хранилище» в ~/.hermes/checkpoints/store/. Ваш настоящий .git в проекте никогда не затрагивается.

Все проекты используют одно общее хранилище, и поскольку git использует контентно-адресуемое хранение, файлы, встречающиеся в нескольких проектах, сохраняются только один раз. На удивление эффективно.

Настройка параметров

Вы можете контролировать, сколько места занимают чекпоинты:

checkpoints:
  enabled: true
  max_snapshots: 20           # Максимум чекпоинтов на проект
  max_total_size_mb: 500      # Жёсткий лимит общего размера хранилища
  max_file_size_mb: 10        # Пропускать файлы больше этого размера
  auto_prune: true            # Автоочистка старых записей
  retention_days: 7           # Хранить записи 7 дней
  min_interval_hours: 24      # Очистка не чаще раза в день

Автоочистка работает умно — она убирает старые записи при запуске, но никогда не удаляет «осиротевшие» записи (проекты, чьи папки не найдены). Всё потому, что отсутствующая папка может означать, что внешний диск просто ещё не подключён. Для очистки осиротевших записей нужно запускать hermes checkpoints prune вручную.

Кнопка «Отмена» для вашего проекта

Чекпоинты дают вам уверенность позволить ИИ-агенту работать свободно, зная, что вы всегда можете отмотать время назад. Рефакторите ли вы код, экспериментируете с конфигами или просто хотите спокойствия — их стоит включить.

Попробуйте в следующей сессии с hermes chat --checkpoints. Возможно, откат вам никогда не понадобится — но если понадобится, вы будете рады, что он есть.

📖 Официальная документация

Эта статья основана на официальной документации Hermes Agent :Официальные документы › user-guide/checkpoints-and-rollback