跳转到内容

Yuanbao

Tencent Yuanbao 是腾讯的 AI 助手平台。OpenClaw 渠道插件通过 WebSocket 将 Yuanbao 机器人连接到 OpenClaw,以便它们可以通过私信和群聊与用户互动。

状态: 适用于机器人私信和群聊的生产就绪版本。WebSocket 是唯一支持的连接模式。


需要 OpenClaw 2026.4.10 或更高版本。 运行 openclaw --version 进行检查。使用 openclaw update 进行升级。

  1. 使用您的凭据添加 Yuanbao 渠道

    Terminal window
    openclaw channels add --channel yuanbao --token "appKey:appSecret"

    --token 值使用冒号分隔的 appKey:appSecret 格式。您可以通过在应用程序设置中创建机器人,从 Yuanbao 应用中获取这些信息。

  2. 设置完成后,重启网关以应用更改

    Terminal window
    openclaw gateway restart

您也可以使用交互式向导:

Terminal window
openclaw channels login --channel yuanbao

按照提示输入您的 App ID 和 App Secret。


配置 dmPolicy 以控制谁可以向机器人发送私信:

  • "pairing" - 未知用户会收到配对代码;通过 CLI 批准
  • "allowlist" - 只有 allowFrom 中列出的用户可以聊天
  • "open" - 允许所有用户(默认)
  • "disabled" - 禁用所有私信

批准配对请求:

Terminal window
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",
},
},
}
{
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压缩会话上下文

元宝支持原生斜杠命令菜单。网关启动时,命令会自动同步到平台。


  1. 确保机器人已添加到群组中
  2. 确保你 @提及 了机器人(默认情况下必需)
  3. 检查日志:openclaw logs --follow
  1. 确保机器人已在元宝应用中创建并获批
  2. 确保 appKeyappSecret 配置正确
  3. 确保网关正在运行:openclaw gateway status
  4. 检查日志:openclaw logs --follow
  1. 检查 AI 模型是否返回有效内容
  2. 默认的后备回复是:“暂时无法解答,你可以换个问题问问我哦”
  3. 通过 channels.yuanbao.fallbackReply 进行自定义
  1. 在元宝 APP 中重置 App Secret
  2. 更新配置中的值
  3. 重启网关: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 - 媒体上传/下载限制(默认:20 MB)
  • overflowPolicy - 消息超出限制时的行为:"split"(默认)或 "stop"

元宝支持块级流式输出。启用后,机器人会在生成过程中分块发送文本。

{
channels: {
yuanbao: {
disableBlockStreaming: false, // block streaming enabled (default)
},
},
}

设置 disableBlockStreaming: true 以在一条消息中发送完整回复。

控制在群聊的 AI 上下文中包含多少条历史消息:

{
channels: {
yuanbao: {
historyLimit: 100, // default: 100, set 0 to disable
},
},
}

控制机器人在群聊中回复时如何引用消息:

{
channels: {
yuanbao: {
replyToMode: "first", // "off" | "first" | "all" (default: "first")
},
},
}
行为
"off"无引用回复
"first"仅对每条入站消息的第一次回复进行引用(默认)
"all"引用每次回复

默认情况下,机器人会在系统提示词中注入指令,以防止 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(用于签名和票据生成)-
channels.yuanbao.accounts.<id>.appSecretApp 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长消息处理(splitstopsplit
channels.yuanbao.replyToMode群组回复策略 (off, first, all)first
channels.yuanbao.outboundQueueStrategy出站策略 (merge-textimmediate)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.fallbackReplyAI 未返回内容时的备用回复暂时无法解答,你可以换个问题问问我哦
channels.yuanbao.markdownHintEnabled注入 Markdown 防换行指令true
channels.yuanbao.debugBotIds调试白名单机器人 ID (未经脱敏的日志)[]

  • ✅ 文本
  • ✅ 图片
  • ✅ 文件
  • ✅ 音频 / 语音
  • ✅ 视频
  • ✅ 表情 / 自定义表情
  • ✅ 自定义元素 (链接卡片等)
  • ✅ 文本 (支持 Markdown)
  • ✅ 图片
  • ✅ 文件
  • ✅ 音频
  • ✅ 视频
  • ✅ 表情
  • ✅ 引用回复 (可通过 replyToMode 配置)
  • ❌ 主题回复 (平台不支持)