Gateway’ye ait eşleştirme (Seçenek B)
Gateway’ye ait eşleştirmede, Gateway (Ağ Geçidi) hangi düğümlerin katılmasına izin verildiği konusunda tek doğruluk kaynağıdır. Kullanıcı arayüzleri (macOS uygulaması, gelecekteki istemciler) yalnızca bekleyen istekleri onaylayan veya reddeden ön yüzlerdir. Önemli: WS düğümleri,connect sırasında cihaz eşleştirmesi (rol node) kullanır.
node.pair.* ayrı bir eşleştirme deposudur ve WS el sıkışmasını kontrol etmez.
Yalnızca node.pair.* çağrısını açıkça yapan istemciler bu akışı kullanır.
Kavramlar
- Bekleyen istek: katılmak isteyen bir düğüm; onay gerektirir.
- Eşleştirilmiş düğüm: onaylanmış ve bir kimlik doğrulama belirteci verilmiş düğüm.
- Taşıma: Gateway WS uç noktası istekleri iletir ancak üyeliğe karar vermez. (Eski TCP köprü desteği kullanım dışıdır/kaldırılmıştır.)
Eşleştirme nasıl çalışır
- Bir düğüm Gateway WS’ye bağlanır ve eşleştirme talep eder.
- Gateway bir bekleyen istek saklar ve
node.pair.requestedyayar. - İsteği onaylar veya reddedersiniz (CLI veya UI).
- Onaylandığında, Gateway yeni bir belirteç verir (yeniden eşleştirmede belirteçler döndürülür).
- Düğüm belirteci kullanarak yeniden bağlanır ve artık “eşleştirilmiş” olur.
CLI iş akışı (başsız ortamlara uygun)
nodes status, eşleştirilmiş/bağlı düğümleri ve yeteneklerini gösterir.
API yüzeyi (gateway protokolü)
Olaylar:node.pair.requested— yeni bir bekleyen istek oluşturulduğunda yayımlanır.node.pair.resolved— bir istek onaylandığında/reddedildiğinde/süresi dolduğunda yayımlanır.
node.pair.request— bir bekleyen istek oluşturur veya yeniden kullanır.node.pair.list— bekleyen + eşleştirilmiş düğümleri listeler.node.pair.approve— bir bekleyen isteği onaylar (belirteç verir).node.pair.reject— bir bekleyen isteği reddeder.node.pair.verify—{ nodeId, token }doğrular.
node.pair.requestdüğüm başına idempotenttir: tekrarlanan çağrılar aynı bekleyen isteği döndürür.- Onay her zaman yeni bir belirteç üretir;
node.pair.requesthiçbir zaman belirteç döndürmez. - İstekler, otomatik onay akışları için bir ipucu olarak
silent: trueiçerebilir.
Otomatik onay (macOS uygulaması)
macOS uygulaması, aşağıdaki durumlarda isteğe bağlı olarak sessiz onay denemesi yapabilir:- istek
silentolarak işaretliyse ve - uygulama, aynı kullanıcıyı kullanarak gateway ana makinesine bir SSH bağlantısını doğrulayabiliyorsa.
Depolama (yerel, özel)
Eşleştirme durumu Gateway durum dizini altında saklanır (varsayılan~/.openclaw):
~/.openclaw/nodes/paired.json~/.openclaw/nodes/pending.json
OPENCLAW_STATE_DIR’yi geçersiz kılarsanız, nodes/ klasörü onunla birlikte taşınır.
Güvenlik notları:
- Belirteçler gizlidir;
paired.json’ü hassas kabul edin. - Bir belirteci döndürmek yeniden onay gerektirir (veya düğüm girdisini silmek).
Taşıma davranışı
- Taşıma durumsuzdur; üyeliği saklamaz.
- Gateway çevrimdışıysa veya eşleştirme devre dışıysa, düğümler eşleştirilemez.
- Gateway uzak moddaysa, eşleştirme yine uzak Gateway’nin deposuna karşı gerçekleşir.