Обновление и удаление
Обновление
Обновите до последней версии одной командой:
hermes update
Эта команда загружает последний код, обновляет зависимости и предлагает настроить новые параметры, добавленные с момента последнего обновления.
hermes update автоматически обнаруживает новые параметры конфигурации и предлагает их добавить. Если вы пропустили это предложение, вы можете вручную выполнить hermes config check для просмотра отсутствующих параметров, а затем hermes config migrate для их интерактивного добавления.
Что происходит во время обновления
При выполнении hermes update происходят следующие шаги:
-
Снимок данных связывания (pairing-data) — создаётся облегчённый снимок состояния до обновления (охватывает
~/.hermes/pairing/, правила комментариев Feishu и другие файлы состояния, изменяемые во время выполнения). Восстановление возможно через процесс восстановления снимков, описанный в разделе Снимки и откат, или путём извлечения последнего быстрого zip-снимка, который Hermes записывает рядом с вашим каталогом~/.hermes/. -
Git pull — загружает последний код из ветки
mainи обновляет подмодули -
Установка зависимостей — выполняет
uv pip install -e ".[all]"для добавления новых или обновлённых зависимостей -
Миграция конфигурации — обнаруживает новые параметры конфигурации, добавленные с момента вашей версии, и предлагает их настроить
-
Автоматический перезапуск gateway — запущенные gateway обновляются после завершения обновления, чтобы новый код вступил в силу немедленно. Gateway, управляемые службами (systemd на Linux, launchd на macOS), перезапускаются через менеджер служб. Ручные gateway перезапускаются автоматически, когда Hermes может сопоставить запущенный PID с профилем.
Только просмотр: hermes update --check
Хотите узнать, отстаёте ли вы от origin/main перед фактической загрузкой? Выполните hermes update --check — он получает данные, выводит ваш локальный коммит и последний удалённый коммит рядом и завершается с кодом 0, если синхронизированы, или 1, если отстаёте. Никакие файлы не изменяются, gateway не перезапускается. Полезно в скриптах и cron-задачах, которые проверяют «есть ли обновление».
Полное резервное копирование перед обновлением: --backup
Для ценных профилей (продакшен gateway, общие командные установки) вы можете включить полное резервное копирование HERMES_HOME перед загрузкой (конфигурация, аутентификация, сессии, навыки, связывание):
hermes update --backup
Или сделайте это поведением по умолчанию для каждого запуска:
# ~/.hermes/config.yaml
updates:
pre_update_backup: true
--backup был поведением по умолчанию в ранних сборках, но это добавляло минуты к каждому обновлению в больших окружениях, поэтому теперь он опционален. Облегчённый снимок данных связывания, описанный выше, по-прежнему выполняется безусловно.
Ожидаемый вывод выглядит так:
$ hermes update
Updating Hermes Agent...
📥 Pulling latest code...
Already up to date. (or: Updating abc1234..def5678)
📦 Updating dependencies...
✅ Dependencies updated
🔍 Checking for new config options...
✅ Config is up to date (or: Found 2 new options — running migration...)
🔄 Restarting gateways...
✅ Gateway restarted
✅ Hermes Agent updated successfully!
Рекомендуемая проверка после обновления
hermes update выполняет основной путь обновления, но быстрая проверка подтверждает, что всё прошло чисто:
-
git status --short— если дерево неожиданно грязное, проверьте перед продолжением -
hermes doctor— проверяет конфигурацию, зависимости и работоспособность служб -
hermes --version— убедитесь, что версия обновилась как ожидалось -
Если вы используете gateway:
hermes gateway status -
Если
doctorсообщает о проблемах npm audit: выполнитеnpm audit fixв указанном каталоге