sidebar_position: 3 title: "Updating & Uninstalling" description: "How to update Hermes Agent to the latest version or uninstall it" lang: ru


Обновление и удаление

Обновление

Обновитесь до последней версии с помощью одной команды:

hermes update

При этом извлекается последний код, обновляются зависимости и предлагается настроить любые новые параметры, добавленные с момента вашего последнего обновления.

:::совет hermes update автоматически обнаруживает новые параметры конфигурации и предлагает вам их добавить. Если вы пропустили это приглашение, вы можете вручную запустить hermes config check, чтобы просмотреть отсутствующие параметры, а затем hermes config migrate, чтобы добавить их в интерактивном режиме.

Что происходит во время обновления

При запуске hermes update происходят следующие шаги:

  1. Снимок данных сопряжения — сохраняется упрощенный снимок состояния перед обновлением (охватывает ~/.hermes/pairing/, правила комментариев Feishu и другие файлы состояния, которые изменяются во время выполнения). Возможен откат через hermes backup restore --state pre-update.
  2. Git pull — извлекает последний код из ветки main и обновляет подмодули.
  3. Установка зависимостей — запускает uv pip install -e ".[all]" для получения новых или измененных зависимостей.
  4. Миграция конфигурации — обнаруживает новые параметры конфигурации, добавленные после вашей версии, и предлагает вам их установить.
  5. Автоперезапуск шлюза — работающие шлюзы обновляются после завершения обновления, поэтому новый код вступает в силу немедленно. Шлюзы, управляемые службами (systemd в Linux, launchd в macOS), перезапускаются через диспетчер служб. Ручные шлюзы перезапускаются автоматически, когда Hermes может сопоставить работающий PID обратно с профилем.

Только предварительный просмотр: hermes update --check

Хотите знать, находитесь ли вы позади origin/main, прежде чем начать тянуть? Запустите hermes update --check — он извлекает, печатает локальную фиксацию и последнюю удаленную фиксацию рядом и завершает работу 0, если она синхронизирована, или 1, если она отстает. Никакие файлы не изменяются, ни один шлюз не перезапускается. Полезно в сценариях и заданиях cron, определяющих «есть ли обновление».

Полная резервная копия перед обновлением: --backup

Для важных профилей (производственные шлюзы, общие групповые установки) вы можете выбрать полное предварительное резервное копирование HERMES_HOME (конфигурация, аутентификация, сеансы, навыки, сопряжение):

hermes update --backup

Или сделайте его значением по умолчанию для каждого запуска:

# ~/.hermes/config.yaml
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 обрабатывает основной путь обновления, но быстрая проверка подтверждает, что все выполнено правильно:

  1. git status --short — если дерево неожиданно испачкалось, осмотрите его, прежде чем продолжить.
  2. hermes doctor — проверяет конфигурацию, зависимости и работоспособность сервисов.
  3. hermes --version — подтвердите, что версия обновлена как положено.
  4. Если вы используете шлюз: hermes gateway status
  5. Если doctor сообщает о проблемах аудита npm: запустите npm audit fix в помеченном каталоге.

:::предупреждение Грязное рабочее дерево после обновления Если git status --short показывает неожиданные изменения после hermes update, остановитесь и проверьте их, прежде чем продолжить. Обычно это означает, что локальные изменения были повторно применены поверх обновленного кода или на этапе зависимости были обновлены файлы блокировки.

Если ваш терминал отключается во время обновления

hermes update защищает себя от случайной потери терминала:

tail -f ~/.hermes/logs/update.log

Вам больше не нужно заворачивать hermes update в screen или tmux, чтобы пережить падение терминала.

Проверка текущей версии

hermes version

Сравните с последней версией на странице выпусков GitHub.

Обновление с платформ обмена сообщениями

Вы также можете обновиться непосредственно из Telegram, Discord, Slack, WhatsApp или Teams, отправив:

/update

При этом извлекается последний код, обновляются зависимости и перезапускается работающие шлюзы. Во время перезапуска бот ненадолго отключится от сети (обычно 5–15 секунд), а затем возобновит работу.

Обновление вручную

Если вы устанавливали вручную (не через быстрый установщик):

cd /path/to/hermes-agent
export VIRTUAL_ENV="$(pwd)/venv"

# Pull latest code and submodules
git pull origin main
git submodule update --init --recursive

# Reinstall (picks up new dependencies)
uv pip install -e ".[all]"
uv pip install -e "./tinker-atropos"

# Check for new config options
hermes config check
hermes config migrate   # Interactively add any missing options

Инструкции по откату

Если обновление создает проблему, вы можете вернуться к предыдущей версии:

cd /path/to/hermes-agent

# List recent versions
git log --oneline -10

# Roll back to a specific commit
git checkout <commit-hash>
git submodule update --init --recursive
uv pip install -e ".[all]"

# Restart the gateway if running
hermes gateway restart

Чтобы вернуться к определенному тегу выпуска:

git checkout v0.6.0
git submodule update --init --recursive
uv pip install -e ".[all]"

:::предупреждение Откат может привести к несовместимости конфигурации, если были добавлены новые параметры. Запустите hermes config check после отката и удалите все нераспознанные параметры из config.yaml, если возникнут ошибки.

Примечание для пользователей Nix

Если вы установили через Nix Flake, обновления управляются через менеджер пакетов Nix:

# Update the flake input
nix flake update hermes-agent

# Or rebuild with the latest
nix profile upgrade hermes-agent

Установки Nix неизменяемы — откат осуществляется системой генерации Nix:

nix profile rollback

Дополнительные сведения см. в разделе Настройка Nix.


Удаление

hermes uninstall

Программа удаления дает вам возможность сохранить файлы конфигурации (~/.hermes/) для будущей переустановки.

Удаление вручную

rm -f ~/.local/bin/hermes
rm -rf /path/to/hermes-agent
rm -rf ~/.hermes            # Optional — keep if you plan to reinstall

:::информация Если вы установили шлюз как системную службу, сначала остановите и отключите его:

hermes gateway stop
# Linux: systemctl --user disable hermes-gateway
# macOS: launchctl remove ai.hermes.gateway