Messages
Cette page rassemble la manière dont OpenClaw gère les messages entrants, les sessions, la mise en file d’attente, le streaming et la visibilité du raisonnement.Flux des messages (vue d’ensemble)
messages.*pour les préfixes, la mise en file d’attente et le comportement des groupes.agents.defaults.*pour les valeurs par défaut du streaming par blocs et du découpage.- Remplacements par canal (
channels.whatsapp.*,channels.telegram.*, etc.) pour les plafonds et les bascules de streaming.
Déduplication entrante
Les canaux peuvent renvoyer le même message après des reconnexions. OpenClaw conserve un cache de courte durée indexé par canal/compte/peer/session/ID de message afin que les livraisons en double ne déclenchent pas une nouvelle exécution d’agent.Antirebond entrant
Des messages rapides et consécutifs du même expéditeur peuvent être regroupés en un seul tour d’agent viamessages.inbound. L’antirebond est limité par canal + conversation
et utilise le message le plus récent pour le fil de réponse/les IDs.
Configuration (valeur globale par défaut + remplacements par canal) :
- L’antirebond s’applique aux messages texte uniquement ; les médias/pièces jointes sont vidés immédiatement.
- Les commandes de contrôle contournent l’antirebond afin de rester autonomes.
Sessions et appareils
Les sessions appartiennent à la passerelle, pas aux clients.- Les discussions directes se replient vers la clé de session principale de l’agent.
- Les groupes/canaux obtiennent leurs propres clés de session.
- Le magasin de sessions et les transcriptions résident sur l’hôte de la passerelle.
Corps entrants et contexte d’historique
OpenClaw sépare le corps de l’invite du corps de la commande :Body: texte de l’invite envoyé à l’agent. Il peut inclure des enveloppes de canal et des wrappers d’historique facultatifs.CommandBody: texte brut de l’utilisateur pour l’analyse des directives/commandes.RawBody: alias hérité deCommandBody(conservé pour compatibilité).
[Chat messages since your last reply - for context][Current message - respond to this]
CommandBody (ou
RawBody) sur le texte du message d’origine et conserver Body comme invite combinée.
Les tampons d’historique sont configurables via messages.groupChat.historyLimit (valeur globale
par défaut) et des remplacements par canal comme channels.slack.historyLimit ou
channels.telegram.accounts.<id>.historyLimit (définissez 0 pour désactiver).
Mise en file d’attente et suivis
Si une exécution est déjà active, les messages entrants peuvent être mis en file, redirigés vers l’exécution courante ou collectés pour un tour de suivi.- Configurez cela via
messages.queue(etmessages.queue.byChannel). - Modes :
interrupt,steer,followup,collect, plus variantes de backlog.
Streaming, découpage et regroupement
Le streaming par blocs envoie des réponses partielles au fur et à mesure que le modèle produit des blocs de texte. Le découpage respecte les limites de texte des canaux et évite de couper les blocs de code délimités. Réglages clés :agents.defaults.blockStreamingDefault(on|off, off par défaut)agents.defaults.blockStreamingBreak(text_end|message_end)agents.defaults.blockStreamingChunk(minChars|maxChars|breakPreference)agents.defaults.blockStreamingCoalesce(regroupement basé sur l’inactivité)agents.defaults.humanDelay(pause de type humain entre les réponses par blocs)- Remplacements par canal :
*.blockStreaminget*.blockStreamingCoalesce(les canaux non Telegram exigent*.blockStreaming: trueexplicite)
Visibilité du raisonnement et jetons
OpenClaw peut exposer ou masquer le raisonnement du modèle :/reasoning on|off|streamcontrôle la visibilité.- Le contenu de raisonnement continue de compter dans l’utilisation des jetons lorsqu’il est produit par le modèle.
- Telegram prend en charge le streaming du raisonnement dans la bulle de brouillon.
Préfixes, fils et réponses
Le formatage des messages sortants est centralisé dansmessages :
messages.responsePrefix,channels.<channel>.responsePrefixetchannels.<channel>.accounts.<id>.responsePrefix(cascade de préfixes sortants), pluschannels.whatsapp.messagePrefix(préfixe entrant WhatsApp)- Fil de réponse via
replyToModeet valeurs par défaut par canal