OpenClaw “presence”, aşağıdakilerin hafif, mümkün olan en iyi çabayla sunulan bir görünümüdür:Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
- Gateway’in kendisi ve
- Gateway’e bağlı istemciler (mac uygulaması, WebChat, CLI vb.)
Presence alanları (neler görünür)
Presence girdileri, şunlar gibi alanlara sahip yapılandırılmış nesnelerdir:instanceId(isteğe bağlı ama önemle önerilir): kararlı istemci kimliği (genellikleconnect.client.instanceId)host: insan tarafından okunabilir ana makine adıip: mümkün olan en iyi çabayla belirlenen IP adresiversion: istemci sürüm dizesideviceFamily/modelIdentifier: donanım ipuçlarımode:ui,webchat,cli,backend,probe,test,node, …lastInputSeconds: “son kullanıcı girişinden bu yana geçen saniye” (biliniyorsa)reason:self,connect,node-connected,periodic, …ts: son güncelleme zaman damgası (epoch’tan bu yana ms)
Üreticiler (presence nereden gelir)
Presence girdileri birden fazla kaynak tarafından üretilir ve birleştirilir.1) Gateway self girdisi
Gateway, başlatma sırasında her zaman bir “self” girdisi oluşturur; böylece kullanıcı arayüzleri, herhangi bir istemci bağlanmadan önce bile gateway ana makinesini gösterir.2) WebSocket connect
Her WS istemcisi birconnect isteğiyle başlar. Başarılı el sıkışmadan sonra
Gateway, bu bağlantı için bir presence girdisini ekler veya günceller.
Tek seferlik CLI komutları neden görünmez
CLI genellikle kısa, tek seferlik komutlar için bağlanır. Instances listesini kalabalıklaştırmamak içinclient.mode === "cli" bir presence girdisine dönüştürülmez.
3) system-event işaretleri
İstemciler system-event yöntemiyle daha zengin periyodik işaretler gönderebilir. mac
uygulaması bunu ana makine adını, IP’yi ve lastInputSeconds değerini bildirmek için kullanır.
4) Node bağlantıları (role: node)
Bir node, Gateway WebSocket üzerindenrole: node ile bağlandığında, Gateway
bu node için bir presence girdisini ekler veya günceller (diğer WS istemcileriyle aynı akış).
Birleştirme + tekilleştirme kuralları (instanceId neden önemlidir)
Presence girdileri tek bir bellek içi haritada saklanır:
- Girdiler bir presence anahtarı ile anahtarlanır.
- En iyi anahtar, yeniden başlatmalardan sonra da korunan kararlı bir
instanceId’dir (connect.client.instanceIdiçinden). - Anahtarlar büyük/küçük harfe duyarsızdır.
instanceId olmadan yeniden bağlanırsa,
yinelenen satır olarak görünebilir.
TTL ve sınırlı boyut
Presence bilerek geçicidir:- TTL: 5 dakikadan eski girdiler budanır
- Maksimum girdi: 200 (önce en eskiler atılır)
Uzak/tünel uyarısı (loopback IP’leri)
Bir istemci SSH tüneli / yerel port yönlendirme üzerinden bağlandığında, Gateway uzak adresi127.0.0.1 olarak görebilir. İstemcinin bildirdiği iyi bir IP’nin
üzerine yazmamak için loopback uzak adresleri yok sayılır.
Tüketiciler
macOS Instances sekmesi
macOS uygulamasısystem-presence çıktısını işler ve son güncellemenin yaşına
göre küçük bir durum göstergesi (Etkin/Boşta/Eski) uygular.
Hata ayıklama ipuçları
- Ham listeyi görmek için Gateway’e karşı
system-presenceçağırın. - Yinelenenler görürseniz:
- istemcilerin el sıkışmada kararlı bir
client.instanceIdgönderdiğini doğrulayın - periyodik işaretlerin aynı
instanceIddeğerini kullandığını doğrulayın - bağlantıdan türetilen girdide
instanceIdeksik olup olmadığını kontrol edin (yinelenenler beklenir)
- istemcilerin el sıkışmada kararlı bir
İlgili
Yazma göstergeleri
Yazma göstergelerinin ne zaman gönderildiği ve nasıl ayarlanacağı.
Akış ve parçalama
Giden akış, parçalama ve kanal başına biçimlendirme.
Gateway mimarisi
Gateway bileşenleri ve presence güncellemelerini çalıştıran WebSocket protokolü.
Gateway protokolü
connect, system-event ve system-presence için kablo protokolü.