Meddelanden
Den här sidan knyter samman hur OpenClaw hanterar inkommande meddelanden, sessioner, köhantering, strömning och synlighet för resonemang.Meddelandeflöde (övergripande)
messages.*för prefix, köhantering och gruppbeteende.agents.defaults.*för blockstreaming och standardvärden för chunking.- Kanal åsidosätter (
channels.whatsapp.*,channels.telegram.*, etc.) för caps och streaming toggles.
Inkommande deduplicering
Kanaler kan återleverera samma meddelande efter återanslutning. OpenClaw håller en kortlivad cacheknapp per kanal/konto/peer/session/meddelande-id så att dubbla leveranser inte utlöser en annan agent som körs.Inkommande debouncing
Snabba på varandra följande meddelanden från samma avsändare kan buntas in i en enda agent sväng viamessages.inbound. Debouncing är scoped per kanal + konversation
och använder det senaste meddelandet för svarstråd/IDs.
Konfig (global standard + per-kanal-överskridningar):
- Debounce gäller endast textmeddelanden; media/bilagor töms omedelbart.
- Kontrollkommandon kringgår debouncing så att de förblir fristående.
Sessioner och enheter
Sessioner ägs av gatewayen, inte av klienter.- Direktchattar kollapsar till agentens huvudsessionsnyckel.
- Grupper/kanaler får egna sessionsnycklar.
- Sessionslagret och transkript finns på gateway-värden.
Inkommande kroppar och historikkontext
OpenClaw separerar promptkroppen från kommandokroppen:Body: snabb text skickad till agenten. Detta kan inkludera kanalkuvert och valfria historikomslag.CommandBody: rå användartext för direktiv-/kommandotolkning.RawBody: äldre alias förCommandBody(behålls för kompatibilitet).
[Chat messages since your last reply - for context][Current message - respond to this]
CommandBody (eller
RawBody) till den ursprungliga meddelandetexten och behålla Body som den kombinerade prompten.
Historikbuffertar kan konfigureras via messages.groupChat.historyLimit (global
standard) och per-channel överskrider som channels.slack.historyLimit eller
channels.telegram.accounts.<id>.historyLimit (sätt 0 till inaktivera).
Köhantering och uppföljningar
Om en körning redan är aktiv kan inkommande meddelanden köas, styras in i den aktuella körningen eller samlas för ett uppföljningsvarv.- Konfigurera via
messages.queue(ochmessages.queue.byChannel). - Lägen:
interrupt,steer,followup,collect, samt backlog-varianter.
Strömning, chunking och batchning
Blockstreaming skickar partiella svar när modellen producerar textblock. Chunking respekterar kanalens textgränser och undviker delning av inhägnad kod. Viktiga inställningar:agents.defaults.blockStreamingDefault(on|off, standard av)agents.defaults.blockStreamingBreak(text_end|message_end)agents.defaults.blockStreamingChunk(minChars|maxChars|breakPreference)agents.defaults.blockStreamingCoalesce(inaktivitetbaserad batchning)agents.defaults.humanDelay(människolik paus mellan blocksvar)- Kanalöverskridningar:
*.blockStreamingoch*.blockStreamingCoalesce(icke-Telegram-kanaler kräver explicit*.blockStreaming: true)
Synlighet för resonemang och token
OpenClaw kan visa eller dölja modellens resonemang:/reasoning on|off|streamstyr synligheten.- Resonemangsinnehåll räknas fortfarande mot tokenanvändning när det produceras av modellen.
- Telegram stöder strömning av resonemang in i utkastbubblan.
Prefix, trådning och svar
Formatering av utgående meddelanden är centraliserad imessages:
messages.responsePrefix,kanaler.<channel>.responsePrefix, ochkanaler.<channel>.accounts.<id>.responsePrefix(utgående prefix kaskade), pluschannels.whatsapp.messagePrefix(WhatsApp inkommande prefix)- Svarstrådning via
replyToModeoch per-kanalstandarder