Ir al contenido

Yuanbao

Tencent Yuanbao es la plataforma de asistente de IA de Tencent. El complemento de canal de OpenClaw conecta los bots de Yuanbao con OpenClaw a través de WebSocket para que puedan interactuar con los usuarios a través de mensajes directos y chats de grupo.

Estado: listo para producción para MDs de bot + chats de grupo. WebSocket es el único modo de conexión admitido.


Requiere OpenClaw 2026.4.10 o superior. Ejecute openclaw --version para verificar. Actualice con openclaw update.

  1. Añada el canal Yuanbao con sus credenciales

    Ventana de terminal
    openclaw channels add --channel yuanbao --token "appKey:appSecret"

    El valor --token utiliza el formato appKey:appSecret separado por dos puntos. Puede obtenerlos desde la aplicación Yuanbao creando un robot en la configuración de su aplicación.

  2. Una vez completada la configuración, reinicie la puerta de enlace para aplicar los cambios

    Ventana de terminal
    openclaw gateway restart

También puede utilizar el asistente interactivo:

Ventana de terminal
openclaw channels login --channel yuanbao

Siga las indicaciones para ingresar su ID de aplicación (App ID) y su Secreto de aplicación (App Secret).


Configure dmPolicy para controlar quién puede enviar MDs al bot:

  • "pairing" - los usuarios desconocidos reciben un código de emparejamiento; apruebe a través de la CLI
  • "allowlist" - solo los usuarios listados en allowFrom pueden chatear
  • "open" - permitir a todos los usuarios (por defecto)
  • "disabled" - deshabilitar todos los MDs

Aprobar una solicitud de emparejamiento:

Ventana de terminal
openclaw pairing list yuanbao
openclaw pairing approve yuanbao <CODE>

Requisito de mención (channels.yuanbao.requireMention):

  • true - requerir @mención (por defecto)
  • false - responder sin @mención

Responder al mensaje del bot en un chat de grupo se trata como una mención implícita.


Configuración básica con política de MD abierta

Sección titulada «Configuración básica con política de MD abierta»
{
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"],
},
},
},
}

Deshabilitar el requisito de @mención en grupos

Sección titulada «Deshabilitar el requisito de @mención en grupos»
{
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)
},
},
}

ComandoDescripción
/helpMostrar comandos disponibles
/statusMostrar el estado del bot
/newIniciar una nueva sesión
/stopDetener la ejecución actual
/restartReiniciar OpenClaw
/compactCompactar el contexto de la sesión

Yuanbao admite menús nativos de comandos de barra diagonal. Los comandos se sincronizan con la plataforma automáticamente cuando se inicia la puerta de enlace.


  1. Asegúrese de que el bot se haya agregado al grupo
  2. Asegúrese de hacer una @mención al bot (requerido por defecto)
  3. Verifique los registros: openclaw logs --follow
  1. Asegúrese de que el bot esté creado y aprobado en la aplicación Yuanbao
  2. Asegúrese de que appKey y appSecret estén configurados correctamente
  3. Asegúrese de que la puerta de enlace esté ejecutándose: openclaw gateway status
  4. Verifique los registros: openclaw logs --follow

El bot envía respuestas vacías o de reserva

Sección titulada «El bot envía respuestas vacías o de reserva»
  1. Verifique si el modelo de IA está devolviendo contenido válido
  2. La respuesta de reserva predeterminada es: “暂时无法解答,你可以换个问题问问我哦”
  3. Personalícela a través de channels.yuanbao.fallbackReply
  1. Restablezca el Secreto de la aplicación en la aplicación YuanBao
  2. Actualice el valor en su configuración
  3. Reinicie la puerta de enlace: 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 controla qué cuenta se utiliza cuando las API de salida no especifican un accountId.

  • maxChars - recuento máximo de caracteres por mensaje individual (predeterminado: 3000 caracteres)
  • mediaMaxMb - límite de carga/descarga de medios (predeterminado: 20 MB)
  • overflowPolicy - comportamiento cuando el mensaje excede el límite: "split" (predeterminado) o "stop"

Yuanbao admite la salida de transmisión a nivel de bloque. Cuando está habilitado, el bot envía texto en fragmentos a medida que se genera.

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

Establezca disableBlockStreaming: true para enviar la respuesta completa en un solo mensaje.

Controle cuántos mensajes históricos se incluyen en el contexto de la IA para los chats de grupo:

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

Controle cómo el bot cita mensajes al responder en los chats de grupo:

{
channels: {
yuanbao: {
replyToMode: "first", // "off" | "first" | "all" (default: "first")
},
},
}
ValorComportamiento
"off"Sin respuesta con cita
"first"Citar solo la primera respuesta por mensaje entrante (predeterminado)
"all"Citar cada respuesta

De forma predeterminada, el bot inyecta instrucciones en el prompt del sistema para evitar que el modelo de IA envuelva toda la respuesta en bloques de código Markdown.

{
channels: {
yuanbao: {
markdownHintEnabled: true, // default: true
},
},
}

Habilitar salida de registro no saneada para IDs de bot específicos:

{
channels: {
yuanbao: {
debugBotIds: ["bot_user_id_1", "bot_user_id_2"],
},
},
}

Use bindings para enrutar MDs o grupos de Yuanbao a diferentes agentes.

{
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" },
},
},
],
}

Campos de enrutamiento:

  • match.channel: "yuanbao"
  • match.peer.kind: "direct" (MD) o "group" (chat de grupo)
  • match.peer.id: ID de usuario o código de grupo

Configuración completa: Configuración de puerta de enlace

ConfiguraciónDescripciónPredeterminado
channels.yuanbao.enabledHabilitar/deshabilitar el canaltrue
channels.yuanbao.defaultAccountCuenta predeterminada para el enrutamiento salientedefault
channels.yuanbao.accounts.<id>.appKeyApp Key (usada para firmar y generación de tickets)-
channels.yuanbao.accounts.<id>.appSecretApp Secret (usada para firmar)-
channels.yuanbao.accounts.<id>.tokenToken prefirmado (omite la firma automática de tickets)-
channels.yuanbao.accounts.<id>.nameNombre para mostrar de la cuenta-
channels.yuanbao.accounts.<id>.enabledHabilitar/deshabilitar una cuenta específicatrue
channels.yuanbao.dm.policyPolítica de MDopen
channels.yuanbao.dm.allowFromLista de permitidos de MD (lista de ID de usuario)-
channels.yuanbao.requireMentionRequerir @mención en grupostrue
channels.yuanbao.overflowPolicyManejo de mensajes largos (split o stop)split
channels.yuanbao.replyToModeEstrategia de respuesta en grupos (off, first, all)first
channels.yuanbao.outboundQueueStrategyEstrategia de salida (merge-text o immediate)merge-text
channels.yuanbao.minCharsFusión de texto: caracteres mínimos para enviar2800
channels.yuanbao.maxCharsFusión de texto: caracteres máximos por mensaje3000
channels.yuanbao.idleMsFusión de texto: tiempo de espera de inactividad antes del vaciado automático (ms)5000
channels.yuanbao.mediaMaxMbLímite de tamaño de multimedia (MB)20
channels.yuanbao.historyLimitEntradas de contexto del historial del chat grupal100
channels.yuanbao.disableBlockStreamingDesactivar salida de transmisión a nivel de bloquefalse
channels.yuanbao.fallbackReplyRespuesta de reserva cuando la IA no devuelve contenido暂时无法解答,你可以换个问题问问我哦
channels.yuanbao.markdownHintEnabledInyectar instrucciones anti-ajuste de markdowntrue
channels.yuanbao.debugBotIdsIDs de bot de lista blanca de depuración (registros no saneados)[]

  • ✅ Texto
  • ✅ Imágenes
  • ✅ Archivos
  • ✅ Audio / Voz
  • ✅ Video
  • ✅ Pegatinas / Emojis personalizados
  • ✅ Elementos personalizados (tarjetas de enlace, etc.)
  • ✅ Texto (con soporte para markdown)
  • ✅ Imágenes
  • ✅ Archivos
  • ✅ Audio
  • ✅ Video
  • ✅ Pegatinas
  • ✅ Respuestas de cita (configurable mediante replyToMode)
  • ❌ Respuestas de hilo (no compatibles con la plataforma)