Canales y enrutamiento
OpenClaw enruta las respuestas de vuelta al canal de donde provino un mensaje. El modelo no elige un canal; el enrutamiento es determinista y está controlado por la configuración del host.Términos clave
- Canal:
whatsapp,telegram,discord,slack,signal,imessage,webchat. - AccountId: instancia de cuenta por canal (cuando es compatible).
- AgentId: un espacio de trabajo aislado + almacén de sesiones (“cerebro”).
- SessionKey: la clave de agrupación utilizada para almacenar contexto y controlar la concurrencia.
Formas de claves de sesión (ejemplos)
Los mensajes directos se agrupan en la sesión principal del agente:agent:<agentId>:<mainKey>(predeterminado:agent:main:main)
- Grupos:
agent:<agentId>:<channel>:group:<id> - Canales/salas:
agent:<agentId>:<channel>:channel:<id>
- Los hilos de Slack/Discord agregan
:thread:<threadId>a la clave base. - Los temas de foros de Telegram integran
:topic:<topicId>en la clave del grupo.
agent:main:telegram:group:-1001234567890:topic:42agent:main:discord:channel:123456:thread:987654
Reglas de enrutamiento (cómo se elige un agente)
El enrutamiento selecciona un agente para cada mensaje entrante:- Coincidencia exacta del par (
bindingsconpeer.kind+peer.id). - Coincidencia de par principal (herencia de hilo).
- Hilos:
- Coincidencia de gremio (Discord) mediante
guildId. - Coincidencia de equipo (Slack) mediante
teamId. - Coincidencia de cuenta (
accountIden el canal). - Coincidencia de canal (cualquier cuenta en ese canal).
- Agente predeterminado (
agents.list[].default; de lo contrario, la primera entrada de la lista; con respaldo amain).
peer, guildId, teamId, roles), todos los campos proporcionados deben coincidir para que esa vinculación se aplique.
El agente coincidente determina qué espacio de trabajo y almacén de sesiones se utilizan.
Grupos de difusión (ejecutar múltiples agentes)
Los grupos de difusión le permiten ejecutar múltiples agentes para el mismo par cuando OpenClaw normalmente respondería (por ejemplo: en grupos de WhatsApp, después del control por mención/activación). Configuración:Descripción general de la configuración
agents.list: definiciones de agentes con nombre (espacio de trabajo, modelo, etc.).bindings: asigna canales/cuentas/pares entrantes a agentes.
Almacenamiento de sesiones
Los almacenes de sesiones viven bajo el directorio de estado (predeterminado~/.openclaw):
~/.openclaw/agents/<agentId>/sessions/sessions.json- Las transcripciones JSONL se almacenan junto al almacén
session.store y {agentId}.
Comportamiento de WebChat
WebChat se adjunta al agente seleccionado y, de forma predeterminada, a la sesión principal del agente. Debido a esto, WebChat le permite ver el contexto entre canales para ese agente en un solo lugar.Contexto de respuesta
Las respuestas entrantes incluyen:ReplyToId,ReplyToBodyyReplyToSendercuando están disponibles.- El contexto citado se agrega a
Bodycomo un bloque[Replying to ...].