Mensajes
Esta página reúne cómo OpenClaw gestiona los mensajes entrantes, las sesiones, la puesta en cola, el streaming y la visibilidad del razonamiento.Flujo de mensajes (alto nivel)
messages.*para prefijos, puesta en cola y comportamiento de grupos.agents.defaults.*para valores predeterminados de block streaming y fragmentación.- Sobrescrituras por canal (
channels.whatsapp.*,channels.telegram.*, etc.) para límites y cambios de streaming.
Deduplicación de entrada
Los canales pueden volver a entregar el mismo mensaje después de reconexiones. OpenClaw mantiene una caché de corta duración indexada por canal/cuenta/par/sesión/id de mensaje para que las entregas duplicadas no activen otra ejecución del agente.Debouncing de entrada
Los mensajes consecutivos rápidos del mismo remitente pueden agruparse en un único turno del agente mediantemessages.inbound. El debouncing se limita por canal + conversación
y usa el mensaje más reciente para el threading/los IDs de respuesta.
Configuración (valor predeterminado global + sobrescrituras por canal):
- El debounce se aplica a mensajes solo de texto; multimedia/archivos adjuntos se vacían inmediatamente.
- Los comandos de control omiten el debouncing para que sigan siendo independientes.
Sesiones y dispositivos
Las sesiones son propiedad del gateway, no de los clientes.- Los chats directos se consolidan en la clave de sesión principal del agente.
- Los grupos/canales obtienen sus propias claves de sesión.
- El almacén de sesiones y las transcripciones viven en el host del gateway.
Cuerpos de entrada e historial de contexto
OpenClaw separa el cuerpo del prompt del cuerpo del comando:Body: texto del prompt enviado al agente. Esto puede incluir envolturas del canal y envolturas opcionales del historial.CommandBody: texto sin procesar del usuario para analizar directivas/comandos.RawBody: alias heredado deCommandBody(se conserva por compatibilidad).
[Chat messages since your last reply - for context][Current message - respond to this]
CommandBody (o
RawBody) con el texto original del mensaje y mantener Body como el prompt combinado.
Los búferes de historial se configuran mediante messages.groupChat.historyLimit (valor
predeterminado global) y sobrescrituras por canal como channels.slack.historyLimit o
channels.telegram.accounts.<id>.historyLimit (establece 0 para desactivar).
Puesta en cola y seguimientos
Si una ejecución ya está activa, los mensajes entrantes pueden ponerse en cola, dirigirse a la ejecución actual o recopilarse para un turno de seguimiento.- Configura mediante
messages.queue(ymessages.queue.byChannel). - Modos:
interrupt,steer,followup,collect, más variantes de backlog.
Streaming, fragmentación y agrupación
El block streaming envía respuestas parciales a medida que el modelo produce bloques de texto. La fragmentación respeta los límites de texto del canal y evita dividir código delimitado. Configuraciones clave:agents.defaults.blockStreamingDefault(on|off, desactivado de forma predeterminada)agents.defaults.blockStreamingBreak(text_end|message_end)agents.defaults.blockStreamingChunk(minChars|maxChars|breakPreference)agents.defaults.blockStreamingCoalesce(agrupación basada en inactividad)agents.defaults.humanDelay(pausa similar a la humana entre respuestas por bloques)- Sobrescrituras por canal:
*.blockStreamingy*.blockStreamingCoalesce(los canales que no son Telegram requieren*.blockStreaming: trueexplícito)
Visibilidad del razonamiento y tokens
OpenClaw puede exponer u ocultar el razonamiento del modelo:/reasoning on|off|streamcontrola la visibilidad.- El contenido del razonamiento sigue contando para el uso de tokens cuando lo produce el modelo.
- Telegram admite el streaming del razonamiento en la burbuja de borrador.
Prefijos, threading y respuestas
El formato de los mensajes salientes está centralizado enmessages:
messages.responsePrefix,channels.<channel>.responsePrefixychannels.<channel>.accounts.<id>.responsePrefix(cascada de prefijos salientes), además dechannels.whatsapp.messagePrefix(prefijo entrante de WhatsApp)- Threading de respuestas mediante
replyToModey valores predeterminados por canal