Regional platforms
Yuanbao
Tencent Yuanbao — это платформа AI-ассистента от Tencent. Plugin канала OpenClaw подключает ботов Yuanbao к OpenClaw через WebSocket, чтобы они могли взаимодействовать с пользователями через личные сообщения и групповые чаты.
Статус: готово к production для личных сообщений бота и групповых чатов. WebSocket — единственный поддерживаемый режим подключения.
Быстрый старт
Требуется OpenClaw 2026.4.10 или выше. Выполните
openclaw --version, чтобы проверить версию. Обновитесь с помощьюopenclaw update.
Добавьте канал Yuanbao с вашими учетными данными
openclaw channels add --channel yuanbao --token "appKey:appSecret"Значение --token использует формат appKey:appSecret с разделением двоеточием. Вы можете получить эти значения в приложении Yuanbao, создав робота в настройках своего приложения.
После завершения настройки перезапустите gateway, чтобы применить изменения
openclaw gateway restartИнтерактивная настройка (альтернатива)
Вы также можете использовать интерактивный мастер:
openclaw channels login --channel yuanbaoСледуйте подсказкам, чтобы ввести ваш App ID и App Secret.
Контроль доступа
Личные сообщения
Настройте dmPolicy, чтобы управлять тем, кто может отправлять боту личные сообщения:
"pairing"- неизвестные пользователи получают код сопряжения; подтвердите через CLI"allowlist"- общаться могут только пользователи, перечисленные вallowFrom"open"- разрешить всех пользователей (по умолчанию)"disabled"- отключить все личные сообщения
Подтвердить запрос на сопряжение:
openclaw pairing list yuanbaoopenclaw pairing approve yuanbao <CODE>Групповые чаты
Требование упоминания (channels.yuanbao.requireMention):
true- требуется @упоминание (по умолчанию)false- отвечать без @упоминания
Ответ на сообщение бота в групповом чате считается неявным упоминанием.
Примеры конфигурации
Базовая настройка с открытой политикой личных сообщений
{ channels: { yuanbao: { appKey: "your_app_key", appSecret: "your_app_secret", dm: { policy: "open", }, }, },}Ограничить личные сообщения конкретными пользователями
{ channels: { yuanbao: { appKey: "your_app_key", appSecret: "your_app_secret", dm: { policy: "allowlist", allowFrom: ["user_id_1", "user_id_2"], }, }, },}Отключить требование @упоминания в группах
{ channels: { yuanbao: { requireMention: false, }, },}Оптимизировать доставку исходящих сообщений
{ channels: { yuanbao: { // Send each chunk immediately without buffering outboundQueueStrategy: "immediate", }, },}Настроить стратегию merge-text
{ channels: { yuanbao: { outboundQueueStrategy: "merge-text", minChars: 2800, // buffer until this many chars maxChars: 3000, // force split above this limit idleMs: 5000, // auto-flush after idle timeout (ms) }, },}Распространенные команды
| Команда | Описание |
|---|---|
/help |
Показать доступные команды |
/status |
Показать статус бота |
/new |
Начать новый сеанс |
/stop |
Остановить текущий запуск |
/restart |
Перезапустить OpenClaw |
/compact |
Сжать контекст сеанса |
Yuanbao поддерживает встроенные меню slash-команд. Команды автоматически синхронизируются с платформой при запуске gateway.
Устранение неполадок
Бот не отвечает в групповых чатах
- Убедитесь, что бот добавлен в группу
- Убедитесь, что вы @упомянули бота (требуется по умолчанию)
- Проверьте журналы:
openclaw logs --follow
Бот не получает сообщения
- Убедитесь, что бот создан и подтвержден в приложении Yuanbao
- Убедитесь, что
appKeyиappSecretнастроены правильно - Убедитесь, что gateway запущен:
openclaw gateway status - Проверьте журналы:
openclaw logs --follow
Бот отправляет пустые или fallback-ответы
- Проверьте, возвращает ли AI-модель корректное содержимое
- Fallback-ответ по умолчанию: "暂时无法解答,你可以换个问题问问我哦"
- Настройте его через
channels.yuanbao.fallbackReply
App Secret раскрыт
- Сбросьте App Secret в YuanBao APP
- Обновите значение в вашей конфигурации
- Перезапустите gateway:
openclaw gateway restart
Расширенная конфигурация
Несколько учетных записей
{ channels: { yuanbao: { defaultAccount: "main", accounts: { main: { appKey: "key_xxx", appSecret: "secret_xxx", name: "Primary bot", }, backup: { appKey: "key_yyy", appSecret: "secret_yyy", name: "Backup bot", enabled: false, }, }, }, },}defaultAccount управляет тем, какая учетная запись используется, когда исходящие API не указывают accountId.
Лимиты сообщений
maxChars- максимальное число символов в одном сообщении (по умолчанию:3000символов)mediaMaxMb- лимит загрузки/скачивания медиа (по умолчанию:20МБ)overflowPolicy- поведение, когда сообщение превышает лимит:"split"(по умолчанию) или"stop"
Потоковая передача
Yuanbao поддерживает потоковый вывод на уровне блоков. Когда он включен, бот отправляет текст фрагментами по мере генерации.
{ channels: { yuanbao: { disableBlockStreaming: false, // block streaming enabled (default) }, },}Установите disableBlockStreaming: true, чтобы отправлять полный ответ одним сообщением.
Контекст истории группового чата
Управляйте тем, сколько исторических сообщений включается в AI-контекст для групповых чатов:
{ channels: { yuanbao: { historyLimit: 100, // default: 100, set 0 to disable }, },}Режим reply-to
Управляйте тем, как бот цитирует сообщения при ответах в групповых чатах:
{ channels: { yuanbao: { replyToMode: "first", // "off" | "first" | "all" (default: "first") }, },}| Значение | Поведение |
|---|---|
"off" |
Не цитировать в ответе |
"first" |
Цитировать только первый ответ на входящее сообщение (по умолчанию) |
"all" |
Цитировать каждый ответ |
Внедрение подсказки Markdown
По умолчанию бот внедряет инструкции в системный промпт, чтобы AI-модель не оборачивала весь ответ в markdown-блоки кода.
{ channels: { yuanbao: { markdownHintEnabled: true, // default: true }, },}Режим отладки
Включите несаницированный вывод журналов для конкретных ID ботов:
{ channels: { yuanbao: { debugBotIds: ["bot_user_id_1", "bot_user_id_2"], }, },}Маршрутизация нескольких агентов
Используйте bindings, чтобы маршрутизировать личные сообщения или группы Yuanbao к разным агентам.
{ agents: { list: [ { id: "main" }, { id: "agent-a", workspace: "/home/user/agent-a" }, { id: "agent-b", workspace: "/home/user/agent-b" }, ], }, bindings: [ { agentId: "agent-a", match: { channel: "yuanbao", peer: { kind: "direct", id: "user_xxx" }, }, }, { agentId: "agent-b", match: { channel: "yuanbao", peer: { kind: "group", id: "group_zzz" }, }, }, ],}Поля маршрутизации:
match.channel:"yuanbao"match.peer.kind:"direct"(личные сообщения) или"group"(групповой чат)match.peer.id: ID пользователя или код группы
Справочник конфигурации
Полная конфигурация: Конфигурация Gateway
| Настройка | Описание | По умолчанию |
|---|---|---|
channels.yuanbao.enabled |
Включить/отключить канал | true |
channels.yuanbao.defaultAccount |
Учетная запись по умолчанию для исходящей маршрутизации | default |
channels.yuanbao.accounts.<id>.appKey |
App Key (используется для подписи и генерации ticket) | - |
channels.yuanbao.accounts.<id>.appSecret |
App Secret (используется для подписи) | - |
channels.yuanbao.accounts.<id>.token |
Предварительно подписанный токен (пропускает автоматическую подпись ticket) | - |
channels.yuanbao.accounts.<id>.name |
Отображаемое имя учетной записи | - |
channels.yuanbao.accounts.<id>.enabled |
Включить/отключить конкретную учетную запись | true |
channels.yuanbao.dm.policy |
Политика личных сообщений | open |
channels.yuanbao.dm.allowFrom |
Allowlist для личных сообщений (список ID пользователей) | - |
channels.yuanbao.requireMention |
Требовать @упоминание в группах | true |
channels.yuanbao.overflowPolicy |
Обработка длинных сообщений (split или stop) |
split |
channels.yuanbao.replyToMode |
Стратегия reply-to в группах (off, first, all) |
first |
channels.yuanbao.outboundQueueStrategy |
Исходящая стратегия (merge-text или immediate) |
merge-text |
channels.yuanbao.minChars |
Merge-text: минимум символов для запуска отправки | 2800 |
channels.yuanbao.maxChars |
Merge-text: максимум символов на сообщение | 3000 |
channels.yuanbao.idleMs |
Merge-text: тайм-аут бездействия перед автоотправкой (мс) | 5000 |
channels.yuanbao.mediaMaxMb |
Лимит размера медиа (МБ) | 20 |
channels.yuanbao.historyLimit |
Записи контекста истории группового чата | 100 |
channels.yuanbao.disableBlockStreaming |
Отключить потоковый вывод на уровне блоков | false |
channels.yuanbao.fallbackReply |
Fallback-ответ, когда AI не возвращает содержимое | 暂时无法解答,你可以换个问题问问我哦 |
channels.yuanbao.markdownHintEnabled |
Внедрять инструкции против оборачивания markdown | true |
channels.yuanbao.debugBotIds |
Whitelist ID ботов для отладки (несаницированные журналы) | [] |
Поддерживаемые типы сообщений
Получение
- ✅ Текст
- ✅ Изображения
- ✅ Файлы
- ✅ Аудио / голос
- ✅ Видео
- ✅ Стикеры / пользовательские эмодзи
- ✅ Пользовательские элементы (карточки ссылок и т. д.)
Отправка
- ✅ Текст (с поддержкой markdown)
- ✅ Изображения
- ✅ Файлы
- ✅ Аудио
- ✅ Видео
- ✅ Стикеры
Threads и ответы
- ✅ Ответы с цитированием (настраивается через
replyToMode) - ❌ Ответы в thread (не поддерживаются платформой)
См. также
- Обзор каналов - все поддерживаемые каналы
- Сопряжение - аутентификация личных сообщений и поток сопряжения
- Группы - поведение групповых чатов и gating по упоминаниям
- Маршрутизация каналов - маршрутизация сеансов для сообщений
- Безопасность - модель доступа и усиление защиты