Nachrichten
Diese Seite verbindet, wie OpenClaw eingehende Nachrichten, Sitzungen, Warteschlangen, Streaming und die Sichtbarkeit der Begründung handhabt.Nachrichtenfluss (auf hoher Ebene)
messages.*für Präfixe, Warteschlangen und Gruppenverhalten.agents.defaults.*für Block-Streaming und Chunking-Standards.- Kanalüberschreibungen (
channels.whatsapp.*,channels.telegram.*usw.) für Limits und Streaming-Umschalter.
Eingehende Deduplizierung
Kanäle können nach Wiederverbindungen dieselbe Nachricht erneut zustellen. OpenClaw hält einen kurzlebigen Cache, der nach Kanal/Konto/Peer/Sitzung/Nachrichten-ID indiziert ist, sodass doppelte Zustellungen keinen weiteren Agentenlauf auslösen.Eingehendes Debouncing
Schnell aufeinanderfolgende Nachrichten vom gleichen Absender können übermessages.inbound zu
einem einzelnen Agenten-Zug gebündelt werden. Debouncing ist pro Kanal + Unterhaltung begrenzt
und verwendet die zuletzt eingegangene Nachricht für Antwort-Threading/IDs.
Konfiguration (globaler Standard + kanalweise Überschreibungen):
- Debouncing gilt für reine Text-Nachrichten; Medien/Anhänge werden sofort weitergereicht.
- Steuerbefehle umgehen das Debouncing, sodass sie eigenständig bleiben.
Sitzungen und Geräte
Sitzungen gehören dem Gateway, nicht den Clients.- Direktchats werden auf den Hauptsitzungsschlüssel des Agenten zusammengeführt.
- Gruppen/Kanäle erhalten eigene Sitzungsschlüssel.
- Der Sitzungsspeicher und die Transkripte liegen auf dem Gateway-Host.
Eingehende Körper und Verlaufskontext
OpenClaw trennt den Prompt-Body vom Command-Body:Body: Prompt-Text, der an den Agenten gesendet wird. Dies kann Kanalumschläge und optionale Verlaufs-Wrapper enthalten.CommandBody: Roher Benutzertext für die Direktiven-/Befehlsanalyse.RawBody: Legacy-Alias fürCommandBody(aus Kompatibilitätsgründen beibehalten).
[Chat messages since your last reply - for context][Current message - respond to this]
CommandBody (oder
RawBody) auf den ursprünglichen Nachrichtentext setzen und Body als
kombinierten Prompt beibehalten.
Verlaufspuffer sind über messages.groupChat.historyLimit (globaler
Standard) und kanalweise Überschreibungen wie channels.slack.historyLimit oder
channels.telegram.accounts.<id>.historyLimit konfigurierbar (zum Deaktivieren 0 setzen).
Warteschlangen und Follow-ups
Wenn bereits ein Lauf aktiv ist, können eingehende Nachrichten in eine Warteschlange gestellt, in den aktuellen Lauf gelenkt oder für einen Folgezug gesammelt werden.- Konfiguration über
messages.queue(undmessages.queue.byChannel). - Modi:
interrupt,steer,followup,collect, plus Backlog-Varianten.
Streaming, Chunking und Batching
Block-Streaming sendet Teilantworten, während das Modell Textblöcke erzeugt. Chunking berücksichtigt Textlimits der Kanäle und vermeidet das Aufteilen von umschlossenen Codeblöcken. Zentrale Einstellungen:agents.defaults.blockStreamingDefault(on|off, standardmäßig aus)agents.defaults.blockStreamingBreak(text_end|message_end)agents.defaults.blockStreamingChunk(minChars|maxChars|breakPreference)agents.defaults.blockStreamingCoalesce(leerlaufbasiertes Batching)agents.defaults.humanDelay(menschenähnliche Pause zwischen Blockantworten)- Kanalüberschreibungen:
*.blockStreamingund*.blockStreamingCoalesce(Nicht-Telegram-Kanäle erfordern ein explizites*.blockStreaming: true)
Sichtbarkeit der Begründung und Token
OpenClaw kann die Modellbegründung ein- oder ausblenden:/reasoning on|off|streamsteuert die Sichtbarkeit.- Begründungsinhalte zählen weiterhin zum Tokenverbrauch, wenn sie vom Modell erzeugt werden.
- Telegram unterstützt das Streaming der Begründung in die Entwurfsblase.
Präfixe, Threading und Antworten
Die Formatierung ausgehender Nachrichten ist zentralisiert inmessages:
messages.responsePrefix,channels.<channel>.responsePrefixundchannels.<channel>.accounts.<id>.responsePrefix(Kaskade ausgehender Präfixe) sowiechannels.whatsapp.messagePrefix(WhatsApp-Eingangspräfix)- Antwort-Threading über
replyToModeund kanalweise Standards