Матрица настройки

Агент Гермес интегрируется с Matrix — открытым федеративным протоколом обмена сообщениями. Matrix позволяет вам запускать небольшой домашний сервер или использовать общедоступный, например, Matrix.org — в любом случае вы сохраните контроль над своими сообщениями. Бот используется через Python SDK mautrix, обрабатывает сообщения через конвейер Hermes Agent (включая использование инструментов, память и рассуждения) и отвечает в кратчайшие сроки. Он поддерживает текст, файлы приложений, изображения, аудио, видео и опциональное сквозное шифрование (E2EE).

Hermes работает с любым домашним сервером Matrix — Synapse, Conduit, Dendrite или Matrix.org.

Перед настройкой вот та часть, которую большинство людей хотят знать: как Гермес ведет себя после подключения.

Как Гермес себя ведёт

Контекст Поведение
Личные сообщения Гермес отвечает за каждое сообщение. Упоминание через @ не требуется. Каждое личное сообщение имеет свою сессию. Установите MATRIX_DM_MENTION_THREADS=true, чтобы создать ветку при упоминании бота через @ в личных сообщениях.
Комнаты По умолчанию Гермес требует упоминания через @ для ответа. Установите MATRIX_REQUIRE_MENTION=false или добавьте идентификатор комнаты в MATRIX_FREE_RESPONSE_ROOMS для комнаты со свободным ответом. Приглашения в комнаты принимаются автоматически.
Ветки Подставки Hermes ветки Matrix (MSC3440). Если вы отвечаете на ветку, Hermes изолирует контекст ветки от основного временного показателя комнаты. Ветки, в которых бот уже участвовал, не требуют упоминаний.
Автоматическое создание веток По умолчанию Гермес автоматически создает ветку для каждого сообщения, которая отвечает в комнате. Это изолирует разговоры. Установите MATRIX_AUTO_THREAD=false, чтобы отключить.
Общие комнаты с несколькими пользователями По умолчанию Гермес изолирует историю сеанса для каждого пользователя внутри комнаты. Два человека, разговаривающие в одной комнате, не делят одну стенограмму, если вы явно не отключите ее.
Бот автоматически присоединяется к комнатам по приглашению. Просто пригласите пользователя бота Matrix в любую комнату, и он присоединится и начнёт есть.
### Модель сессии в Матрице

По умолчанию:

Это контролируется в config.yaml:

group_sessions_per_user: true

Установите «false», только если вы явно хотите один общий разговор для всей комнаты:

group_sessions_per_user: false

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

Конфигурация упоминаний и веток

Вы можете использовать дублирование и создание рук через переменное окружение или config.yaml:

matrix:
  require_mention: true           # Требовать @упоминание в комнатах (по умолчанию: true)
  free_response_rooms:            # Комнаты, освобождённые от требования упоминания
    - "!abc123:matrix.org"
  auto_thread: true               # Автоматически создавать ветки для ответов (по умолчанию: true)
  dm_mention_threads: false       # Создавать ветку при @упоминании в личных сообщениях (по умолчанию: false)

Или через переменные окружения:

MATRIX_REQUIRE_MENTION=true
MATRIX_FREE_RESPONSE_ROOMS=!abc123:matrix.org,!def456:matrix.org
MATRIX_AUTO_THREAD=true
MATRIX_DM_MENTION_THREADS=false
MATRIX_REACTIONS=true          # по умолчанию: true — реакции эмодзи во время обработки
```<div class="admonition admonition-tip"><p class="admonition-title">💡 Tip</p> Отключение света
`MATRIX_REACTIONS=false` отключает Режим эмодзи жизненного цикла обработки (👀/ ✅/❌), который бот публикует во входящих сообщениях. Полезно для комнат, где события создают шум или не обращают внимания на всех присутствующих клиентов.::::::примечание
Если вы обновляетесь с версией, в которой не было `MATRIX_REQUIRE_MENTION`, предварительно проверьте все сообщения в комнатах. Чтобы убедиться в этом, установите `MATRIX_REQUIRE_MENTION=false`.</div>
Это руководство проведет вас через весь процесс настройки  от создания учетной записи бота до отправки первого сообщения.

## Шаг 1: Создайте учётную запись бота

Вам нужна учётная запись пользователя Matrix для бота. Есть несколько способов это сделать:

### Вариант A: Зарегистрируйтесь на своем домашнем сервере (рекомендуется)

Если вы запускаете свой домашний сервер (синапс, канал, дендрит):

1. Воспользуйтесь API администратора или инструментом регистрации для создания нового пользователя:
```bash
# Пример для Synapse
register_new_matrix_user -c /etc/synapse/homeserver.yaml http://localhost:8008
  1. Выберите имя пользователя, например hermes — полный идентификатор пользователя будет @hermes:your-server.org.

Вариант B: Используйте Matrix.org или другой публичный домашний сервер

  1. Перейдите в Element Web и создайте новую учётную запись.
  2. Выберите имя пользователя для вашего бота (например, hermes-bot).

Вариант C: Используйте свою собственную учётную запись

Вы также можете запустить Hermes от имени своего пользователя. Это означает, что бот публикует сообщения от вашего имени — полезно для финансовых ассистентов.

Шаг 2: Получение токена доступа

Гермесу нужен токен доступа для аутентификации на домашнем пространстве. У вас есть два телефона:

Вариант A: Доступ к токену (рекомендуется)

Самый надёжный способ получить токен:

Через Элемент: 1. Войдите в Element с учётной записью бота. 2. Перейдите в ** НастройкиСправка и о программе. 3. Прокрутите вниз и разверните Дополнительно — там отображается токен доступа. 4. Скопируйте его немедленно.**

Через API:

curl -X POST https://your-server/_matrix/client/v3/login \
  -H "Content-Type: application/json" \
  -d '{
    "type": "m.login.password",
    "user": "@hermes:your-server.org",
    "password": "your-password"
  }'

Ответ содержит поле access_token — скопируйте его.:::предупреждение[Храните токен доступа в безопасность] Токен доступа предоставляет полный доступ к учетной записи бота Matrix. Никогда не делитесь им публично и не сохраняйте в Git. В случае компрометации отзовите его, выйдя из всех сессий для этого пользователя.

Вариант Б: Вход по паролю

Вместо предоставления токена доступа вы можете указать идентификатор пользователя Hermes и пароль бота. Гермес автоматически войдёт в систему при запуске. Это проще, но означает, что пароль хранится в вашем файле .env.

MATRIX_USER_ID=@hermes:your-server.org
MATRIX_PASSWORD=your-password

Шаг 3: Найдите свой ID пользователя Matrix

Агент Гермес использует ваш идентификатор пользователя Matrix для контроля того, кто может взаимодействовать с ботом. Идентификатор пользователя Matrix имеет формат @имя:сервер.

Чтобы найти свой:

  1. Откройте Element (или предпочитаемую вами клиентскую матрицу).
  2. Нажмите на свой аватар → ** Настройки**.
  3. Ваш идентификатор пользователя отображается вверху профиля (например, @alice:matrix.org).:::совет Идентификатор пользователя Matrix всегда начинается с @ и содержит :, за которым следует имя сервера. Например: @alice:matrix.org, @bob:your-server.com.

Шаг 4: Настраиваем агент Гермес

Вариант A: Интерактивная настройка (рекомендуется)

Запустите команду пошаговой настройки:

hermes gateway setup

При получении запроса выберите Matrix, затем укажите URL-адрес домашнего сервера, токен доступа (или идентификатор пользователя + пароль) и разрешенные идентификаторы пользователей.

Вариант Б: Ручная настройка

Добавьте следующий файл ~/.hermes/.env:

При использовании токена доступа:

# Обязательно
MATRIX_HOMESERVER=https://matrix.example.org
MATRIX_ACCESS_TOKEN=***

# Опционально: ID пользователя (автоматически определяется из токена, если опущен)
# MATRIX_USER_ID=@hermes:matrix.example.org

# Безопасность: ограничьте, кто может взаимодействовать с ботом
MATRIX_ALLOWED_USERS=@alice:matrix.example.org

# Несколько разрешённых пользователей (через запятую)
# MATRIX_ALLOWED_USERS=@alice:matrix.example.org,@bob:matrix.example.org

При использовании входа по паролю:

# Обязательно
MATRIX_HOMESERVER=https://matrix.example.org
MATRIX_USER_ID=@hermes:matrix.example.org
MATRIX_PASSWORD=***

# Безопасность
MATRIX_ALLOWED_USERS=@alice:matrix.example.org

Дополнительные настройки поведения в ~/.hermes/config.yaml:

group_sessions_per_user: true

Запустить шлюз

После настройки запустите шлюз Matrix:

hermes gateway

Бот должен подключиться к вашему домашнему серверу и начать синхронизацию в течение нескольких секунд. Отправьте ему сообщение — либо в личные сообщения, либо в комнату, к которой он присоединился, — чтобы протестовать.:::совет Вы можете активировать «шлюз Гермеса» в фоновом режиме или как сервис systemd для постоянной работы. Подробнее см. в документации по развёртыванию.

Сквозное шифрование (E2EE)

Гермес поддерживает сквозное шифрование Матрицы, поэтому вы можете общаться с ботом в зашифрованных комнатах.

Требования

E2EE требует наличия библиотеки mautrix с расширениями для шифрования и C-библиотеки libolm:

# Установите mautrix с поддержкой E2EE
pip install 'mautrix[encryption]'

# Или установите с расширениями hermes
pip install 'hermes-agent[matrix]'

Также необходимо установить libolm в вашей системе:

# Debian/Ubuntu
sudo apt install libolm-dev

# macOS
brew install libolm

# Fedora
sudo dnf install libolm-devel

Включение E2EE

Добавьте в ~/.hermes/.env:

MATRIX_ENCRYPTION=true

Когда E2EE включено, Гермес:

Проверка перекрёстной почты (рекомендуется)

Если в вашу учётную запись Matrix включена перекрёстная подпись (по умолчанию в Element), установите ключ восстановления, чтобы бот мог подписать это устройство при запуске. Без этого другие клиенты Matrix могут делиться сессиями шифрования с ботом после ротации переключателя устройства.

MATRIX_RECOVERY_KEY=EsT... ваш ключ восстановления

Где найти: В элементе измерения в ** НастройкиБезопасность и конфиденциальностьШифрование** → ваш ключ восстановления (также называется «Ключ безопасности»). Этот ключ, который вы просили сохранить при первой настройке перекрёстной загрузки.

При каждом запуске, если установлен MATRIX_RECOVERY_KEY, Hermes импортирует ключи перекрёстной загрузки из защищённого хранилища секретов домашнего сервера и подписывает текущее устройство. Это идемпотентно и безопасно обеспечивает постоянное включение.

⚠️ Warning

[Удаление хранилища криптографии] Если вы удалите ~/.hermes/platforms/matrix/store/crypto.db, бот потеряет свою шифровальную идентичность. Простой перезапуск с тем же идентификатором устройства не приводит к полностью восстановленному — домашний сервер ещё всё хранит одноразовые ключи, подписанные старым ключом идентичности, и пиры не могут установить новый сеанс Olm.

Гермес обнаруживает это состояние при запуске и отказывается включать E2EE, записывая в журнал: устройство XXXX имеет устаревшие одноразовые ключи на сервере, подписанные предыдущим идентификационным ключом.

Самый простой способ восстановления: сгенерировать новый токен доступа (который дает новый идентификатор устройства без сохранения конфиденциальных ключей). См. раздел «Обновление с предыдущей версией с E2EE» ниже. Это самый надёжный путь и позволяет избежать изменений базы данных домашнего сервера.

Ручное восстановление (продвинутый — сохранить тот же ID устройства):

  1. Остановите Synapse и удалите старое устройство из его базы данных: bash sudo systemctl stop matrix-synapse sudo sqlite3 /var/lib/matrix-synapse/homeserver.db " DELETE FROM e2e_device_keys_json WHERE device_id = 'DEVICE_ID' AND user_id = '@hermes:your-server'; DELETE FROM e2e_one_time_keys_json WHERE device_id = 'DEVICE_ID' AND user_id = '@hermes:your-server'; DELETE FROM e2e_fallback_keys_json WHERE device_id = 'DEVICE_ID' AND user_id = '@hermes:your-server'; DELETE FROM devices WHERE device_id = 'DEVICE_ID' AND user_id = '@hermes:your-server'; " sudo systemctl start matrix-synapse Или через API администратора Synapse (обратите внимание на URL-кодированный идентификатор пользователя): bash curl -X DELETE -H "Authorization: Bearer ADMIN_TOKEN" \ 'https://your-server/_synapse/admin/v2/users/%40hermes%3Ayour-server/devices/DEVICE_ID' Примечание: удаление устройства через API администратора также может аннулировать связанный токен доступа. Возможно, потребуется создать новый токен.

  2. Удалите локальное хранилище криптографии и перезапустите Hermes: bash rm -f ~/.hermes/platforms/matrix/store/crypto.db* # перезапустите hermes Другие клиенты Matrix (Element, Matrix-Commander) могут кэшировать старые ключи устройства. После восстановления введите /discardsession в Element, чтобы создать новую сессию шифрования с ботом.::::::информация Если mautrix[encryption] не установлен или отсутствует libolm, бот автоматически переключается на обычный (незашифрованный) клиент. В логах готовится предупреждение.

Домашняя комната

Вы можете назначить «домашнюю комнату», куда бот будет отправлять проактивные сообщения (например, вывод задач cron, напоминания и уведомления). Есть два пути ее установки:

Использование слэш-команды

Введите /sethome в любой комнате Matrix, где присутствует бот. Эта комната становится уютной.

Ручная настройка

Добавьте это в ~/.hermes/.env:

MATRIX_HOME_ROOM=!abc123def456:matrix.example.org
```:::совет
Чтобы найти ID комнаты: в элементе измерения в комнате  ** Настройки**  **Дополнительно**  **Внутренний ID комнаты** отображается там (начинается с `!`).</div>
## Устранение неполадок

### Бот не отвечает на сообщения

**Причина**: Бот не присоединился к комнате, или `MATRIX_ALLOWED_USERS` не включает ваш идентификатор пользователя.

**Решение**: Пригласите бота в комнату  он автоматически присоединяется по приглашению. Убедитесь, что ваш идентификатор пользователя есть в `MATRIX_ALLOWED_USERS` (используйте полный формат `@user:server`). Перезапустите шлюз.

### «Ошибка аутентификации» / «Ошибка whoami» при запуске

**Причина**: Неверный токен доступа или URL-адрес домашнего сервера.

**Решение**: проверьте, что `MATRIX_HOMESERVER` указывает на вашем домашнем сервере (включая `https://`, без завершающего слеша). Убедитесь, что `MATRIX_ACCESS_TOKEN` действителен  форма с завитком:
```bash
curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://your-server/_matrix/client/v3/account/whoami

Если это вернет информацию о вашем пользователе, токен действителен. В случае ошибки создайте новый токен.

Ошибка «Маутрикс не установлен»

Причина: Пакет Python mautrix не установлен.

Решение: Установите его:

pip install 'mautrix[encryption]'

Или с расширениями Hermes:

pip install 'hermes-agent[matrix]'

Ошибки шифрования / "не удалось расшифровать событие"

Причина: Отсутствуют ключи шифрования, не установлен libolm или бота на устройстве не проверена.

Решение: 1. Убедитесь, что в вашей системе установлен libolm (см. раздел E2EE выше). 2. Убедитесь, что MATRIX_ENCRYPTION=true создан в вашем .env. 3. В вашем клиенте Матрица (Элемент) посмотрите в профиле бота -> Сессии -> подтвердите/доверьте устройство бота. 4. Если бот только что присоединился к зашифрованной комнате, он может расшифровать только сообщения, отправленные после его присоединения. Отсутствуют более старые сообщения.

Обновление с предыдущей версии с E2EE:::совет

Если вы также вручную удалили crypto.db, см. предупреждение «Удаление хранилища криптографии» в разделе E2EE — есть еще дополнительные шаги по очистке устаревших одноразовых ключей с верхнего домашнего сервера. Если вы ранее использовали Hermes с MATRIX_ENCRYPTION=true и обновляетесь до версии, используете новую криптографию хранилища на основе SQLite, идентичность шифрования бота изменилась. Ваш клиент Matrix (Element) может кэшировать старые ключи устройства и делиться сессиями шифрования с ботом.

Симптомы: Бот случайно и показывает «E2EE включен» в логах, но все сообщения отображают «не удалось расшифровать событие», и бот никогда не отвечает.

Что происходит: Старое состояние шифрования (от преобразования бэкенда matrix-nio или сериализационного mautrix) несовместимо с новыми хранилищами криптографии SQLite. Бот создаёт новую идентичность шифрования, но ваш клиент Matrix ещё всё имеет кэшированные старые ключи и не хочет делиться сессией шифрования комнаты с аккаунтом, чьи ключи изменились. Эта функция безопасности Matrix — клиенты считают изменённые ключи идентичности для тех же устройств подозрительными.

Решение (однократная миграция):

  1. Сгенерируйте новый токен доступа, чтобы получить новый идентификатор устройства. Самый простой способ: bash curl -X POST https://your-server/_matrix/client/v3/login \ -H "Content-Type: application/json" \ -d '{ "type": "m.login.password", "identifier": {"type": "m.id.user", "user": "@hermes:your-server.org"}, "password": "***", "initial_device_display_name": "Hermes Agent" }' Скопируйте новый access_token и обновите MATRIX_ACCESS_TOKEN в ~/.hermes/.env.

  2. Удалите старое состояние шифрования: bash rm -f ~/.hermes/platforms/matrix/store/crypto.db rm -f ~/.hermes/platforms/matrix/store/crypto_store.*

  3. Установите ключ восстановления (если вы используете перекрёстную подпись — большинство пользователей Element ее используют). Добавьте в ~/.hermes/.env: bash MATRIX_RECOVERY_KEY=EsT... ваш ключ восстановления Это позволяет боту закрывать ключи перекрёстной покупкой при запуске, так что Element сразу доверяет новому устройству. Без этого Element может считать новое устройство непроверенным и иметь долю сессий шифрования. Найдите ключ восстановления в Element: ** НастройкиБезопасность и конфиденциальностьШифрование**.

  4. Заставьте свой клиент Matrix сменить сессию шифрования. В элементе пропускания личные сообщения с ботом и введите /discardsession. Это заставит Element создать новую сессию шифрования и поделиться ею с новым устройством бота.

  5. Перезапустите шлюз: bash hermes gateway run Если установлен MATRIX_RECOVERY_KEY, вы должны просмотреть журналы Matrix: перекрестная подпись проверена с помощью ключа восстановления.

  6. Отправить новое сообщение. Бот должен расшифровать и ответить нормально.:::примечание После отправки сообщений, отправленные до обновления, не могут быть расшифрованы — старые ключи шифрования удалены. Это затрагивает только переходный период; новые сообщения работают нормально.::::::совет Новые установки не затрагиваются. Эта миграция нужна только в том случае, если у вас была рабочая настройка E2EE с предыдущей версией Hermes и вы обновляетесь.

Почему новый токен доступа? Каждый токен доступа Matrix соответствует конкретному идентификатору устройства. Повторное использование того же идентификатора устройства с новыми ключами шифрования позволяет другим клиентам Matrix не доверять устройству (они показывают изменённые ключи идентичности в качестве защиты нарушения безопасности). Новый токен доступа дает новое удостоверение личности устройства без сохранения конфиденциальных ключей, поэтому другие клиенты сразу же доверяют ему.

Режим прокси (E2EE на macOS)

Matrix E2EE требует libolm, который не компилируется в macOS ARM64 (Apple Silicon). Расширение hermes-agent[matrix] ограничено только Linux. Если вы используете macOS, режим прокси позволяет запустить E2EE в Docker-контейнере на виртуальной машине Linux, в то время как фактический агент работает изначально на macOS с полным доступом к вашим локальным файлам, памяти и навыкам.

Как это работает

macOS (Хост):
  └─ hermes gateway
       ├─ api_server адаптер ← слушает на 0.0.0.0:8642
       ├─ AIAgent ← единый источник правды
       ├─ Сессии, память, навыки
       └─ Локальный доступ к файлам (Obsidian, проекты и т.д.)

Linux VM (Docker):
  └─ hermes gateway (режим прокси)
       ├─ Matrix адаптер ← расшифровка/шифрование E2EE
       └─ HTTP-пересылка → macOS:8642/v1/chat/completions
           (никаких ключей API LLM, никакого агента, никакого вывода)

Docker-контейнер обрабатывает только протокол Matrix + E2EE. Когда приходит сообщение, он расшифровывает его и пересылает текст на хост через стандартный HTTP-запрос. Хост запускает агента, предъявляет инструменты, последовательно отвечает и передаёт его обратно. Контейнер шифрует и отправляет ответ в Matrix. Все сессии унифицированы — CLI, Matrix, Telegram и любая другая платформа делят одну и ту же память и историю разговоров.

Шаг 1: Настройка хоста (macOS)

Включите API сервера, чтобы хост принимал запросы от Docker-контейнера.

Добавьте в ~/.hermes/.env:

API_SERVER_ENABLED=true
API_SERVER_KEY=ваш-секретный-ключ-здесь
API_SERVER_HOST=0.0.0.0

Запустите шлюз:

hermes gateway

Вы должны увидеть запуск API сервера вместе с любыми другими настроенными платформами. Проверьте, что он доступен из ВМ:

# Из Linux VM
curl http://<mac-ip>:8642/health

Шаг 2: Настройка Docker-контейнера (Linux VM)

Контейнеру нужны учётные данные Matrix и URL-прокси. НЕ нужны ключи API LLM.

docker-compose.yml:

services:
  hermes-matrix:
    build:.
    environment:
      # Учётные данные Matrix
      MATRIX_HOMESERVER: "https://matrix.example.org"
      MATRIX_ACCESS_TOKEN: "syt_..."
      MATRIX_ALLOWED_USERS: "@you:matrix.example.org"
      MATRIX_ENCRYPTION: "true"
      MATRIX_DEVICE_ID: "HERMES_BOT"

      # Режим прокси — пересылка на хост-агента
      GATEWAY_PROXY_URL: "http://192.168.1.100:8642"
      GATEWAY_PROXY_KEY: "ваш-секретный-ключ-здесь"
    volumes:
      -./matrix-store:/root/.hermes/platforms/matrix/store

Dockerfile:

FROM python:3.11-slim

RUN apt-get update && apt-get install -y libolm-dev && rm -rf /var/lib/apt/lists/*
RUN pip install 'hermes-agent[matrix]'

CMD ["hermes", "gateway"]

Это весь контейнер. Никаких ключей API для OpenRouter, Anthropic или любого другого провайдера вывода.

Шаг 3: Запустите оба

  1. Сначала запустите хост-шлюз: bash hermes gateway
  2. Запустите Docker-контейнер: bash docker compose up -d

  3. Отправьте сообщение в зашифрованную комнату Matrix. Контейнер расшифровывает его, пересылает на хост и передаёт ответ обратно.

Справочник конфигурации

Режим прокси настраивается на стороне контейнера (тонкий шлюз):

Настройка Описание
GATEWAY_PROXY_URL URL удалённого сервера API Hermes (например, http://192.168.1.100:8642)
GATEWAY_PROXY_KEY Bearer-токен для аутентификации (должен совпадать с API_SERVER_KEY на хосте)
gateway.proxy_url То же, что GATEWAY_PROXY_URL, но в config.yaml

На стороне хоста нужно:

Настройка Описание
API_SERVER_ENABLED Установите true
API_SERVER_KEY Bearer-токен (общий с контейнером)
API_SERVER_HOST Установите 0.0.0.0 для доступа по сети
API_SERVER_PORT Номер порта (по умолчанию: 8642)

Работает для любой платформы

Режим прокси не ограничен Matrix. Любой адаптер платформы может его использовать — установите GATEWAY_PROXY_URL на любом экземпляре шлюза, и он будет пересылать запросы удалённому агенту вместо запуска локального. Это полезно для любых развёртываний, где адаптер платформы должен работать в среде, отличной от агента (сетевая изоляция, требования E2EE, ограничения ресурсов).

💡 Tip

Непрерывность сессии поддерживается через заголовок X-Hermes-Session-Id. Сервер API хоста отслеживает сессии по этому ID, поэтому разговоры сохраняются между сообщениями так же, как и с локальным агентом.:::

📝 Note

Ограничения (v1): Сообщения о прогрессе инструментов от удалённого агента не передаются обратно — пользователь видит только потоковый финальный ответ, а не отдельные вызовы инструментов. Запросы на подтверждение опасных команд обрабатываются на стороне хоста, не передаются пользователю Matrix. Это может быть исправлено в будущих обновлениях.

Проблемы синхронизации / бот отстаёт

Причина: Долгие выполнения инструментов могут задерживать цикл синхронизации, или домашний сервер медленный.

Решение: Цикл синхронизации автоматически повторяется каждые 5 секунд при ошибке. Проверьте логи Hermes на предмет предупреждений, связанных с синхронизацией. Если бот постоянно отстаёт, убедитесь, что ваш домашний сервер имеет достаточные ресурсы.

Бот не в сети

Причина: Шлюз Hermes не запущен, или не удалось подключиться.

Решение: Проверьте, работает ли hermes gateway. Посмотрите вывод терминала на наличие сообщений об ошибках. Частые проблемы: неверный URL домашнего сервера, истёкший токен доступа, домашний сервер недоступен.

"User not allowed" / Бот игнорирует вас

Причина: Ваш ID пользователя отсутствует в MATRIX_ALLOWED_USERS.

Решение: Добавьте свой ID пользователя в MATRIX_ALLOWED_USERS в ~/.hermes/.env и перезапустите шлюз. Используйте полный формат @user:сервер.

Безопасность

⚠️ Warning

Всегда устанавливайте MATRIX_ALLOWED_USERS, чтобы ограничить круг лиц, которые могут взаимодействовать с ботом. Без этого шлюз по умолчанию запрещает доступ всем пользователям в качестве меры безопасности. Добавляйте только ID пользователей, которым вы доверяете, — авторизованные пользователи имеют полный доступ к возможностям агента, включая использование инструментов и доступ к системе.

Для получения дополнительной информации о безопасности развёртывания Hermes Agent см. Руководство по безопасности.

Примечания