Yuanbao
Tencent Yuanbao 是腾讯的 AI 助手平台。OpenClaw 渠道插件通过 WebSocket 将 Yuanbao 机器人连接到 OpenClaw,以便它们可以通过私信和群聊与用户互动。
状态: 适用于机器人私信和群聊的生产就绪版本。WebSocket 是唯一支持的连接模式。
需要 OpenClaw 2026.4.10 或更高版本。 运行
openclaw --version进行检查。使用openclaw update进行升级。
使用您的凭据添加 Yuanbao 渠道
Terminal window openclaw channels add --channel yuanbao --token "appKey:appSecret"--token值使用冒号分隔的appKey:appSecret格式。您可以通过在应用程序设置中创建机器人,从 Yuanbao 应用中获取这些信息。设置完成后,重启网关以应用更改
Terminal window openclaw gateway restart
交互式设置(替代方案)
Section titled “交互式设置(替代方案)”您也可以使用交互式向导:
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- 无需 @提及 即可回复
在群聊中回复机器人的消息将被视为隐式提及。
使用开放私信策略的基本设置
Section titled “使用开放私信策略的基本设置”{ channels: { yuanbao: { appKey: "your_app_key", appSecret: "your_app_secret", dm: { policy: "open", }, }, },}限制特定用户的私信
Section titled “限制特定用户的私信”{ channels: { yuanbao: { appKey: "your_app_key", appSecret: "your_app_secret", dm: { policy: "allowlist", allowFrom: ["user_id_1", "user_id_2"], }, }, },}在群组中禁用 @提及 要求
Section titled “在群组中禁用 @提及 要求”{ channels: { yuanbao: { requireMention: false, }, },}优化出站消息传递
Section titled “优化出站消息传递”{ channels: { yuanbao: { // Send each chunk immediately without buffering outboundQueueStrategy: "immediate", }, },}调整合并文本策略
Section titled “调整合并文本策略”{ 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 | 压缩会话上下文 |
元宝支持原生斜杠命令菜单。网关启动时,命令会自动同步到平台。
机器人在群聊中无响应
Section titled “机器人在群聊中无响应”- 确保机器人已添加到群组中
- 确保你 @提及 了机器人(默认情况下必需)
- 检查日志:
openclaw logs --follow
机器人未收到消息
Section titled “机器人未收到消息”- 确保机器人已在元宝应用中创建并获批
- 确保
appKey和appSecret配置正确 - 确保网关正在运行:
openclaw gateway status - 检查日志:
openclaw logs --follow
机器人发送空回复或后备回复
Section titled “机器人发送空回复或后备回复”- 检查 AI 模型是否返回有效内容
- 默认的后备回复是:“暂时无法解答,你可以换个问题问问我哦”
- 通过
channels.yuanbao.fallbackReply进行自定义
App Secret 泄露
Section titled “App Secret 泄露”- 在元宝 APP 中重置 App Secret
- 更新配置中的值
- 重启网关:
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, }, }, }, },}当出站 API 未指定 accountId 时,defaultAccount 控制使用哪个账号。
maxChars- 单条消息最大字符数(默认:3000个字符)mediaMaxMb- 媒体上传/下载限制(默认:20MB)overflowPolicy- 消息超出限制时的行为:"split"(默认)或"stop"
元宝支持块级流式输出。启用后,机器人会在生成过程中分块发送文本。
{ channels: { yuanbao: { disableBlockStreaming: false, // block streaming enabled (default) }, },}设置 disableBlockStreaming: true 以在一条消息中发送完整回复。
群聊历史上下文
Section titled “群聊历史上下文”控制在群聊的 AI 上下文中包含多少条历史消息:
{ channels: { yuanbao: { historyLimit: 100, // default: 100, set 0 to disable }, },}控制机器人在群聊中回复时如何引用消息:
{ channels: { yuanbao: { replyToMode: "first", // "off" | "first" | "all" (default: "first") }, },}| 值 | 行为 |
|---|---|
"off" | 无引用回复 |
"first" | 仅对每条入站消息的第一次回复进行引用(默认) |
"all" | 引用每次回复 |
Markdown 提示注入
Section titled “Markdown 提示注入”默认情况下,机器人会在系统提示词中注入指令,以防止 AI 模型将整个回复包装在 markdown 代码块中。
{ channels: { yuanbao: { markdownHintEnabled: true, // default: true }, },}为特定的机器人 ID 启用未经清理的日志输出:
{ channels: { yuanbao: { debugBotIds: ["bot_user_id_1", "bot_user_id_2"], }, },}多智能体路由
Section titled “多智能体路由”使用 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(用于签名和票据生成) | - |
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 | 私信白名单(用户 ID 列表) | - |
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 | 媒体大小限制 (MB) | 20 |
channels.yuanbao.historyLimit | 群聊历史上下文条目数 | 100 |
channels.yuanbao.disableBlockStreaming | 禁用块级流式输出 | false |
channels.yuanbao.fallbackReply | AI 未返回内容时的备用回复 | 暂时无法解答,你可以换个问题问问我哦 |
channels.yuanbao.markdownHintEnabled | 注入 Markdown 防换行指令 | true |
channels.yuanbao.debugBotIds | 调试白名单机器人 ID (未经脱敏的日志) | [] |
支持的消息类型
Section titled “支持的消息类型”- ✅ 文本
- ✅ 图片
- ✅ 文件
- ✅ 音频 / 语音
- ✅ 视频
- ✅ 表情 / 自定义表情
- ✅ 自定义元素 (链接卡片等)
- ✅ 文本 (支持 Markdown)
- ✅ 图片
- ✅ 文件
- ✅ 音频
- ✅ 视频
- ✅ 表情
- ✅ 引用回复 (可通过
replyToMode配置) - ❌ 主题回复 (平台不支持)
- Channels Overview - 所有支持的渠道
- Pairing - 私信认证和配对流程
- Groups - 群聊行为和提及控制
- Channel Routing - 消息的会话路由
- Security - 访问模型和安全加固