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

Режим обратного вызова WeCom — Пользовательские приложения

Режим обратного вызова WeCom — Пользовательские приложения — простое для понимания руководство на основе официальной документации

Представьте, что вы настраиваете выделенный офисный почтовый ящик для вашего ИИ-ассистента — вместо того, чтобы он прятался в групповых чатах, вы даёте ему собственный стол, к которому люди могут подходить и оставлять сообщения напрямую.

messaging-wecom-callback

В чём главное отличие?

Hermes Agent предлагает два способа подключения WeCom (корпоративного WeChat). Режим бота — это как дружелюбный ассистент, который заходит в групповые чаты: быстро настраивается, но ограничен в возможностях. Callback-режим — другое дело: вы создаёте собственное приложение, которое появляется в боковой панели WeCom у ваших сотрудников, как любое официальное приложение. Оно выглядит как родное, поддерживает несколько компаний и безопасно обрабатывает зашифрованные сообщения.

В чём компромисс? Вам понадобится публичный сервер для приёма сообщений. Но не переживайте — для тестирования вполне подойдёт простой туннель вроде ngrok.


Как это работает на самом деле

Вот весь процесс простыми словами:

  1. Кто-то отправляет сообщение вашему приложению в WeCom.
  2. WeCom шифрует это сообщение и отправляет его на HTTP-эндпоинт вашего сервера.
  3. Hermes расшифровывает его, ставит в очередь для ИИ-агента и сразу же отвечает WeCom «получил» (молча — пользователь пока ничего не видит).
  4. Агент думает от 3 до 30 минут (в зависимости от задачи).
  5. Hermes отправляет ответ обратно в инициативном порядке, используя API сообщений WeCom.

Никакого опроса. Никаких задержек. Просто чистый, асинхронный диалог.


Пошаговая настройка

1. Создайте приложение в админ-консоли WeCom

Войдите в админ-консоль WeCom, перейдите в раздел Приложения → Создать приложение.
Запишите ваш Corp ID (вверху консоли) и создайте Corp Secret.
На странице обзора приложения возьмите Agent ID.

В разделе Получение сообщений настройте:

  • URL: http://YOUR_PUBLIC_IP:8645/wecom/callback
  • Token: сгенерируйте случайный
  • EncodingAESKey: сгенерируйте ключ из 43 символов

2. Задайте переменные окружения

Добавьте их в ваш файл .env:

WECOM_CALLBACK_CORP_ID = your-corp-id
WECOM_CALLBACK_CORP_SECRET = your-corp-secret
WECOM_CALLBACK_AGENT_ID = 1000002
WECOM_CALLBACK_TOKEN = your-callback-token
WECOM_CALLBACK_ENCODING_AES_KEY = your-43-char-aes-key

# Необязательно
WECOM_CALLBACK_PORT = 8645
WECOM_CALLBACK_ALLOWED_USERS = user1,user2

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

hermes gateway

Примечание: Используйте hermes gateway start только после того, как выполните hermes gateway install для регистрации службы.

Callback-адаптер запускает HTTP-сервер на порту 8645. WeCom проверит URL через GET-запрос, а затем начнёт отправлять сообщения через POST.


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

Вы также можете задать эти параметры в config.yaml в разделе platforms.wecom_callback.extra:

Параметр По умолчанию Описание
corp_id Обязательно. Ваш Corp ID в WeCom
corp_secret Обязательно. Секрет приложения
agent_id Обязательно. Agent ID вашего приложения
token Обязательно. Токен проверки callback
encoding_aes_key Обязательно. AES-ключ из 43 символов
host не задан (dual-stack) Адрес привязки для HTTP-сервера
port 8645 Порт для callback-сервера

Подводим итоги

Callback-режим WeCom — это «официальный» способ интеграции Hermes в ваш корпоративный рабочий процесс. Настройка требует больше усилий, чем бот, но результат — это отполированный, первоклассный опыт использования приложения для ваших пользователей.

Практический совет: Начните с ngrok, прежде чем открывать доступ к реальному серверу. Запустите ngrok http 8645, используйте этот URL в консоли WeCom и протестируйте с одним пользователем. Как только всё заработает, переключайтесь на production-сервер и ограничьте WECOM_CALLBACK_ALLOWED_USERS вашей командой. Удачной разработки!


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

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