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

Обновление

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

hermes update

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

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

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

  1. Снимок данных сопряжения — сохраняется облегченный снимок состояния перед обновлением (охватывает ~/.hermes/pairing/, правила комментариев Feishu и другие файлы состояния, которые изменяются во время выполнения). Можно восстановить с помощью процедуры восстановления моментального снимка, описанной в разделе [Снимки и откат] (../user-guide/checkpoints-and-rollback.md), или путем извлечения самого последнего ZIP-архива быстрого снимка, который Гермес написал рядом с вашим каталогом ~/.hermes/.
  2. Git pull — извлекает последний код из ветки main и обновляет подмодули.
  3. Dependency install — запускает 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
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 обрабатывает основной путь обновления, но быстрая проверка подтверждает, что все выполнено правильно:

  1. git status --short — если дерево неожиданно грязное, проверьте его, прежде чем продолжить.
  2. hermes Doctor — проверяет конфигурацию, зависимости и работоспособность сервисов.
  3. hermes --version — подтвердить, что версия обновлена как положено.
  4. Если вы используете шлюз: Состояние шлюза Гермес
  5. Если «доктор» сообщает о проблемах с аудитом npm: запустите «npm Audit fix» в помеченном каталоге.:::предупреждение Грязное рабочее дерево после обновления Если git status --short показывает неожиданные изменения после hermes update, остановитесь и проверьте их, прежде чем продолжить. Обычно это означает, что локальные изменения были повторно применены поверх обновленного кода или на этапе зависимости были обновлены файлы блокировки.

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

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

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

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

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

hermes version

Сравните с последней версией на [странице выпусков GitHub] (https://github.com/NousResearch/hermes-agent/releases).

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

Вы также можете обновиться непосредственно из 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.yaml, если возникнут ошибки.</div>
### Примечание для пользователей Nix

Если вы установили через Nix Flake, обновления управляются через менеджер пакетов Nix:
```bash
# 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/) для будущей переустановки.

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

bash rm -f ~/.local/bin/hermes rm -rf /path/to/hermes-agent rm -rf ~/.hermes # Optional — keep if you plan to reinstall:::информация Если вы установили шлюз как системную службу, сначала остановите и отключите его: ```bash hermes gateway stop

Linux: systemctl --user disable hermes-gateway

macOS: launchctl remove ai.hermes.gateway

```