Berichten
Deze pagina brengt samen hoe OpenClaw omgaat met inkomende berichten, sessies, wachtrijen, streaming en zichtbaarheid van redenering.Berichtstroom (hoog niveau)
messages.*voor prefixen, wachtrijen en groepsgedrag.agents.defaults.*voor blokstreaming en standaardinstellingen voor chunking.- Kanaaloverschrijvingen (
channels.whatsapp.*,channels.telegram.*, enz.) voor limieten en streaming-toggles.
Inkomende dedupe
Kanalen kunnen hetzelfde bericht opnieuw afleveren na reconnects. OpenClaw houdt een kortlevende cache bij, gesleuteld op kanaal/account/peer/sessie/bericht-id, zodat dubbele afleveringen geen nieuwe agent-run triggeren.Inkomende debouncing
Snelle opeenvolgende berichten van dezelfde afzender kunnen viamessages.inbound worden
gebundeld tot één agentbeurt. Debouncing is gescopeerd per kanaal + gesprek
en gebruikt het meest recente bericht voor antwoord-threading/ID’s.
Config (globale standaard + per-kanaaloverschrijvingen):
- Debounce is van toepassing op alleen-tekst berichten; media/bijlagen worden direct geflusht.
- Besturingsopdrachten omzeilen debouncing zodat ze zelfstandig blijven.
Sessies en apparaten
Sessies zijn eigendom van de Gateway, niet van clients.- Directe chats worden samengevoegd in de hoofdsessiesleutel van de agent.
- Groepen/kanalen krijgen hun eigen sessiesleutels.
- De sessieopslag en transcripties leven op de Gateway-host.
Inkomende bodies en contextgeschiedenis
OpenClaw scheidt de prompt body van de command body:Body: prompttekst die naar de agent wordt gestuurd. Dit kan kanaalomslagen en optionele geschiedeniswrappers bevatten.CommandBody: ruwe gebruikerstekst voor directive-/command-parsing.RawBody: legacy-alias voorCommandBody(behouden voor compatibiliteit).
[Chat messages since your last reply - for context][Current message - respond to this]
CommandBody (of
RawBody) instellen op de oorspronkelijke berichttekst en Body behouden
als de gecombineerde prompt.
Geschiedenisbuffers zijn configureerbaar via messages.groupChat.historyLimit
(globale standaard) en per-kanaaloverschrijvingen zoals channels.slack.historyLimit of
channels.telegram.accounts.<id>.historyLimit (stel 0 in om uit te schakelen).
Wachtrij en opvolging
Als er al een run actief is, kunnen inkomende berichten in de wachtrij worden geplaatst, naar de huidige run worden gestuurd, of worden verzameld voor een vervolgbeurt.- Configureren via
messages.queue(enmessages.queue.byChannel). - Modi:
interrupt,steer,followup,collect, plus backlog-varianten.
Streaming, chunking en batching
Blokstreaming verzendt gedeeltelijke antwoorden terwijl het model tekstblokken produceert. Chunking respecteert tekstlimieten van kanalen en voorkomt het splitsen van fenced code. Belangrijke instellingen:agents.defaults.blockStreamingDefault(on|off, standaard uit)agents.defaults.blockStreamingBreak(text_end|message_end)agents.defaults.blockStreamingChunk(minChars|maxChars|breakPreference)agents.defaults.blockStreamingCoalesce(idle-gebaseerde batching)agents.defaults.humanDelay(mensachtige pauze tussen blokantwoorden)- Kanaaloverschrijvingen:
*.blockStreamingen*.blockStreamingCoalesce(niet-Telegram-kanalen vereisen expliciete*.blockStreaming: true)
Zichtbaarheid van redenering en tokens
OpenClaw kan modelredenering tonen of verbergen:/reasoning on|off|streamregelt de zichtbaarheid.- Redeneringsinhoud telt nog steeds mee voor tokengebruik wanneer deze door het model wordt geproduceerd.
- Telegram ondersteunt het streamen van redenering in de conceptbubbel.
Prefixen, threading en antwoorden
Uitgaande berichtopmaak is gecentraliseerd inmessages:
messages.responsePrefix,channels.<channel>.responsePrefixenchannels.<channel>.accounts.<id>.responsePrefix(cascade voor uitgaande prefixen), pluschannels.whatsapp.messagePrefix(WhatsApp inkomende prefix)- Antwoord-threading via
replyToModeen per-kanaalstandaarden