🤖HermesBlog
Платформы Обмена Сообщениями Hermes · Часть 278/9/2026

Hermes Relay — Подключение Инстансов

Hermes Relay — Подключение Инстансов — понятное руководство на основе официальной документации

Представьте Hermes Relay как телефонную будку, которая перезванивает вам — вам не нужно сообщать свой домашний адрес, вы просто один раз набираете номер, и другая сторона может связаться с вами в любое время через эту же линию.


messaging-relay

Что такое Hermes Relay?

Hermes Relay — это система-коннектор для шлюза Hermes Agent. Она позволяет вашему шлюзу общаться с такими мессенджерами, как Discord, Telegram или Slack, не храня их токены ботов или пароли.

Вместо этого отдельный сервис (сам «коннектор») владеет этими учетными данными. Ваш шлюз просто устанавливает исходящее соединение с коннектором через единое защищенное WebSocket-соединение — и затем все сообщения передаются в обе стороны через этот один открытый канал.


Зачем это нужно?

Вот основные преимущества простыми словами:

  • Не нужны открытые порты. Ваш шлюз работает даже за домашним роутером или облачным файрволом. Он устанавливает только исходящие соединения, так что вам не нужно ничего открывать для доступа из интернета.
  • Никаких секретов ботов на вашей машине. Коннектор хранит все токены платформ. Если ваш шлюз украдут, злоумышленник не получит ничего полезного.
  • Один шлюз — много платформ. В момент подключения коннектор сообщает вашему шлюзу о своих возможностях (длина сообщения, markdown, редактирование, треды и т.д.). Никаких жестко прописанных правил — просто адаптация.

Когда это использовать: Если вы запускаете своих собственных ботов напрямую, пропустите Relay и используйте нативные адаптеры (Telegram, Discord). Relay предназначен для схем, где общий или хостируемый коннектор управляет стороной платформы — например, при мультитенантном хостинге или когда вы просто не хотите хранить токены на своем сервере.


Как зарегистрировать ваш шлюз

Регистрация — это разовая настройка. Вы выполняете одну команду, а Hermes сделает все остальное.

Сначала убедитесь, что у вас есть токен регистрации (выпущенный вашим провайдером коннектора). Затем выполните:

hermes gateway enroll \
  --token <enrollment-token> \
  --connector-url wss://connector.example.com/relay

Вот что происходит шаг за шагом:

  1. Hermes проверяет ваш существующий логин (~/.hermes/auth.json), чтобы подтвердить, к какой организации вы относитесь.
  2. Если вы настроили собственного провайдера идентификации (для изолированных или самостоятельно размещенных сред), используется он.
  3. Токен регистрации отправляется на конечную точку /relay/enroll коннектора через TLS.
  4. Коннектор проверяет, что токен действителен, одноразовый и соответствует вашему тенанту.
  5. Затем он выпускает секрет для конкретного шлюза и ключ доставки — и возвращает их один раз.
  6. Hermes сохраняет их в ~/.hermes/.env:
GATEWAY_RELAY_ID
GATEWAY_RELAY_SECRET
GATEWAY_RELAY_DELIVERY_KEY

Вот и все. Теперь ваш шлюз «зарегистрирован» и может устанавливать исходящее соединение с коннектором, когда это необходимо.


Что происходит дальше?

После регистрации ваш шлюз будет:

  • Устанавливать исходящее соединение с указанным URL коннектора
  • Получать описание возможностей (что умеет внешняя платформа)
  • Начинать обмен нормализованными сообщениями и действиями через этот же сокет

Никаких входящих портов, никаких дополнительных учетных данных, никакого кода, зависящего от платформы.


Резюме и практический совет

Резюме: Hermes Relay — это чистый способ подключить ваш шлюз к мессенджерам, не владея их учетными данными и не открывая порты. Он идеально подходит для общего хостинга, сред за NAT или любых схем, где вы хотите держать секреты подальше от основной машины.

Практический совет: Всегда делайте ваш токен регистрации одноразовым и недолговечным. Если вам когда-нибудь понадобится сменить учетные данные, просто повторно выполните команду регистрации с новым токеном — и не забудьте удалить старый GATEWAY_RELAY_SECRET из вашего файла .env перед обновлением. Немного гигиены — и все работает как часы.


📖 Официальная документация

Эта статья основана на официальной документации Hermes Agent :Официальные документы › user-guide/messaging/relay