docs: document QQBot groups and Yuanbao

This commit is contained in:
Peter Steinberger
2026-04-28 02:59:04 +01:00
parent 554f36b197
commit 662d5de746
3 changed files with 68 additions and 12 deletions

View File

@@ -107,6 +107,10 @@
"source": "Feishu",
"target": "Feishu"
},
{
"source": "Yuanbao",
"target": "腾讯元宝"
},
{
"source": "WeChat",
"target": "微信"

View File

@@ -118,6 +118,55 @@ Add a second bot via CLI:
openclaw channels add --channel qqbot --account bot2 --token "222222222:secret-of-bot-2"
```
### Group chats
QQ Bot group chat support uses QQ group OpenIDs, not display names. Add the bot
to a group, then mention it or configure the group to run without a mention.
```json5
{
channels: {
qqbot: {
groupPolicy: "allowlist",
groupAllowFrom: ["member_openid"],
groups: {
"*": {
requireMention: true,
historyLimit: 50,
toolPolicy: "restricted",
},
GROUP_OPENID: {
name: "Release room",
requireMention: false,
ignoreOtherMentions: true,
historyLimit: 20,
prompt: "Keep replies short and operational.",
},
},
},
},
}
```
`groups["*"]` sets defaults for every group, and a concrete
`groups.GROUP_OPENID` entry overrides those defaults for one group. Group
settings include:
- `requireMention`: require an @mention before the bot replies. Default: `true`.
- `ignoreOtherMentions`: drop messages that mention someone else but not the bot.
- `historyLimit`: keep recent non-mention group messages as context for the next mentioned turn. Set `0` to disable.
- `toolPolicy`: `full`, `restricted`, or `none` for group-scoped tools.
- `name`: friendly label used in logs and group context.
- `prompt`: per-group behavior prompt appended to the agent context.
Activation modes are `mention` and `always`. `requireMention: true` maps to
`mention`; `requireMention: false` maps to `always`. A session-level activation
override, when present, wins over config.
The inbound queue is per peer. Group peers get a larger queue cap, keep human
messages ahead of bot-authored chatter when full, and merge bursts of normal
group messages into one attributed turn. Slash commands still run one by one.
### Voice (STT / TTS)
STT and TTS support two-level configuration with priority fallback:
@@ -203,6 +252,7 @@ QQ Bot ships as a self-contained engine inside the plugin:
- Each account owns an isolated resource stack (WebSocket connection, API client, token cache, media storage root) keyed by `appId`. Accounts never share inbound/outbound state.
- The multi-account logger tags log lines with the owning account so diagnostics stay separable when you run several bots under one gateway.
- Inbound, outbound, and gateway bridge paths share a single media payload root under `~/.openclaw/media`, so uploads, downloads, and transcode caches land under one guarded directory instead of a per-subsystem tree.
- Rich media delivery goes through one `sendMedia` path for C2C and group targets. Local files and buffers above the large-file threshold use QQ's chunked upload endpoints, while smaller payloads use the one-shot media API.
- Credentials can be backed up and restored as part of standard OpenClaw credential snapshots; the engine re-attaches each account's resource stack on restore without requiring a fresh QR-code pair.
## QR-code onboarding

View File

@@ -1,14 +1,16 @@
---
summary: "YuanBao bot overview, features, and configuration"
summary: "Yuanbao bot overview, features, and configuration"
read_when:
- You want to connect a YuanBao bot
- You are configuring the YuanBao channel
title: YuanBao
- You want to connect a Yuanbao bot
- You are configuring the Yuanbao channel
title: Yuanbao
---
# YuanBao
# Yuanbao
YuanBao is Tencent's AI assistant platform that supports bot integration via instant messaging. Bots can interact with users through direct messages and group chats.
Tencent Yuanbao is Tencent's AI assistant platform. The OpenClaw channel plugin
connects Yuanbao bots to OpenClaw over WebSocket so they can interact with users
through direct messages and group chats.
**Status:** production-ready for bot DMs + group chats. WebSocket is the only supported connection mode.
@@ -19,11 +21,11 @@ YuanBao is Tencent's AI assistant platform that supports bot integration via ins
> **Requires OpenClaw 2026.4.10 or above.** Run `openclaw --version` to check. Upgrade with `openclaw update`.
<Steps>
<Step title="Add the YuanBao channel with your credentials">
<Step title="Add the Yuanbao channel with your credentials">
```bash
openclaw channels add --channel yuanbao --token "appKey:appSecret"
```
The `--token` value uses colon-separated `appKey:appSecret` format. You can obtain these from the YuanBao APP by creating a robot in your application settings.
The `--token` value uses colon-separated `appKey:appSecret` format. You can obtain these from the Yuanbao app by creating a robot in your application settings.
</Step>
<Step title="After setup completes, restart the gateway to apply the changes">
@@ -162,7 +164,7 @@ Replying to the bot's message in a group chat is treated as an implicit mention.
| `/restart` | Restart OpenClaw |
| `/compact` | Compact the session context |
> YuanBao supports native slash-command menus. Commands are synced to the platform automatically when the gateway starts.
> Yuanbao supports native slash-command menus. Commands are synced to the platform automatically when the gateway starts.
---
@@ -176,7 +178,7 @@ Replying to the bot's message in a group chat is treated as an implicit mention.
### Bot does not receive messages
1. Ensure the bot is created and approved in YuanBao APP
1. Ensure the bot is created and approved in the Yuanbao app
2. Ensure `appKey` and `appSecret` are correctly configured
3. Ensure the gateway is running: `openclaw gateway status`
4. Check logs: `openclaw logs --follow`
@@ -232,7 +234,7 @@ Replying to the bot's message in a group chat is treated as an implicit mention.
### Streaming
YuanBao supports block-level streaming output. When enabled, the bot sends text in chunks as it generates.
Yuanbao supports block-level streaming output. When enabled, the bot sends text in chunks as it generates.
```json5
{
@@ -310,7 +312,7 @@ Enable unsanitized log output for specific bot IDs:
### Multi-agent routing
Use `bindings` to route YuanBao DMs or groups to different agents.
Use `bindings` to route Yuanbao DMs or groups to different agents.
```json5
{