Перейти к основному содержанию
Tencent Yuanbao — это платформа AI-ассистента от Tencent. Plugin канала OpenClaw подключает ботов Yuanbao к OpenClaw через WebSocket, чтобы они могли взаимодействовать с пользователями через личные сообщения и групповые чаты. Статус: готово к production для личных сообщений бота и групповых чатов. WebSocket — единственный поддерживаемый режим подключения.

Быстрый старт

Требуется OpenClaw 2026.4.10 или выше. Выполните openclaw --version, чтобы проверить версию. Обновитесь с помощью openclaw update.
1

Добавьте канал Yuanbao с вашими учетными данными

openclaw channels add --channel yuanbao --token "appKey:appSecret"
Значение --token использует формат appKey:appSecret с разделением двоеточием. Вы можете получить эти значения в приложении Yuanbao, создав робота в настройках своего приложения.
2

После завершения настройки перезапустите gateway, чтобы применить изменения

openclaw gateway restart

Интерактивная настройка (альтернатива)

Вы также можете использовать интерактивный мастер:
openclaw channels login --channel yuanbao
Следуйте подсказкам, чтобы ввести ваш App ID и App Secret.

Контроль доступа

Личные сообщения

Настройте dmPolicy, чтобы управлять тем, кто может отправлять боту личные сообщения:
  • "pairing" - неизвестные пользователи получают код сопряжения; подтвердите через CLI
  • "allowlist" - общаться могут только пользователи, перечисленные в allowFrom
  • "open" - разрешить всех пользователей (по умолчанию)
  • "disabled" - отключить все личные сообщения
Подтвердить запрос на сопряжение:
openclaw pairing list yuanbao
openclaw 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.

Устранение неполадок

Бот не отвечает в групповых чатах

  1. Убедитесь, что бот добавлен в группу
  2. Убедитесь, что вы @упомянули бота (требуется по умолчанию)
  3. Проверьте журналы: openclaw logs --follow

Бот не получает сообщения

  1. Убедитесь, что бот создан и подтвержден в приложении Yuanbao
  2. Убедитесь, что appKey и appSecret настроены правильно
  3. Убедитесь, что gateway запущен: openclaw gateway status
  4. Проверьте журналы: openclaw logs --follow

Бот отправляет пустые или fallback-ответы

  1. Проверьте, возвращает ли AI-модель корректное содержимое
  2. Fallback-ответ по умолчанию: “暂时无法解答,你可以换个问题问问我哦”
  3. Настройте его через channels.yuanbao.fallbackReply

App Secret раскрыт

  1. Сбросьте App Secret в YuanBao APP
  2. Обновите значение в вашей конфигурации
  3. Перезапустите 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>.appKeyApp Key (используется для подписи и генерации ticket)-
channels.yuanbao.accounts.<id>.appSecretApp 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.allowFromAllowlist для личных сообщений (список 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.minCharsMerge-text: минимум символов для запуска отправки2800
channels.yuanbao.maxCharsMerge-text: максимум символов на сообщение3000
channels.yuanbao.idleMsMerge-text: тайм-аут бездействия перед автоотправкой (мс)5000
channels.yuanbao.mediaMaxMbЛимит размера медиа (МБ)20
channels.yuanbao.historyLimitЗаписи контекста истории группового чата100
channels.yuanbao.disableBlockStreamingОтключить потоковый вывод на уровне блоковfalse
channels.yuanbao.fallbackReplyFallback-ответ, когда AI не возвращает содержимое暂时无法解答,你可以换个问题问问我哦
channels.yuanbao.markdownHintEnabledВнедрять инструкции против оборачивания markdowntrue
channels.yuanbao.debugBotIdsWhitelist ID ботов для отладки (несаницированные журналы)[]

Поддерживаемые типы сообщений

Получение

  • ✅ Текст
  • ✅ Изображения
  • ✅ Файлы
  • ✅ Аудио / голос
  • ✅ Видео
  • ✅ Стикеры / пользовательские эмодзи
  • ✅ Пользовательские элементы (карточки ссылок и т. д.)

Отправка

  • ✅ Текст (с поддержкой markdown)
  • ✅ Изображения
  • ✅ Файлы
  • ✅ Аудио
  • ✅ Видео
  • ✅ Стикеры

Threads и ответы

  • ✅ Ответы с цитированием (настраивается через replyToMode)
  • ❌ Ответы в thread (не поддерживаются платформой)

См. также