Обновление и удаление
Обновление
Заголовок раздела «Обновление»Обновить Hermes Agent до последней версии можно одной командой:
hermes updateКоманда подтягивает свежий код, обновляет зависимости и предлагает настроить новые параметры, которые появились с момента вашего последнего обновления.
Что происходит во время обновления
Заголовок раздела «Что происходит во время обновления»Когда вы запускаете hermes update, происходит следующее:
- Снимок pairing-data — сохраняется легковесный pre-update snapshot состояния. В него входят
~/.hermes/pairing/, правила комментариев Feishu и другие runtime-файлы состояния. Восстановиться можно через flow из Snapshots and rollback или распаковав последний quick-snapshot zip рядом с~/.hermes/. git pull— подтягивается свежий код из веткиmain, а также обновляются submodules.- Установка зависимостей — выполняется
uv pip install -e ".[all]", чтобы установить новые или изменившиеся зависимости. - Миграция конфигурации — обнаруживаются новые параметры
config, добавленные после вашей версии, и Hermes предлагает их настроить. - Автоперезапуск gateway — после обновления работающие gateway перезапускаются, чтобы новый код вступил в силу сразу. Gateway под управлением system service перезапускаются через service manager, а вручную запущенные gateway Hermes пытается поднять заново, если может сопоставить PID с профилем.
Режим только проверки: hermes update --check
Заголовок раздела «Режим только проверки: hermes update --check»Если нужно понять, отстаете ли вы от origin/main, но не тянуть код сразу, выполните hermes update --check. Команда делает fetch, показывает рядом ваш локальный commit и последний commit на remote, и завершает работу с кодом 0, если вы синхронизированы, или 1, если отстаете. Файлы не изменяются, gateway не перезапускается. Это удобно для скриптов и cron-задач.
Полный backup перед обновлением: --backup
Заголовок раздела «Полный backup перед обновлением: --backup»Для ценных профилей, например production gateway или shared team install, можно включить полный backup HERMES_HOME перед git pull:
hermes update --backupИли сделать это поведением по умолчанию:
updates: pre_update_backup: trueВ старых сборках --backup выполнялся всегда, но на больших HERMES_HOME это замедляло каждое обновление на минуты, поэтому теперь режим включается явно. При этом легкий snapshot pairing-data все равно создается всегда.
Ожидаемый вывод выглядит примерно так:
$ hermes updateUpdating 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 закрывает основной сценарий, но короткая post-update проверка помогает убедиться, что все обновилось чисто:
git status --short— если рабочее дерево неожиданно грязное, разберите это до продолжения работы.hermes doctor— проверяет config, зависимости и состояние сервисов.hermes --version— убедитесь, что версия действительно обновилась.- Если вы используете gateway:
hermes gateway status - Если
doctorсообщает о проблемахnpm audit, выполнитеnpm audit fixв указанной директории.
:::warning Dirty working tree after update
Если после hermes update команда git status --short показывает неожиданные изменения, остановитесь и разберите их. Обычно это означает, что поверх нового кода были повторно наложены локальные изменения или шаг установки зависимостей обновил lockfiles.
:::
Если терминал оборвался в процессе обновления
Заголовок раздела «Если терминал оборвался в процессе обновления»hermes update защищен от случайного разрыва терминала:
- Обновление игнорирует
SIGHUP, поэтому закрытие SSH-сессии или окна терминала не убивает процесс посреди установки. - Весь вывод дублируется в
~/.hermes/logs/update.log, пока выполняется обновление. Если терминал пропал, переподключитесь и проверьте лог:
tail -f ~/.hermes/logs/update.logCtrl-C(SIGINT) и завершение системы (SIGTERM) по-прежнему считаются намеренной отменой и обрабатываются как таковые.
Из-за этого больше не обязательно заворачивать hermes update в screen или tmux, чтобы пережить разрыв терминала.
Как проверить текущую версию
Заголовок раздела «Как проверить текущую версию»hermes versionСравнить ее можно с последним релизом на странице релизов GitHub.
Обновление из мессенджеров
Заголовок раздела «Обновление из мессенджеров»Обновить Hermes можно и напрямую из Telegram, Discord, Slack, WhatsApp или Teams, отправив:
/updateКоманда подтянет код, обновит зависимости и перезапустит работающие gateway. Во время перезапуска бот ненадолго уйдет офлайн, обычно на 5-15 секунд, а затем продолжит работу.
Ручное обновление
Заголовок раздела «Ручное обновление»Если Hermes установлен вручную, а не через быстрый установщик:
cd /path/to/hermes-agentexport VIRTUAL_ENV="$(pwd)/venv"
# Pull latest code and submodulesgit pull origin maingit submodule update --init --recursive
# Reinstall (picks up new dependencies)uv pip install -e ".[all]"uv pip install -e "./tinker-atropos"
# Check for new config optionshermes config checkhermes config migrate # Interactively add any missing optionsКак откатиться назад
Заголовок раздела «Как откатиться назад»Если обновление привело к проблемам, можно откатиться к предыдущей версии:
cd /path/to/hermes-agent
# List recent versionsgit log --oneline -10
# Roll back to a specific commitgit checkout <commit-hash>git submodule update --init --recursiveuv pip install -e ".[all]"
# Restart the gateway if runninghermes gateway restartОткат к конкретному release tag:
git checkout v0.6.0git submodule update --init --recursiveuv pip install -e ".[all]"После отката возможны несовместимости в конфигурации, если новые опции уже были добавлены. Выполните hermes config check и удалите нераспознанные параметры из config.yaml, если увидите ошибки.
Примечание для пользователей Nix
Заголовок раздела «Примечание для пользователей Nix»Если Hermes установлен через Nix flake, обновление выполняется средствами Nix:
# Update the flake inputnix flake update hermes-agent
# Or rebuild with the latestnix profile upgrade hermes-agentУстановки через Nix неизменяемы, поэтому откат выполняется через систему generations:
nix profile rollbackПодробности смотрите в Nix Setup.
Удаление
Заголовок раздела «Удаление»hermes uninstallДеинсталлятор предложит сохранить ваши конфигурационные файлы ~/.hermes/, если вы хотите переустановить Hermes позже.
Ручное удаление
Заголовок раздела «Ручное удаление»rm -f ~/.local/bin/hermesrm -rf /path/to/hermes-agentrm -rf ~/.hermes # Optional — keep if you plan to reinstallЕсли gateway был установлен как system service, сначала остановите и отключите его:
hermes gateway stop# Linux: systemctl --user disable hermes-gateway# macOS: launchctl remove ai.hermes.gateway