Messaggi
Questa pagina riunisce il modo in cui OpenClaw gestisce i messaggi in entrata, le sessioni, l’accodamento, lo streaming e la visibilità del ragionamento.Flusso dei messaggi (panoramica)
messages.*per prefissi, accodamento e comportamento dei gruppi.agents.defaults.*per i valori predefiniti di streaming a blocchi e chunking.- Override del canale (
channels.whatsapp.*,channels.telegram.*, ecc.) per limiti e opzioni di streaming.
Deduplicazione in entrata
I canali possono riconsegnare lo stesso messaggio dopo una riconnessione. OpenClaw mantiene una cache di breve durata con chiave channel/account/peer/session/message id, così le consegne duplicate non attivano un’altra esecuzione dell’agente.Debouncing in entrata
Messaggi rapidi e consecutivi provenienti dallo stesso mittente possono essere raggruppati in un singolo turno dell’agente tramitemessages.inbound. Il debouncing è limitato a canale + conversazione
e usa il messaggio più recente per il threading/le identificazioni della risposta.
Configurazione (valore predefinito globale + override per canale):
- Il debounce si applica ai messaggi solo testo; i contenuti multimediali/gli allegati vengono inviati immediatamente.
- I comandi di controllo bypassano il debounce, così rimangono autonomi.
Sessioni e dispositivi
Le sessioni appartengono al gateway, non ai client.- Le chat dirette confluiscono nella chiave di sessione principale dell’agente.
- Gruppi/canali ottengono le proprie chiavi di sessione.
- L’archivio delle sessioni e le trascrizioni risiedono sull’host del gateway.
Corpi dei messaggi in entrata e contesto della cronologia
OpenClaw separa il corpo del prompt dal corpo del comando:Body: testo del prompt inviato all’agente. Può includere envelope del canale e wrapper facoltativi della cronologia.CommandBody: testo grezzo dell’utente per l’analisi di direttive/comandi.RawBody: alias legacy perCommandBody(mantenuto per compatibilità).
[Chat messages since your last reply - for context][Current message - respond to this]
CommandBody (o
RawBody) al testo originale del messaggio e mantenere Body come prompt combinato.
I buffer della cronologia sono configurabili tramite messages.groupChat.historyLimit (valore
predefinito globale) e override per canale come channels.slack.historyLimit o
channels.telegram.accounts.<id>.historyLimit (imposta 0 per disabilitare).
Accodamento e followup
Se un’esecuzione è già attiva, i messaggi in entrata possono essere accodati, indirizzati nell’esecuzione corrente o raccolti per un turno di followup.- Configura tramite
messages.queue(emessages.queue.byChannel). - Modalità:
interrupt,steer,followup,collect, più le varianti backlog.
Streaming, chunking e batching
Lo streaming a blocchi invia risposte parziali mentre il modello produce blocchi di testo. Il chunking rispetta i limiti di testo del canale ed evita di suddividere blocchi di codice delimitati. Impostazioni principali:agents.defaults.blockStreamingDefault(on|off, predefinito off)agents.defaults.blockStreamingBreak(text_end|message_end)agents.defaults.blockStreamingChunk(minChars|maxChars|breakPreference)agents.defaults.blockStreamingCoalesce(batching basato su inattività)agents.defaults.humanDelay(pausa simile a quella umana tra le risposte a blocchi)- Override del canale:
*.blockStreaminge*.blockStreamingCoalesce(i canali non Telegram richiedono*.blockStreaming: trueesplicito)
Visibilità del ragionamento e token
OpenClaw può mostrare o nascondere il ragionamento del modello:/reasoning on|off|streamcontrolla la visibilità.- Il contenuto del ragionamento conta comunque ai fini dell’utilizzo dei token quando viene prodotto dal modello.
- Telegram supporta lo stream del ragionamento nella bolla di bozza.
Prefissi, threading e risposte
La formattazione dei messaggi in uscita è centralizzata inmessages:
messages.responsePrefix,channels.<channel>.responsePrefixechannels.<channel>.accounts.<id>.responsePrefix(cascata dei prefissi in uscita), piùchannels.whatsapp.messagePrefix(prefisso in entrata di WhatsApp)- Threading delle risposte tramite
replyToModee valori predefiniti per canale