🤖HermesBlog
Hermes Feature Guides · Часть 108/9/2026

Контрольные точки и `/rollback` — страховочная сетка вашего проекта

Built-in Plugins — Ready-to-Use Enhancements — easy-to-understand guide based on official docs (updated 2026-08-09)

hermes-feature-10-builtin-plugins

Контрольные точки и /rollback — страховочная сетка вашего проекта

Вы когда-нибудь наблюдали, как ИИ-агент вносит изменение, и думали: «Стоп, я не это имел в виду»? С каждым бывало. Именно поэтому Hermes Agent теперь включает встроенную страховочную сетку: контрольные точки. Думайте о них как о точках сохранения в видеоигре — снимки вашего проекта, сделанные перед рискованными операциями, готовые к восстановлению одной командой.

Что такое контрольные точки?

Контрольные точки — это автоматические снимки вашего проекта, создаваемые перед разрушительными операциями. Если агент собирается удалить файлы, перезаписать код или выполнить рискованные команды в терминале, он сначала сохраняет текущее состояние. Позже вы можете откатиться к любому из этих снимков.

Самое приятное? История .git вашего реального проекта никогда не затрагивается. Hermes использует общее теневое хранилище в ~/.hermes/checkpoints/store/ — отдельный git-репозиторий, который держит всё организованным и дедуплицированным между проектами.

Начало работы: включение контрольных точек

Контрольные точки опциональны начиная с v2. Большинству пользователей они не нужны, а хранилище может расти со временем, поэтому по умолчанию они выключены.

Включение для одной сессии:

hermes chat --checkpoints

Или глобально в ~/.hermes/config.yaml:

checkpoints:
  enabled: true

Когда Hermes создаёт контрольную точку?

Hermes автоматически делает снимки перед:

  • Файловыми инструментамиwrite_file и patch
  • Разрушительными командами терминалаrm, rmdir, cp, install, mv, sed -i, truncate, dd, shred, перенаправлением вывода (>), а также git reset/clean/checkout

Не беспокойтесь о спаме — агент создаёт не более одной контрольной точки на директорию за ход, так что длинные сессии остаются чистыми.

Использование /rollback в сессии

Как только контрольные точки включены, вы получаете мощные слэш-команды прямо в чате:

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

Вот как выглядит список контрольных точек:

📸 Контрольные точки для /path/to/project:

  1. 4270a8c  2026-03-16 04:36  перед patch  (1 файл, +1/-0)
  2. eaf4c1f  2026-03-16 04:35  перед write_file
  3. b3f9d2e  2026-03-16 04:34  перед terminal: sed -i s/old/new/ config.py  (1 файл, +1/-1)

  /rollback <N>             восстановить контрольную точку N (сохраняет ваши ручные правки)
  /rollback <N> --all       полное восстановление, перезаписывает и ваши ручные правки
  /rollback diff <N>        предпросмотр изменений с контрольной точки N
  /rollback <N> <file>      восстановить один файл из контрольной точки N

Управление хранилищем из оболочки

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

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

Пример вывода:

База контрольных точек: /home/you/.hermes/checkpoints
Общий размер:      142.3 MB
  store/         138.1 MB
  legacy-*       4.2 MB
Проектов:        12

  WORKDIR                                                       COMMITS    LAST TOUCH  STATE
  /home/you/code/hermes-agent                                        20       2h ago  live
  /home/you/code/experiments/rl-runner                                8       1d ago  live
  /home/you/code/old-prototype                                        3       9d ago  orphan

Параметры конфигурации

Тонкая настройка контрольных точек в ~/.hermes/config.yaml:

checkpoints:
  enabled: false              # главный переключатель (по умолчанию: false)
  max_snapshots: 20           # максимум контрольных точек на проект
  max_total_size_mb: 500      # жёсткий лимит общего размера хранилища
  max_file_size_mb: 10        # пропускать файлы больше этого размера

  # Автообслуживание (включено по умолчанию)
  auto_prune: true
  retention_days: 7
  min_interval_hours: 24

Хотите отключить всё?

checkpoints:
  enabled: false
  auto_prune: false

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

Когда Hermes обнаруживает, что инструмент собирается изменить файлы, он:

  1. Определяет корень проекта для этого файла
  2. Инициализирует или переиспользует общее теневое хранилище
  3. Индексирует изменения, строит дерево и коммитит в ссылку проекта (refs/hermes/<project-hash>)

Эти ссылки формируют вашу историю контрольных точек, готовую к просмотру и восстановлению через /rollback.

Заключение

Контрольные точки дают вам спокойствие, когда вы позволяете агенту работать с вашим кодом. Экспериментируете ли вы, рефакторите или просто хотите страховку — /rollback прикроет вашу спину. Включите, забудьте и спите спокойно, зная, что всегда можно отменить.

Удачного кодинга — и помните, точки сохранения существуют не просто так!

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

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