Köprü protokolü (eski düğüm taşıması)
Köprü protokolü eski bir düğüm taşımasıdır (TCP JSONL). Yeni düğüm istemcileri bunun yerine birleşik Gateway WebSocket protokolünü kullanmalıdır. Bir operatör veya düğüm istemcisi geliştiriyorsanız, Gateway protokolü kullanın. Not: Güncel OpenClaw sürümleri artık TCP köprü dinleyicisini dağıtmamaktadır; bu belge tarihsel referans için tutulmaktadır. Eskibridge.* yapılandırma anahtarları artık yapılandırma şemasının parçası değildir.
Neden ikisi de var
- Güvenlik sınırı: köprü, tam gateway API yüzeyi yerine küçük bir izin listesi açığa çıkarır.
- Eşleştirme + düğüm kimliği: düğüm kabulü gateway tarafından yönetilir ve düğüm başına bir belirtece bağlanır.
- Keşif UX’i: düğümler LAN üzerinde Bonjour aracılığıyla gateway’leri keşfedebilir veya bir tailnet üzerinden doğrudan bağlanabilir.
- Loopback WS: tam WS kontrol düzlemi, SSH ile tünellenmedikçe yerel kalır.
Taşıma
- TCP, satır başına bir JSON nesnesi (JSONL).
- İsteğe bağlı TLS (
bridge.tls.enabledtrue olduğunda). - Eski varsayılan dinleyici portu
18790idi (güncel sürümler TCP köprüsü başlatmaz).
bridgeTls=1 ile birlikte
bridgeTlsSha256 içerir; böylece düğümler sertifikayı sabitleyebilir. Bonjour/mDNS TXT kayıtlarının
kimliği doğrulanmamıştır; istemciler, açık kullanıcı niyeti veya bant dışı başka bir doğrulama olmadan
ilan edilen parmak izini yetkili bir pin olarak değerlendirmemelidir.
El sıkışma + eşleştirme
- İstemci, düğüm meta verileri + belirteç (zaten eşleştirilmişse) ile
hellogönderir. - Eşleştirilmemişse, gateway
error(NOT_PAIRED/UNAUTHORIZED) ile yanıtlar. - İstemci
pair-requestgönderir. - Gateway onayı bekler, ardından
pair-okvehello-okgönderir.
hello-ok, serverName döndürür ve canvasHostUrl içerebilir.
Çerçeveler
İstemci → Gateway:req/res: kapsamlı gateway RPC (chat, sessions, config, health, voicewake, skills.bins)event: düğüm sinyalleri (ses dökümü, ajan isteği, sohbet aboneliği, çalıştırma yaşam döngüsü)
invoke/invoke-res: düğüm komutları (canvas.*,camera.*,screen.record,location.get,sms.send)event: abone olunan oturumlar için sohbet güncellemeleriping/pong: keepalive
src/gateway/server-bridge.ts içinde yer alıyordu (kaldırıldı).
Exec lifecycle events
Düğümler, system.run etkinliğini yüzeye çıkarmak içinexec.finished veya exec.denied olayları yayımlayabilir.
Bunlar gateway’de sistem olaylarına eşlenir. (Eski düğümler hâlâ exec.started yayımlayabilir.)
Yük alanı alanları (belirtilmedikçe tümü isteğe bağlıdır):
sessionKey(zorunlu): sistem olayını alacak ajan oturumu.runId: gruplama için benzersiz çalıştırma kimliği.command: ham veya biçimlendirilmiş komut dizesi.exitCode,timedOut,success,output: tamamlanma ayrıntıları (yalnızca finished).reason: reddedilme nedeni (yalnızca denied).
Tailnet kullanımı
- Köprüyü bir tailnet IP’sine bağlayın:
bridge.bind: "tailnet",~/.openclaw/openclaw.jsoniçinde. - İstemciler MagicDNS adı veya tailnet IP’si üzerinden bağlanır.
- Bonjour ağlar arası geçmez; gerektiğinde manuel ana makine/port veya geniş alan DNS‑SD kullanın.