Nodes
Bir düğüm, Gateway WebSocket’ine (operatörlerle aynı port)role: "node" ile bağlanan ve node.invoke aracılığıyla bir komut yüzeyi (örn. canvas.*, camera.*, system.*) sunan bir yardımcı cihazdır (macOS/iOS/Android/headless). Protokol ayrıntıları: Gateway protocol.
Eski taşıma: Bridge protocol (TCP JSONL; kullanımdan kaldırıldı/mevcut düğümler için kaldırıldı).
macOS ayrıca node mode’da çalışabilir: menü çubuğu uygulaması Gateway’in WS sunucusuna bağlanır ve yerel canvas/kamera komutlarını bir düğüm olarak sunar (böylece openclaw nodes … bu Mac’e karşı çalışır).
Notlar:
- Düğümler çevre birimleridir, gateway değildir. Gateway hizmetini çalıştırmazlar.
- Telegram/WhatsApp vb. mesajlar düğümlere değil gateway’e ulaşır.
- Sorun giderme rehberi: /nodes/troubleshooting
Eşleştirme + durum
WS düğümleri cihaz eşleştirmesi kullanır. Düğümlerconnect sırasında bir cihaz kimliği sunar; Gateway role: node için bir cihaz eşleştirme isteği oluşturur. Cihazın CLI’si (veya UI) üzerinden onaylayın.
Hızlı CLI:
nodes status, cihaz eşleştirme rolünodeiçerdiğinde bir düğümü eşleşmiş olarak işaretler.node.pair.*(CLI:openclaw nodes pending/approve/reject) gateway’e ait ayrı bir düğüm eşleştirme deposudur; WSconnectel sıkışmasını engellemez.
Uzak düğüm ana makinesi (system.run)
Gateway’iniz bir makinede çalışırken komutların başka bir makinede yürütülmesini istiyorsanız bir node host kullanın. Model hâlâ gateway ile konuşur;host=node seçildiğinde gateway, exec çağrılarını node host’a iletir.
Nerede ne çalışır
- Gateway ana makinesi: mesajları alır, modeli çalıştırır, araç çağrılarını yönlendirir.
- Node host: düğüm makinesinde
system.run/system.whichyürütür. - Onaylar: node host üzerinde
~/.openclaw/exec-approvals.jsonile uygulanır.
Bir node host başlatma (ön planda)
Düğüm makinesinde:SSH tüneli üzerinden uzak gateway (loopback bağlama)
Gateway loopback’e bağlanıyorsa (gateway.bind=loopback, yerel modda varsayılan),
uzak node host’lar doğrudan bağlanamaz. Bir SSH tüneli oluşturun ve node host’u
tünelin yerel ucuna yönlendirin.
Örnek (node host -> gateway ana makinesi):
- Belirteç, gateway yapılandırmasındaki
gateway.auth.token’dir (gateway ana makinesinde~/.openclaw/openclaw.json). openclaw node run, kimlik doğrulama içinOPENCLAW_GATEWAY_TOKEN’ü okur.
Bir node host başlatma (servis)
Eşleştir + adlandır
Gateway ana makinesinde:openclaw node run/openclaw node installüzerinde--display-name(düğümde~/.openclaw/node.jsoniçinde kalıcıdır).openclaw nodes rename --node <id|name|ip> --name "Build Node"(gateway geçersiz kılma).
Komutları izin listesine alma
Çalıştırma onayları node host başınadır. Gateway’den izin listesi girdileri ekleyin:~/.openclaw/exec-approvals.json konumunda bulunur.
Point exec at the node
Varsayılanları yapılandırın (gateway yapılandırması):host=node içeren herhangi bir exec çağrısı (node izin listesi/onaylarına tabi olarak)
node host üzerinde çalışır.
İlgili:
Invoking commands
Düşük seviye (ham RPC):Ekran görüntüleri (canvas anlık görüntüler)
Düğüm Canvas’ı (WebView) gösteriyorsa,canvas.snapshot { format, base64 } döndürür.
CLI yardımcısı (geçici bir dosyaya yazar ve MEDIA:<path> yazdırır):
Canvas denetimleri
canvas present, URL’leri veya yerel dosya yollarını (--target) ve konumlandırma için isteğe bağlı--x/--y/--width/--heightkabul eder.canvas eval, satır içi JS (--js) veya konumsal bir argüman kabul eder.
A2UI (Canvas)
- Yalnızca A2UI v0.8 JSONL desteklenir (v0.9/createSurface reddedilir).
Fotoğraflar + videolar (düğüm kamerası)
Fotoğraflar (jpg):
mp4):
canvas.*vecamera.*için düğüm ön planda olmalıdır (arka plan çağrılarıNODE_BACKGROUND_UNAVAILABLEdöndürür).- Klip süresi, aşırı büyük base64 yüklerini önlemek için (şu anda
<= 60s) sınırlandırılır. - Android mümkün olduğunda
CAMERA/RECORD_AUDIOizinleri için istem gösterir; reddedilen izinler*_PERMISSION_REQUIREDile başarısız olur.
Ekran kayıtları (düğümler)
Düğümlerscreen.record (mp4) sunar. Örnek:
screen.record, düğüm uygulamasının ön planda olmasını gerektirir.- Android, kayıt öncesinde sistem ekran yakalama istemini gösterir.
- Ekran kayıtları
<= 60sile sınırlandırılır. --no-audio, mikrofon yakalamayı devre dışı bırakır (iOS/Android desteklenir; macOS sistem yakalama sesini kullanır).- Birden fazla ekran mevcutsa bir ekran seçmek için
--screen <index>kullanın.
Konum (düğümler)
Düğümler, Ayarlar’da Konum etkinleştirildiğindelocation.get sunar.
CLI yardımcısı:
- Konum varsayılan olarak kapalıdır.
- “Her zaman” sistem izni gerektirir; arka plan alma en iyi çabadır.
- Yanıt; enlem/boylam, doğruluk (metre) ve zaman damgasını içerir.
SMS (Android düğümleri)
Android düğümleri, kullanıcı SMS izni verdiğinde ve cihaz telefoniyi desteklediğindesms.send sunabilir.
Düşük seviye çağırma:
- Yeteneğin ilan edilmesinden önce Android cihazda izin istemi kabul edilmelidir.
- Telefonisi olmayan yalnızca Wi‑Fi cihazlar
sms.sendilan etmez.
Sistem komutları (node host / mac düğümü)
macOS düğümüsystem.run, system.notify ve system.execApprovals.get/set sunar.
Headless node host system.run, system.which ve system.execApprovals.get/set sunar.
Örnekler:
system.run, yükte stdout/stderr/çıkış kodunu döndürür.system.notify, macOS uygulamasındaki bildirim izin durumuna uyar.system.run,--cwd,--env KEY=VAL,--command-timeoutve--needs-screen-recordingdestekler.system.notify,--priority <passive|active|timeSensitive>ve--delivery <system|overlay|auto>destekler.- Node host’ları
PATHoverride’larını yok sayar. Ek PATH girdilerine ihtiyacınız varsa,PATHdeğerini--envile geçirmek yerine node host servis ortamını yapılandırın (veya araçları standart konumlara yükleyin). - macOS node mode’da
system.run, macOS uygulamasındaki çalıştırma onaylarıyla (Ayarlar → Exec approvals) kısıtlanır. Sor/izin listesi/tam davranışları headless node host ile aynıdır; reddedilen istemlerSYSTEM_RUN_DENIEDdöndürür. - Headless node host’ta
system.run, çalıştırma onaylarıyla kısıtlanır (~/.openclaw/exec-approvals.json).
Exec düğüm bağlama
Birden fazla düğüm mevcut olduğunda, exec’i belirli bir düğüme bağlayabilirsiniz. Bu,exec host=node için varsayılan düğümü ayarlar (ajan başına geçersiz kılınabilir).
Genel varsayılan:
İzinler haritası
Düğümler,node.list / node.describe içinde, izin adına göre anahtarlanmış (örn. screenRecording, accessibility) ve boolean değerler (true = verildi) içeren bir permissions haritası içerebilir.
Headless node host (platformlar arası)
OpenClaw, Gateway WebSocket’ine bağlanan vesystem.run / system.which sunan
bir headless node host (UI yok) çalıştırabilir. Bu, Linux/Windows’ta
veya bir sunucunun yanında minimal bir düğüm çalıştırmak için kullanışlıdır.
Başlatın:
- Eşleştirme hâlâ gereklidir (Gateway bir düğüm onay istemi gösterecektir).
- Node host; düğüm kimliğini, belirtecini, görünen adını ve gateway bağlantı bilgilerini
~/.openclaw/node.jsoniçinde saklar. - Çalıştırma onayları
~/.openclaw/exec-approvals.jsonaracılığıyla yerel olarak uygulanır (Exec approvals bölümüne bakın). - macOS’ta headless node host, erişilebilir olduğunda yardımcı uygulama exec host’unu tercih eder ve
uygulama kullanılamıyorsa yerel yürütmeye geri döner. Uygulamayı zorunlu kılmak için
OPENCLAW_NODE_EXEC_HOST=app, geri dönüşü devre dışı bırakmak içinOPENCLAW_NODE_EXEC_FALLBACK=0ayarlayın. - Gateway WS TLS kullanıyorsa
--tls/--tls-fingerprintekleyin.
Mac düğüm modu
- macOS menü çubuğu uygulaması, Gateway WS sunucusuna bir düğüm olarak bağlanır (böylece
openclaw nodes …bu Mac’e karşı çalışır). - Uzak modda, uygulama Gateway portu için bir SSH tüneli açar ve
localhost’ya bağlanır.