OpenClaw 接入腾讯元宝(Yuanbao)频道:WebSocket 机器人配置、访问控制与高级调优指南
【免费下载链接】openclawThe AI that really does things. Any OS. Any Platform. The lobster way. 🦞项目地址: https://gitcode.com/GitHub_Trending/cl/openclaw
腾讯元宝(Yuanbao)是腾讯推出的 AI 智能助手平台,通过社区维护的openclaw-plugin-yuanbao外部插件,OpenClaw 可以与元宝机器人建立 WebSocket 连接,实现私聊(DM)与群聊场景下的 AI 自动化对话。本文将基于 docs/channels/yuanbao.md 的完整内容,结合仓库内频道、配对、群组、路由与 CLI 相关文档,从快速接入、访问控制、配置参数、常用命令到多账号与多 Agent 路由,系统讲解在 OpenClaw 中启用和调优元宝频道的完整方案,读完即可落地一个生产可用的元宝机器人。
适用前提与状态说明:元宝频道要求 OpenClaw 2026.4.10 及以上版本;WebSocket 是唯一受支持的连接方式。该插件由腾讯元宝团队作为外部目录条目维护,并非 OpenClaw 核心自带;除安装步骤与通用 CLI 面之外,下述配置与行为细节来自插件自身文档,未在 OpenClaw 核心源码中逐一验证,配置时请以实际插件版本行为为准。
快速开始:三步接入元宝机器人
接入前先确认 OpenClaw 版本满足要求:
openclaw --version # 确认版本 >= 2026.4.10 openclaw update # 版本过低时升级方式一:非交互式添加频道(推荐脚本化)
使用openclaw channels add直接写入凭据并添加频道:
openclaw channels add --channel yuanbao --token "appKey:appSecret"--token采用冒号分隔的appKey:appSecret格式。这两个值需要在元宝应用中创建机器人后,从应用设置中获取。
添加完成后必须重启网关使新账号生效:
openclaw gateway restartopenclaw gateway restart会保留既有的安全(safe)、强制(forced)与有界等待(bounded-wait)行为,具体机制可参考 网关重启与守护文档。
方式二:交互式登录
openclaw channels login --channel yuanbao按提示依次输入 App Key(appKey)与 App Secret(appSecret)即可。
关于频道账号管理,openclaw channels还提供一系列配套命令,见 CLI 频道参考:
openclaw channels list # 查看已配置账号与启用状态 openclaw channels status --probe # 对网关上的账号做实时探测 openclaw channels logs --channel yuanbao # 查看该频道子系统日志(默认 200 行)访问控制:私聊策略与群聊 @提及
私聊(DM)访问策略
通过channels.yuanbao.dm.policy控制谁可以向机器人发送私聊消息:
| 值 | 行为 |
|---|---|
open(默认) | 允许所有用户 |
pairing | 未知用户会获得配对码,需通过 CLI 审批 |
allowlist | 仅allowFrom中列出的用户可以对话 |
disabled | 完全禁用私聊 |
当策略为pairing时,未知发送者会收到一个 8 位大写配对码(不含0O1I等易混淆字符),配对码 1 小时过期,且每个频道账号待审批请求上限为 3 个;该消息在你审批之前不会被处理。审批命令如下:
openclaw pairing list yuanbao openclaw pairing approve yuanbao <CODE>配对流程的完整安全模型见 配对文档。需要留意:CLI 审批在未配置命令拥有者时会自动把首个被批准者引导为commands.ownerAllowFrom的拥有者,便于后续执行特权命令;而手动加入allowFrom的发送者不会自动成为命令拥有者。open策略仅在有效 DM 白名单包含"*"通配符时才真正对所有用户开放,若open同时配置了具体的allowFrom条目,运行时仍只放行这些发送者。
群聊 @提及要求
channels.yuanbao.requireMention(默认true)要求机器人在群聊中必须被 @提及后才响应。回复机器人自己的消息会被视为隐式提及。这与 OpenClaw 跨频道的群组规则一致:默认群聊是受限的,回复需要提及(mention gating),最终回复文本自动发布到房间,详见 群组文档。
配置示例:从基础到出站调优
以下 JSON5 配置统一写入 OpenClaw 的网关配置文件中(完整配置结构见 Gateway 配置)。
基础配置,开放私聊策略:
{ 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: { 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) }, }, }merge-text策略会把多个文本块合并缓冲,达到minChars或空闲超过idleMs后自动发送,单条消息超过maxChars则强制拆分;若希望每个块生成后立即发送,设置outboundQueueStrategy: "immediate"即可。这类缓冲参数与 OpenClaw 核心的 block streaming 合并策略(blockStreamingCoalesce.idleMs等)理念一致,可参考 配置示例文档 中的完整模型调优样板。
常用命令
元宝支持平台原生斜杠命令菜单,网关启动时命令会自动同步到平台:
| 命令 | 说明 |
|---|---|
/help | 显示可用命令 |
/status | 显示机器人状态 |
/new | 开启新会话 |
/stop | 停止当前运行 |
/restart | 重启 OpenClaw |
/compact | 压缩会话上下文 |
故障排查
机器人在群聊中无响应:
- 确认机器人已加入群聊
- 确认你 @提及了机器人(默认必需)
- 查看日志:
openclaw logs --follow
机器人收不到消息:
- 确认机器人已在元宝应用中创建并通过审批
- 确认
appKey与appSecret配置正确 - 确认网关正在运行:
openclaw gateway status - 查看日志:
openclaw logs --follow
机器人返回空回复或兜底回复:
- 检查 AI 模型是否返回了有效内容
- 默认兜底回复为:「暂时无法解答,你可以换个问题问问我哦」
- 通过
channels.yuanbao.fallbackReply自定义兜底文案
App Secret 泄露:
- 在元宝应用中重置 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, }, }, }, }, }defaultAccount决定出站 API 未显式指定accountId时使用哪个账号。
消息长度与媒体限制
maxChars:单条消息最大字符数(默认3000)mediaMaxMb:媒体上传/下载大小限制(默认20MB)overflowPolicy:消息超限时的处理策略,"split"(默认,拆分)或"stop"(停止发送)
分块流式输出
元宝支持块级(block-level)流式输出,机器人生成过程中以文本块形式逐段发送:
{ channels: { yuanbao: { disableBlockStreaming: false, // block streaming enabled (default) }, }, }设置disableBlockStreaming: true则整条回复合并为一条消息发送。
群聊历史上下文
{ channels: { yuanbao: { historyLimit: 100, // default: 100, set 0 to disable }, }, }控制群聊中纳入 AI 上下文的历史消息条数,设为0可完全关闭。
引用回复模式
{ channels: { yuanbao: { replyToMode: "first", // "off" | "first" | "all" (default: "first") }, }, }| 值 | 行为 |
|---|---|
off | 不发送引用回复 |
first | 每条入站消息仅第一条回复带引用(默认) |
all | 每条回复都带引用 |
Markdown 防包裹提示注入
默认情况下,机器人会向系统提示中注入一条指令,防止模型把整条回复包进 markdown 代码块:
{ channels: { yuanbao: { markdownHintEnabled: true, // default: true }, }, }调试模式
{ channels: { yuanbao: { debugBotIds: ["bot_user_id_1", "bot_user_id_2"], }, }, }为列出的机器人 ID 输出未脱敏的日志,便于排查问题。
多 Agent 路由(bindings)
使用bindings把元宝的私聊或群聊路由到不同 Agent:
{ agents: { entries: { main: { default: true }, "agent-a": { workspace: "/home/user/agent-a" }, "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 或群组编码
bindings 是 OpenClaw 将入站频道/账号/对端映射到具体 Agent 的通用机制,会话键、精确对端匹配(peer.kind+peer.id)与通配匹配的完整说明见 频道路由文档。
配置参考(完整参数表)
| 设置 | 说明 | 默认值 |
|---|---|---|
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 | 预签名 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 | merge-text:触发发送的最小字符数 | 2800 |
channels.yuanbao.maxChars | merge-text:单条消息最大字符数 | 3000 |
channels.yuanbao.idleMs | merge-text:自动冲刷的空闲超时(毫秒) | 5000 |
channels.yuanbao.mediaMaxMb | 媒体大小限制(MB) | 20 |
channels.yuanbao.historyLimit | 群聊历史上下文条数 | 100 |
channels.yuanbao.disableBlockStreaming | 禁用块级流式输出 | false |
channels.yuanbao.fallbackReply | 模型无内容时的兜底回复 | 暂时无法解答,你可以换个问题问问我哦 |
channels.yuanbao.markdownHintEnabled | 注入 markdown 防包裹指令 | true |
channels.yuanbao.debugBotIds | 调试白名单机器人 ID(未脱敏日志) | [] |
支持的消息类型
- 接收:文本、图片、文件、语音、视频、表情包/自定义表情、自定义元素(链接卡片)。
- 发送:文本(markdown)、图片、文件、语音、视频、表情包。
- 线程与回复:支持引用回复(通过
replyToMode配置);平台不支持线程回复。
延伸阅读
- 频道总览 —— 全部受支持频道(元宝为外部插件条目)
- 配对机制 —— 私聊认证与配对流程
- 群组行为 —— 群聊行为与提及门控
- 频道路由 —— 消息的会话路由与 bindings 匹配
- 安全模型 —— 访问模型与加固建议
- CLI 频道参考 ——
openclaw channels全量命令 - CLI 配对参考 ——
openclaw pairing全量命令
【免费下载链接】openclawThe AI that really does things. Any OS. Any Platform. The lobster way. 🦞项目地址: https://gitcode.com/GitHub_Trending/cl/openclaw
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考