sidebar_position: 16
title: "Yuanbao"
description: "Connect Hermes Agent to the Yuanbao enterprise messaging platform via WebSocket gateway"
lang: ru
Юаньбао
Подключите Hermes к Yuanbao, корпоративной платформе обмена сообщениями Tencent. Адаптер использует шлюз WebSocket для доставки сообщений в реальном времени и поддерживает как прямые (C2C), так и групповые разговоры.
:::информация
Yuanbao — это корпоративная платформа обмена сообщениями, которая в основном используется в Tencent и корпоративных средах. Он использует WebSocket для связи в реальном времени, аутентификацию на основе HMAC и поддерживает мультимедийные файлы, включая изображения, файлы и голосовые сообщения.
Предварительные условия
Учетная запись Yuanbao с разрешениями на создание ботов.
Yuanbao APP_ID и APP_SECRET (от администратора платформы)
В приложении перейдите в PAI → Мой бот и создайте нового бота.
После создания бота скопируйте APP_ID и APP_SECRET.
2. Запустите мастер установки
Самый простой способ настроить Yuanbao — через интерактивную настройку:
hermesgatewaysetup
При появлении запроса выберите Юаньбао. Мастер:
Запросите свой APP_ID
Попросите свой APP_SECRET.
Автоматическое сохранение конфигурации.
:::совет
URL-адрес WebSocket и домен API имеют разумные встроенные значения по умолчанию. Для начала вам нужно только указать APP_ID и APP_SECRET.
3. Настройка переменных среды
После первоначальной настройки проверьте эти переменные в ~/.hermes/.env:
# RequiredYUANBAO_APP_ID=your-app-id
YUANBAO_APP_SECRET=your-app-secret
YUANBAO_WS_URL=wss://api.yuanbao.example.com/ws
YUANBAO_API_DOMAIN=https://api.yuanbao.example.com
# Optional: bot account ID (normally obtained automatically from sign-token)# YUANBAO_BOT_ID=your-bot-id# Optional: internal routing environment (e.g. test/staging/production)# YUANBAO_ROUTE_ENV=production# Optional: home channel for cron/notifications (format: direct:<account> or group:<group_code>)YUANBAO_HOME_CHANNEL=direct:bot_account_id
YUANBAO_HOME_CHANNEL_NAME="Bot Notifications"# Optional: restrict access (legacy, see Access Control below for fine-grained policies)YUANBAO_ALLOWED_USERS=user_account_1,user_account_2
4. Запустите шлюз
hermesgateway
Адаптер подключится к шлюзу Yuanbao WebSocket, пройдет аутентификацию с использованием подписей HMAC и начнет обработку сообщений.
Особенности
Шлюз WebSocket — двунаправленная связь в реальном времени.
Аутентификация HMAC — безопасная подпись запроса с помощью APP_ID/APP_SECRET.
– Обмен сообщениями C2C – прямое общение между пользователем и ботом.
Групповые сообщения — общение в групповых чатах.
Поддержка мультимедиа — изображения, файлы и голосовые сообщения через COS (облачное хранилище объектов).
Форматирование Markdown — сообщения автоматически разбиваются на части в соответствии с ограничениями Yuanbao по размеру.
Дедупликация сообщений — предотвращает повторную обработку одного и того же сообщения.
Heartbeat/keep-alive — поддерживает стабильность соединения WebSocket.
Индикаторы ввода — показывают статус «ввод…» во время обработки агентом.
Автоматическое переподключение — обрабатывает отключения WebSocket с экспоненциальной задержкой.
Запросы информации о группах — получение сведений о группах и списков участников.
Поддержка стикеров/эмодзи — отправляйте стикеры и смайлы TIMFaceElem в разговоры.
Автоматическая настройка — первый пользователь, отправивший сообщение боту, автоматически становится владельцем домашнего канала.
Уведомление о медленном ответе — отправляет ожидающее сообщение, когда агенту требуется больше времени, чем ожидалось.
Параметры конфигурации
Форматы идентификаторов чата
Yuanbao использует префиксные идентификаторы в зависимости от типа разговора:
Тип чата
Формат
Пример
Прямое сообщение (C2C)
direct:<account>
direct:user123
Групповое сообщение
group:<group_code>
group:grp456
Медиа-загрузки
Адаптер Yuanbao автоматически обрабатывает загрузку мультимедиа через COS (Tencent Cloud Object Storage):
Изображения: поддержка JPEG, PNG, GIF, WebP.
Файлы: поддерживаются все распространенные типы документов.
Голос: поддержка WAV, MP3, OGG.
URL-адреса мультимедиа автоматически проверяются и загружаются перед загрузкой, чтобы предотвратить атаки SSRF.
Домашний канал
Используйте команду /sethome в любом чате Yuanbao (в личном сообщении или группе), чтобы назначить его домашним каналом. Запланированные задачи (задания cron) доставляют свои результаты в этот канал.
:::совет
Если домашний канал не настроен, первый пользователь, отправивший сообщение боту, будет автоматически назначен владельцем домашнего канала. Если текущий домашний канал является групповым чатом, первый DM обновит его до прямого канала.
Вы также можете установить его вручную в ~/.hermes/.env:
YUANBAO_HOME_CHANNEL=direct:user_account_id
# or for a group:# YUANBAO_HOME_CHANNEL=group:group_codeYUANBAO_HOME_CHANNEL_NAME="My Bot Updates"
Пример: установка домашнего канала
Начать разговор с ботом в Юаньбао
Отправьте команду: /sethome
Бот отвечает: «Домашний канал установлен на [chat_name] с идентификатором [chat_id]. Задания Cron будут доставляться в это место».
Будущие задания cron и уведомления будут отправляться на этот канал.
Пример: доставка заданий Cron
Создайте задание cron:
/cron"0 9 * * *"Checkserverstatus
Запланированный выпуск будет транслироваться на ваш домашний канал Yuanbao каждый день в 9 утра.
Советы по использованию
Начало разговора
Отправьте любое сообщение боту в Юаньбао:
hello
Бот отвечает в той же ветке разговора.
Доступные команды
На Юаньбао работают все стандартные команды Гермеса:
Команда
Описание
/new
Начать новый разговор
/model [provider:model]
Показать или изменить модель
/sethome
Установить этот чат как домашний канал
/status
Показать информацию о сеансе
/help
Показать доступные команды
Отправка файлов
Чтобы отправить файл боту, просто прикрепите его прямо в чате Yuanbao. Бот автоматически загрузит и обработает вложенный файл.
Вы также можете добавить сообщение с вложением:
Please analyze this document
Получение файлов
Когда вы просите бота создать или экспортировать файл, он отправляет его прямо в ваш чат Yuanbao.
Устранение неполадок
Бот онлайн, но не отвечает на сообщения
Причина: не удалось выполнить аутентификацию во время установления связи через WebSocket.
Исправление:
1. Убедитесь, что APP_ID и APP_SECRET верны.
2. Убедитесь, что URL-адрес WebSocket доступен.
3. Убедитесь, что у учетной записи бота есть соответствующие разрешения.
4. Просмотрите журналы шлюза: tail -f ~/.hermes/logs/gateway.log.
Ошибка «Соединение отклонено»
Причина: URL-адрес WebSocket недоступен или неверен.
Исправление:
1. Проверьте формат URL-адреса WebSocket (должен начинаться с wss://).
2. Проверьте сетевое подключение к домену Yuanbao API.
3. Убедитесь, что брандмауэр разрешает соединения WebSocket.
4. Проверьте URL-адрес с помощью: curl -I https://[YUANBAO_API_DOMAIN].
Не удалось загрузить медиафайлы
Причина: учетные данные COS недействительны или медиасервер недоступен.
Исправление:
1. Убедитесь, что API_DOMAIN верен.
2. Убедитесь, что для вашего бота включены разрешения на загрузку мультимедиа.
3. Убедитесь, что медиа-файл доступен и не поврежден.
4. Проверьте конфигурацию сегмента COS у администратора платформы.
Сообщения не доставлены на домашний канал
Причина: неверный формат идентификатора домашнего канала или не запущено задание cron.
Исправление:
1. Убедитесь, что YUANBAO_HOME_CHANNEL имеет правильный формат.
2. Проверьте с помощью команды /sethome, чтобы автоматически определить правильный формат.
3. Проверьте расписание заданий cron с помощью /status.
4. Убедитесь, что у бота есть разрешения на отправку в целевой чат.
Частые отключения
Причина: соединение WebSocket нестабильно или сеть ненадежна.
Исправление:
1. Проверьте журналы шлюза на наличие шаблонов ошибок.
2. Увеличьте время ожидания пульса в настройках соединения.
3. Обеспечьте стабильное сетевое соединение с API Yuanbao.
4. Рассмотрите возможность включения подробного журналирования: HERMES_LOG_LEVEL=debug
Контроль доступа
Yuanbao поддерживает детальный контроль доступа как для личных сообщений, так и для групповых разговоров:
# DM policy: open (default) | allowlist | disabledYUANBAO_DM_POLICY=open
# Comma-separated user IDs allowed to DM the bot (only used when DM_POLICY=allowlist)YUANBAO_DM_ALLOW_FROM=user_id_1,user_id_2
# Group policy: open (default) | allowlist | disabledYUANBAO_GROUP_POLICY=open
# Comma-separated group codes allowed (only used when GROUP_POLICY=allowlist)YUANBAO_GROUP_ALLOW_FROM=group_code_1,group_code_2
Yuanbao имеет максимальный размер сообщения. Hermes автоматически разбивает большие ответы на части с помощью разделения с учетом Markdown (учитывает границы кода, таблицы и границы абзацев).
Параметры подключения
Следующие параметры подключения встроены в адаптер с разумными значениями по умолчанию:
Параметр
Значение по умолчанию
Описание
Тайм-аут подключения WebSocket
15 секунд
Время ждать рукопожатия WS
Интервал сердцебиения
30 секунд
Частота Ping для поддержания соединения
Максимальное количество попыток переподключения
100
Максимальное количество попыток переподключения
Повторное подключение отсрочки
1 с → 60 с (экспоненциальная)
Время ожидания между попытками переподключения
Ответить интервал сердцебиения
2 секунды
Частота отправки статуса РАБОТАЕТ
Отправить тайм-аут
30 секунд
Тайм-аут исходящих WS-сообщений
:::примечание
Эти значения в настоящее время невозможно настроить с помощью переменных среды. Они оптимизированы для типичных развертываний Yuanbao.
Подробное ведение журнала
Включите ведение журнала отладки, чтобы устранить проблемы с подключением:
HERMES_LOG_LEVEL=debughermesgateway
Интеграция с другими функциями
Задания Крон
Запланируйте задачи, которые выполняются на Yuanbao:
/cron "0 */4 * * *" Report system health
Результаты доставляются на ваш домашний канал.
Фоновые задачи
Выполняйте длинные операции, не блокируя разговор:
/background Analyze all files in the archive
Межплатформенные сообщения
Отправьте сообщение из CLI в Yuanbao:
hermeschat-q"Send 'Hello from CLI' to yuanbao:group:group_code"