sidebar_position: 3
title: "Updating & Uninstalling"
description: "How to update Hermes Agent to the latest version or uninstall it"
lang: ru
Обновление и удаление
Обновление
Обновитесь до последней версии с помощью одной команды:
hermesupdate
При этом извлекается последний код, обновляются зависимости и предлагается настроить любые новые параметры, добавленные с момента вашего последнего обновления.
:::совет
hermes update автоматически обнаруживает новые параметры конфигурации и предлагает вам их добавить. Если вы пропустили это приглашение, вы можете вручную запустить hermes config check, чтобы просмотреть отсутствующие параметры, а затем hermes config migrate, чтобы добавить их в интерактивном режиме.
Что происходит во время обновления
При запуске hermes update происходят следующие шаги:
Снимок данных сопряжения — сохраняется упрощенный снимок состояния перед обновлением (охватывает ~/.hermes/pairing/, правила комментариев Feishu и другие файлы состояния, которые изменяются во время выполнения). Возможен откат через hermes backup restore --state pre-update.
Git pull — извлекает последний код из ветки main и обновляет подмодули.
Установка зависимостей — запускает uv pip install -e ".[all]" для получения новых или измененных зависимостей.
Миграция конфигурации — обнаруживает новые параметры конфигурации, добавленные после вашей версии, и предлагает вам их установить.
Автоперезапуск шлюза — работающие шлюзы обновляются после завершения обновления, поэтому новый код вступает в силу немедленно. Шлюзы, управляемые службами (systemd в Linux, launchd в macOS), перезапускаются через диспетчер служб. Ручные шлюзы перезапускаются автоматически, когда Hermes может сопоставить работающий PID обратно с профилем.
Только предварительный просмотр: hermes update --check
Хотите знать, находитесь ли вы позади origin/main, прежде чем начать тянуть? Запустите hermes update --check — он извлекает, печатает локальную фиксацию и последнюю удаленную фиксацию рядом и завершает работу 0, если она синхронизирована, или 1, если она отстает. Никакие файлы не изменяются, ни один шлюз не перезапускается. Полезно в сценариях и заданиях cron, определяющих «есть ли обновление».
Полная резервная копия перед обновлением: --backup
Для важных профилей (производственные шлюзы, общие групповые установки) вы можете выбрать полное предварительное резервное копирование HERMES_HOME (конфигурация, аутентификация, сеансы, навыки, сопряжение):
hermesupdate--backup
Или сделайте его значением по умолчанию для каждого запуска:
# ~/.hermes/config.yamlupdate:backup:true
--backup было постоянным поведением в более ранних сборках, но к каждому обновлению в больших домах добавлялось несколько минут, поэтому теперь оно включено. Облегченный снимок данных о сопряжении, приведенный выше, по-прежнему работает без каких-либо условий.
hermes update обрабатывает основной путь обновления, но быстрая проверка подтверждает, что все выполнено правильно:
git status --short — если дерево неожиданно испачкалось, осмотрите его, прежде чем продолжить.
hermes doctor — проверяет конфигурацию, зависимости и работоспособность сервисов.
hermes --version — подтвердите, что версия обновлена как положено.
Если вы используете шлюз: hermes gateway status
Если doctor сообщает о проблемах аудита npm: запустите npm audit fix в помеченном каталоге.
:::предупреждение Грязное рабочее дерево после обновления
Если git status --short показывает неожиданные изменения после hermes update, остановитесь и проверьте их, прежде чем продолжить. Обычно это означает, что локальные изменения были повторно применены поверх обновленного кода или на этапе зависимости были обновлены файлы блокировки.
Если ваш терминал отключается во время обновления
hermes update защищает себя от случайной потери терминала:
Обновление игнорирует SIGHUP, поэтому закрытие сеанса SSH или окна терминала больше не уничтожает его в середине установки. Дочерние процессы pip и git наследуют эту защиту, поэтому среду Python нельзя оставить наполовину установленной из-за разрыва соединения.
Весь вывод зеркалируется на ~/.hermes/logs/update.log во время выполнения обновления. Если ваш терминал исчез, переподключитесь и проверьте журнал, чтобы узнать, завершилось ли обновление и успешен ли перезапуск шлюза:
tail-f~/.hermes/logs/update.log
Ctrl-C (SIGINT) и отключение системы (SIGTERM) по-прежнему учитываются — это преднамеренные отмены, а не несчастные случаи.
Вам больше не нужно заворачивать hermes update в screen или tmux, чтобы пережить падение терминала.
Вы также можете обновиться непосредственно из Telegram, Discord, Slack, WhatsApp или Teams, отправив:
/update
При этом извлекается последний код, обновляются зависимости и перезапускается работающие шлюзы. Во время перезапуска бот ненадолго отключится от сети (обычно 5–15 секунд), а затем возобновит работу.
Обновление вручную
Если вы устанавливали вручную (не через быстрый установщик):
cd/path/to/hermes-agent
exportVIRTUAL_ENV="$(pwd)/venv"# Pull latest code and submodules
gitpulloriginmain
gitsubmoduleupdate--init--recursive
# Reinstall (picks up new dependencies)
uvpipinstall-e".[all]"
uvpipinstall-e"./tinker-atropos"# Check for new config options
hermesconfigcheck
hermesconfigmigrate# Interactively add any missing options
Инструкции по откату
Если обновление создает проблему, вы можете вернуться к предыдущей версии:
cd/path/to/hermes-agent
# List recent versions
gitlog--oneline-10
# Roll back to a specific commit
gitcheckout<commit-hash>
gitsubmoduleupdate--init--recursive
uvpipinstall-e".[all]"# Restart the gateway if running
hermesgatewayrestart
:::предупреждение
Откат может привести к несовместимости конфигурации, если были добавлены новые параметры. Запустите hermes config check после отката и удалите все нераспознанные параметры из config.yaml, если возникнут ошибки.
Примечание для пользователей Nix
Если вы установили через Nix Flake, обновления управляются через менеджер пакетов Nix:
# Update the flake input
nixflakeupdatehermes-agent
# Or rebuild with the latest
nixprofileupgradehermes-agent
Установки Nix неизменяемы — откат осуществляется системой генерации Nix:
nixprofilerollback
Дополнительные сведения см. в разделе Настройка Nix.
Удаление
hermesuninstall
Программа удаления дает вам возможность сохранить файлы конфигурации (~/.hermes/) для будущей переустановки.
Удаление вручную
rm-f~/.local/bin/hermes
rm-rf/path/to/hermes-agent
rm-rf~/.hermes# Optional — keep if you plan to reinstall
:::информация
Если вы установили шлюз как системную службу, сначала остановите и отключите его: