Wiadomości
Ta strona łączy informacje o tym, jak OpenClaw obsługuje wiadomości przychodzące, sesje, kolejkowanie, streaming i widoczność rozumowania.Przepływ wiadomości (wysoki poziom)
messages.*dla prefiksów, kolejkowania i zachowania grup.agents.defaults.*dla domyślnych ustawień streamingu blokowego i porcjowania.- Nadpisania kanałów (
channels.whatsapp.*,channels.telegram.*itd.) dla limitów i przełączników streamingu.
Deduplikacja wiadomości przychodzących
Kanały mogą ponownie dostarczyć tę samą wiadomość po ponownym połączeniu. OpenClaw utrzymuje krótkotrwały cache z kluczem opartym na channel/account/peer/session/message id, aby zduplikowane dostarczenia nie uruchamiały kolejnego przebiegu agenta.Debouncing wiadomości przychodzących
Szybkie kolejne wiadomości od tego samego nadawcy mogą zostać zgrupowane w jedną turę agenta za pomocąmessages.inbound. Debouncing jest ograniczony do channel + conversation
i używa najnowszej wiadomości do wątkowania odpowiedzi/ID.
Konfiguracja (domyślna globalna + nadpisania per kanał):
- Debounce dotyczy wiadomości tylko tekstowych; multimedia/załączniki są opróżniane natychmiast.
- Polecenia sterujące omijają debounce, aby pozostały samodzielne.
Sesje i urządzenia
Sesje należą do gateway, a nie do klientów.- Czaty bezpośrednie są zwijane do klucza głównej sesji agenta.
- Grupy/kanały otrzymują własne klucze sesji.
- Magazyn sesji i transkrypcje znajdują się na hoście gateway.
Treści wiadomości przychodzących i kontekst historii
OpenClaw rozdziela treść promptu od treści polecenia:Body: tekst promptu wysyłany do agenta. Może zawierać obwiednie kanału i opcjonalne opakowania historii.CommandBody: surowy tekst użytkownika do parsowania dyrektyw/poleceń.RawBody: starszy alias dlaCommandBody(zachowany dla zgodności).
[Chat messages since your last reply - for context][Current message - respond to this]
CommandBody (lub
RawBody) na oryginalny tekst wiadomości i zachowywać Body jako połączony prompt.
Bufory historii są konfigurowalne przez messages.groupChat.historyLimit (domyślna wartość globalna)
i nadpisania per kanał, takie jak channels.slack.historyLimit lub
channels.telegram.accounts.<id>.historyLimit (ustaw 0, aby wyłączyć).
Kolejkowanie i followupy
Jeśli przebieg jest już aktywny, wiadomości przychodzące mogą zostać zakolejkowane, skierowane do bieżącego przebiegu lub zebrane do tury followup.- Konfiguracja przez
messages.queue(imessages.queue.byChannel). - Tryby:
interrupt,steer,followup,collectoraz warianty backlog.
Streaming, porcjowanie i grupowanie
Streaming blokowy wysyła częściowe odpowiedzi, gdy model generuje bloki tekstu. Porcjowanie uwzględnia limity tekstu kanału i unika dzielenia fenced code. Kluczowe ustawienia:agents.defaults.blockStreamingDefault(on|off, domyślnie off)agents.defaults.blockStreamingBreak(text_end|message_end)agents.defaults.blockStreamingChunk(minChars|maxChars|breakPreference)agents.defaults.blockStreamingCoalesce(grupowanie zależne od bezczynności)agents.defaults.humanDelay(pauza przypominająca ludzką między odpowiedziami blokowymi)- Nadpisania kanałów:
*.blockStreamingi*.blockStreamingCoalesce(kanały inne niż Telegram wymagają jawnego*.blockStreaming: true)
Widoczność rozumowania i tokeny
OpenClaw może ujawniać lub ukrywać rozumowanie modelu:/reasoning on|off|streamkontroluje widoczność.- Treść rozumowania nadal liczy się do użycia tokenów, gdy jest generowana przez model.
- Telegram obsługuje streamowanie rozumowania do dymku wersji roboczej.
Prefiksy, wątkowanie i odpowiedzi
Formatowanie wiadomości wychodzących jest scentralizowane wmessages:
messages.responsePrefix,channels.<channel>.responsePrefixichannels.<channel>.accounts.<id>.responsePrefix(kaskada prefiksów wychodzących), pluschannels.whatsapp.messagePrefix(prefiks przychodzący WhatsApp)- Wątkowanie odpowiedzi przez
replyToModei wartości domyślne per kanał