> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Yuanbao

Tencent Yuanbao — платформа ИИ-ассистента от Tencent. Поддерживаемый сообществом плагин `openclaw-plugin-yuanbao` подключает ботов Yuanbao к OpenClaw через WebSocket для личных сообщений и групповых чатов.

**Статус:** готов к промышленной эксплуатации для личных сообщений ботам и групповых чатов. WebSocket — единственный поддерживаемый режим подключения. Этот плагин поддерживается командой Tencent Yuanbao как внешняя запись каталога, а не основной командой OpenClaw; приведённые ниже сведения о конфигурации и поведении (помимо установки и общего интерфейса CLI) взяты из документации самого плагина и не сверены с исходным кодом ядра OpenClaw.

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

Требуется OpenClaw 2026.4.10 или более поздней версии. Проверьте версию с помощью `openclaw --version`; обновите с помощью `openclaw update`.

**1. Добавьте канал Yuanbao со своими учётными данными**

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw channels add --channel yuanbao --token "appKey:appSecret"
```

`--token` использует разделённые двоеточием `appKey:appSecret`. Получите их в приложении Yuanbao, создав бота в настройках приложения.

**2. Перезапустите Gateway, чтобы применить изменение**

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw gateway restart
```

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

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw channels login --channel yuanbao
```

Следуйте подсказкам, чтобы ввести App ID и App Secret.

## Управление доступом

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

`channels.yuanbao.dm.policy`:

| Значение | Поведение |
| - | - |
| `open` (по умолчанию) | Разрешить доступ всем пользователям |
| `pairing` | Неизвестные пользователи получают код сопряжения; подтвердите его через CLI |
| `allowlist` | Общаться могут только пользователи из `allowFrom` |
| `disabled` | Отключить все личные сообщения |

Подтвердите запрос на сопряжение:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw pairing list yuanbao
openclaw pairing approve yuanbao <CODE>
```

### Групповые чаты

`channels.yuanbao.requireMention` (по умолчанию `true`): прежде чем бот ответит в группе, требуется @упоминание. Ответ на собственное сообщение бота считается неявным упоминанием.

## Примеры конфигурации

Базовая настройка с открытой политикой личных сообщений:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  channels: {
    yuanbao: {
      appKey: "your_app_key",
      appSecret: "your_app_secret",
      dm: {
        policy: "open",
      },
    },
  },
}
```

Ограничение личных сообщений указанными пользователями:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  channels: {
    yuanbao: {
      appKey: "your_app_key",
      appSecret: "your_app_secret",
      dm: {
        policy: "allowlist",
        allowFrom: ["user_id_1", "user_id_2"],
      },
    },
  },
}
```

Отключение требования @упоминания в группах:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  channels: {
    yuanbao: {
      requireMention: false,
    },
  },
}
```

Настройка исходящей доставки:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  channels: {
    yuanbao: {
      outboundQueueStrategy: "merge-text",
      minChars: 2800, // буферизовать до достижения этого количества символов
      maxChars: 3000, // принудительно разделять при превышении этого ограничения
      idleMs: 5000, // автоматически отправлять после периода бездействия (мс)
    },
  },
}
```

Установите `outboundQueueStrategy: "immediate"`, чтобы отправлять каждый фрагмент без буферизации.

## Основные команды

| Команда | Описание |
| - | - |
| `/help` | Показать доступные команды |
| `/status` | Показать состояние бота |
| `/new` | Начать новый сеанс |
| `/stop` | Остановить текущий запуск |
| `/restart` | Перезапустить OpenClaw |
| `/compact` | Сжать контекст сеанса |

Yuanbao поддерживает встроенные меню команд с косой чертой; команды автоматически синхронизируются с платформой при запуске Gateway.

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

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

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

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

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

**Бот отправляет пустые или резервные ответы:**

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

**Утечка App Secret:**

1. Сбросьте App Secret в приложении Yuanbao
2. Обновите значение в конфигурации
3. Перезапустите Gateway: `openclaw gateway restart`

## Расширенная конфигурация

### Несколько учётных записей

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  channels: {
    yuanbao: {
      defaultAccount: "main",
      accounts: {
        main: {
          appKey: "key_xxx",
          appSecret: "secret_xxx",
          name: "Основной бот",
        },
        backup: {
          appKey: "key_yyy",
          appSecret: "secret_yyy",
          name: "Резервный бот",
          enabled: false,
        },
      },
    },
  },
}
```

`defaultAccount` определяет, какая учётная запись используется, когда в исходящих API не указан `accountId`.

### Ограничения сообщений

* `maxChars`: максимальное количество символов в одном сообщении (по умолчанию `3000`)
* `mediaMaxMb`: ограничение на отправку и скачивание медиафайлов (по умолчанию `20` МБ)
* `overflowPolicy`: поведение при превышении сообщением ограничения: `"split"` (по умолчанию) или `"stop"`

### Потоковая передача

Yuanbao поддерживает потоковый вывод на уровне блоков; бот отправляет текст фрагментами по мере его создания.

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  channels: {
    yuanbao: {
      disableBlockStreaming: false, // потоковая передача блоков включена (по умолчанию)
    },
  },
}
```

Установите `disableBlockStreaming: true`, чтобы отправлять полный ответ одним сообщением.

### Контекст истории группового чата

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  channels: {
    yuanbao: {
      historyLimit: 100, // по умолчанию: 100, установите 0 для отключения
    },
  },
}
```

Определяет, сколько предыдущих сообщений включается в контекст ИИ для групповых чатов.

### Режим ответа на сообщение

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  channels: {
    yuanbao: {
      replyToMode: "first", // "off" | "first" | "all" (по умолчанию: "first")
    },
  },
}
```

| Значение | Поведение |
| - | - |
| `off` | Не цитировать исходное сообщение |
| `first` | Цитировать только первый ответ на каждое входящее сообщение (по умолчанию) |
| `all` | Цитировать каждый ответ |

### Добавление подсказки Markdown

По умолчанию бот добавляет в системный промпт инструкцию, запрещающую модели заключать весь ответ в блок кода Markdown.

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  channels: {
    yuanbao: {
      markdownHintEnabled: true, // по умолчанию: true
    },
  },
}
```

### Режим отладки

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  channels: {
    yuanbao: {
      debugBotIds: ["bot_user_id_1", "bot_user_id_2"],
    },
  },
}
```

Включает вывод журналов без очистки данных для ботов с указанными идентификаторами.

### Маршрутизация между несколькими агентами

Используйте `bindings`, чтобы направлять личные сообщения или группы Yuanbao разным агентам:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  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`: идентификатор пользователя или код группы

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

Полная конфигурация: [Конфигурация Gateway](https://docs2.openclaw.ai/ru/gateway/configuration.md)

| Параметр | Описание | Значение по умолчанию |
| - | - | - |
| `channels.yuanbao.enabled` | Включить или отключить канал | `true` |
| `channels.yuanbao.defaultAccount` | Учётная запись по умолчанию для исходящей маршрутизации | `default` |
| `channels.yuanbao.accounts.<id>.appKey` | App Key (подписание и создание билетов) | - |
| `channels.yuanbao.accounts.<id>.appSecret` | App Secret (подписание) | - |
| `channels.yuanbao.accounts.<id>.token` | Предварительно подписанный токен (отключает автоматическое подписание билетов) | - |
| `channels.yuanbao.accounts.<id>.name` | Отображаемое имя учётной записи | - |
| `channels.yuanbao.accounts.<id>.enabled` | Включить или отключить определённую учётную запись | `true` |
| `channels.yuanbao.dm.policy` | Политика личных сообщений | `open` |
| `channels.yuanbao.dm.allowFrom` | Список разрешённых отправителей личных сообщений (список идентификаторов пользователей) | - |
| `channels.yuanbao.requireMention` | Требовать @упоминание в группах | `true` |
| `channels.yuanbao.overflowPolicy` | Обработка длинных сообщений (`split` или `stop`) | `split` |
| `channels.yuanbao.replyToMode` | Стратегия ответа на сообщение в группе (`off`, `first`, `all`) | `first` |
| `channels.yuanbao.outboundQueueStrategy` | Стратегия исходящей отправки (`merge-text` или `immediate`) | `merge-text` |
| `channels.yuanbao.minChars` | Объединение текста: минимальное количество символов для отправки | `2800` |
| `channels.yuanbao.maxChars` | Объединение текста: максимальное количество символов в сообщении | `3000` |
| `channels.yuanbao.idleMs` | Объединение текста: время бездействия до автоматической отправки (мс) | `5000` |
| `channels.yuanbao.mediaMaxMb` | Ограничение размера медиафайлов (МБ) | `20` |
| `channels.yuanbao.historyLimit` | Количество записей контекста истории группового чата | `100` |
| `channels.yuanbao.disableBlockStreaming` | Отключить потоковый вывод на уровне блоков | `false` |
| `channels.yuanbao.fallbackReply` | Резервный ответ, когда модель не возвращает содержимое | `暂时无法解答，你可以换个问题问问我哦` |
| `channels.yuanbao.markdownHintEnabled` | Добавлять инструкции, предотвращающие оборачивание ответа в Markdown | `true` |
| `channels.yuanbao.debugBotIds` | Идентификаторы ботов в списке разрешённых для отладки (журналы без очистки данных) | `[]` |

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

**Получение:** текст, изображения, файлы, аудио и голосовые сообщения, видео, стикеры и пользовательские эмодзи, пользовательские элементы (карточки ссылок).

**Отправка:** текст (Markdown), изображения, файлы, аудио, видео, стикеры.

**Ветки и ответы:** ответы с цитированием (настраиваются через `replyToMode`); платформа не поддерживает ответы в ветках.

## См. также

* [Обзор каналов](https://docs2.openclaw.ai/ru/channels.md) - все поддерживаемые каналы
* [Сопряжение](https://docs2.openclaw.ai/ru/channels/pairing.md) - аутентификация в личных сообщениях и процесс сопряжения
* [Группы](https://docs2.openclaw.ai/ru/channels/groups.md) - поведение групповых чатов и фильтрация по упоминаниям
* [Маршрутизация каналов](https://docs2.openclaw.ai/ru/channels/channel-routing.md) - маршрутизация сообщений по сеансам
* [Безопасность](https://docs2.openclaw.ai/ru/gateway/security.md) - модель доступа и усиление защиты
