Mesajlar
Bu sayfa, OpenClaw’ın gelen mesajları, oturumları, kuyruğa almayı, akışı ve muhakeme görünürlüğünü nasıl işlediğini bir araya getirir.Mesaj akışı (üst düzey)
- Önekler, kuyruğa alma ve grup davranışı için
messages.*. - Blok akışı ve parçalara ayırma varsayılanları için
agents.defaults.*. - Sınırlar ve akış geçişleri için kanal geçersiz kılmaları (
channels.whatsapp.*,channels.telegram.*vb.).
Gelen yinelenenleri kaldırma
Kanallar, yeniden bağlanmalardan sonra aynı mesajı yeniden teslim edebilir. OpenClaw, kanal/hesap/eş/oturum/mesaj kimliğine göre anahtarlanmış kısa ömürlü bir önbellek tutar; böylece yinelenen teslimatlar başka bir agent çalıştırmasını tetiklemez.Gelen debounce işlemi
Aynı göndericiden hızlı arka arkaya gelen mesajlar,messages.inbound aracılığıyla
tek bir agent dönüşü içinde gruplanabilir. Debounce, kanal + konuşma başına kapsamlandırılır
ve yanıt iş parçacığı/kimlikleri için en son mesajı kullanır.
Yapılandırma (genel varsayılan + kanal başına geçersiz kılmalar):
- Debounce yalnızca metin tabanlı mesajlara uygulanır; medya/ekler hemen boşaltılır.
- Denetim komutları debounce’u atlar; böylece bağımsız kalırlar.
Oturumlar ve cihazlar
Oturumlar istemcilere değil, gateway’e aittir.- Doğrudan sohbetler agent ana oturum anahtarında birleşir.
- Gruplar/kanallar kendi oturum anahtarlarını alır.
- Oturum deposu ve transkriptler gateway ana bilgisayarında bulunur.
Gelen gövdeler ve geçmiş bağlamı
OpenClaw, istem gövdesini ve komut gövdesini ayırır:Body: agent’a gönderilen istem metni. Buna kanal zarfları ve isteğe bağlı geçmiş sarmalayıcıları dahil olabilir.CommandBody: yönerge/komut ayrıştırması için ham kullanıcı metni.RawBody:CommandBodyiçin eski takma ad (uyumluluk için korunur).
[Son yanıtınızdan bu yana sohbet mesajları - bağlam için][Geçerli mesaj - buna yanıt verin]
CommandBody (veya
RawBody) alanını özgün mesaj metni olarak ayarlamalı ve Body alanını birleşik istem olarak korumalıdır.
Geçmiş arabellekleri messages.groupChat.historyLimit (genel
varsayılan) ve channels.slack.historyLimit veya
channels.telegram.accounts.<id>.historyLimit gibi kanal başına geçersiz kılmalarla yapılandırılabilir (0 devre dışı bırakır).
Kuyruğa alma ve takipler
Bir çalıştırma zaten etkinse, gelen mesajlar kuyruğa alınabilir, geçerli çalıştırmaya yönlendirilebilir veya takip dönüşü için toplanabilir.messages.queue(vemessages.queue.byChannel) üzerinden yapılandırılır.- Modlar:
interrupt,steer,followup,collectve backlog varyantları.
Akış, parçalara ayırma ve toplu gönderim
Blok akışı, model metin blokları ürettikçe kısmi yanıtlar gönderir. Parçalara ayırma, kanal metin sınırlarına uyar ve çitlenmiş kodu bölmekten kaçınır. Temel ayarlar:agents.defaults.blockStreamingDefault(on|off, varsayılan kapalı)agents.defaults.blockStreamingBreak(text_end|message_end)agents.defaults.blockStreamingChunk(minChars|maxChars|breakPreference)agents.defaults.blockStreamingCoalesce(boşta kalma tabanlı toplu gönderim)agents.defaults.humanDelay(blok yanıtları arasında insan benzeri duraklama)- Kanal geçersiz kılmaları:
*.blockStreamingve*.blockStreamingCoalesce(Telegram dışı kanallar açık*.blockStreaming: truegerektirir)
Muhakeme görünürlüğü ve token’lar
OpenClaw, model muhakemesini gösterebilir veya gizleyebilir:/reasoning on|off|streamgörünürlüğü denetler.- Muhakeme içeriği, model tarafından üretildiğinde yine de token kullanımına dahil edilir.
- Telegram, muhakeme akışını taslak balonunda destekler.
Önekler, iş parçacıkları ve yanıtlar
Giden mesaj biçimlendirmesimessages içinde merkezileştirilmiştir:
messages.responsePrefix,channels.<channel>.responsePrefixvechannels.<channel>.accounts.<id>.responsePrefix(giden önek zinciri) ilechannels.whatsapp.messagePrefix(WhatsApp gelen öneki)replyToModeve kanal başına varsayılanlar aracılığıyla yanıt iş parçacıkları