Kullanılabilirlik: dahili önizleme. iOS uygulaması henüz herkese açık olarak dağıtılmıyor.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.
Ne yapar?
- WebSocket üzerinden bir Gateway’e bağlanır (LAN veya tailnet).
- Node yeteneklerini sunar: Canvas, ekran anlık görüntüsü, kamera yakalama, konum, konuşma modu, sesle uyandırma.
node.invokekomutlarını alır ve Node durum olaylarını bildirir.
Gereksinimler
- Başka bir cihazda çalışan Gateway (macOS, Linux veya WSL2 üzerinden Windows).
- Ağ yolu:
- Bonjour ile aynı LAN, veya
- Tek noktaya yayın DNS-SD ile tailnet (örnek alan adı:
openclaw.internal.), veya - Manuel ana makine/bağlantı noktası (yedek).
Hızlı başlangıç (eşleştir + bağlan)
- Gateway’i başlatın:
- iOS uygulamasında Ayarlar’ı açın ve keşfedilen bir Gateway seçin (veya Manuel Ana Makine’yi etkinleştirip ana makine/bağlantı noktasını girin).
- Gateway ana makinesinde eşleştirme isteğini onaylayın:
requestId oluşturulur.
Onaylamadan önce openclaw devices list komutunu yeniden çalıştırın.
İsteğe bağlı: iOS Node her zaman sıkı denetlenen bir alt ağdan bağlanıyorsa, açık CIDR’ler veya tam IP’lerle
ilk kez Node otomatik onayını etkinleştirebilirsiniz:
role: node eşleştirmelerine uygulanır. Operatör/tarayıcı eşleştirmesi ve rol, kapsam, metadata veya açık anahtar değişiklikleri yine manuel onay gerektirir.
- Bağlantıyı doğrulayın:
Resmi derlemeler için röle destekli push
Resmi olarak dağıtılan iOS derlemeleri, ham APNs token’ını Gateway’e yayımlamak yerine harici push rölesini kullanır. Gateway tarafı gereksinimi:- iOS uygulaması, App Attest ve StoreKit uygulama işlem JWS’si kullanarak röleye kaydolur.
- Röle, opak bir röle tanıtıcısı ve kayıt kapsamlı bir gönderme izni döndürür.
- iOS uygulaması eşleştirilmiş Gateway kimliğini alır ve röle kaydına dahil eder; böylece röle destekli kayıt bu belirli Gateway’e devredilir.
- Uygulama, bu röle destekli kaydı
push.apns.registerile eşleştirilmiş Gateway’e iletir. - Gateway,
push.test, arka plan uyandırmaları ve uyandırma dürtmeleri için saklanan bu röle tanıtıcısını kullanır. - Gateway röle temel URL’si, resmi/TestFlight iOS derlemesine gömülü röle URL’siyle eşleşmelidir.
- Uygulama daha sonra farklı bir Gateway’e veya farklı röle temel URL’sine sahip bir derlemeye bağlanırsa eski bağlamayı yeniden kullanmak yerine röle kaydını yeniler.
- Dağıtım genelinde röle token’ı yoktur.
- Resmi/TestFlight röle destekli gönderimler için doğrudan APNs anahtarı gerekmez.
- Resmi/TestFlight iOS derlemesini yükleyin.
- Gateway’de
gateway.push.apns.relay.baseUrldeğerini ayarlayın. - Uygulamayı Gateway ile eşleştirin ve bağlanmayı tamamlamasına izin verin.
- Uygulama, APNs token’ına sahip olduktan, operatör oturumu bağlandıktan ve röle kaydı başarılı olduktan sonra
push.apns.registerotomatik olarak yayımlar. - Bundan sonra
push.test, yeniden bağlanma uyandırmaları ve uyandırma dürtmeleri saklanan röle destekli kaydı kullanabilir.
Arka plan canlılık sinyalleri
iOS uygulamayı sessiz push, arka plan yenilemesi veya önemli konum olayı için uyandırdığında, uygulama kısa bir Node yeniden bağlantısı dener ve ardındanevent: "node.presence.alive" ile node.event çağırır.
Gateway bunu, yalnızca kimliği doğrulanmış Node cihaz kimliği bilindikten sonra eşleştirilmiş Node/cihaz metadata’sında lastSeenAtMs/lastSeenReason olarak kaydeder.
Uygulama, bir arka plan uyandırmasının başarıyla kaydedildiğini yalnızca Gateway yanıtı handled: true içerdiğinde kabul eder. Eski Gateway’ler node.event çağrısını { "ok": true } ile onaylayabilir; bu yanıt uyumludur ancak kalıcı bir son görülme güncellemesi sayılmaz.
Uyumluluk notu:
OPENCLAW_APNS_RELAY_BASE_URL, Gateway için geçici env geçersiz kılması olarak hâlâ çalışır.
Kimlik doğrulama ve güven akışı
Röle, resmi iOS derlemeleri için doğrudan Gateway üzerinde APNs’nin sağlayamayacağı iki kısıtı uygulatmak için vardır:- Barındırılan röleyi yalnızca Apple üzerinden dağıtılan gerçek OpenClaw iOS derlemeleri kullanabilir.
- Bir Gateway, röle destekli push’ları yalnızca o belirli Gateway ile eşleşmiş iOS cihazlarına gönderebilir.
-
iOS app -> gateway- Uygulama önce normal Gateway kimlik doğrulama akışıyla Gateway ile eşleşir.
- Bu, uygulamaya kimliği doğrulanmış bir Node oturumu ve kimliği doğrulanmış bir operatör oturumu verir.
- Operatör oturumu
gateway.identity.getçağırmak için kullanılır.
-
iOS app -> relay- Uygulama, HTTPS üzerinden röle kayıt uç noktalarını çağırır.
- Kayıt, App Attest kanıtı ve StoreKit uygulama işlem JWS’si içerir.
- Röle, bundle ID’yi, App Attest kanıtını ve Apple dağıtım kanıtını doğrular ve resmi/production dağıtım yolunu zorunlu kılar.
- Yerel Xcode/dev derlemelerinin barındırılan röleyi kullanmasını engelleyen şey budur. Yerel bir derleme imzalanmış olabilir, ancak rölenin beklediği resmi Apple dağıtım kanıtını karşılamaz.
-
gateway identity delegation- Röle kaydından önce uygulama, eşleştirilmiş Gateway kimliğini
gateway.identity.getüzerinden alır. - Uygulama, bu Gateway kimliğini röle kayıt yüküne dahil eder.
- Röle, bu Gateway kimliğine devredilmiş bir röle tanıtıcısı ve kayıt kapsamlı gönderme izni döndürür.
- Röle kaydından önce uygulama, eşleştirilmiş Gateway kimliğini
-
gateway -> relay- Gateway,
push.apns.registertarafından gelen röle tanıtıcısını ve gönderme iznini saklar. push.test, yeniden bağlanma uyandırmaları ve uyandırma dürtmelerinde Gateway, gönderme isteğini kendi cihaz kimliğiyle imzalar.- Röle, hem saklanan gönderme iznini hem de Gateway imzasını kayıttaki devredilmiş Gateway kimliğine göre doğrular.
- Başka bir Gateway, tanıtıcıyı bir şekilde ele geçirse bile saklanan bu kaydı yeniden kullanamaz.
- Gateway,
-
relay -> APNs- Röle, production APNs kimlik bilgilerine ve resmi derleme için ham APNs token’ına sahiptir.
- Gateway, röle destekli resmi derlemeler için ham APNs token’ını asla saklamaz.
- Röle, eşleştirilmiş Gateway adına son push’u APNs’ye gönderir.
- Production APNs kimlik bilgilerini kullanıcı Gateway’lerinin dışında tutmak.
- Ham resmi derleme APNs token’larını Gateway’de saklamaktan kaçınmak.
- Barındırılan röle kullanımına yalnızca resmi/TestFlight OpenClaw derlemeleri için izin vermek.
- Bir Gateway’in farklı bir Gateway’e ait iOS cihazlarına uyandırma push’ları göndermesini önlemek.
apps/ios/fastlane/.env yalnızca ASC_KEY_ID ve ASC_ISSUER_ID gibi App Store Connect / TestFlight kimlik doğrulamasını saklar; yerel iOS derlemeleri için doğrudan APNs teslimini yapılandırmaz.
Önerilen Gateway ana makinesi depolaması:
.p8 dosyasını commit etmeyin veya repo checkout’u altına koymayın.
Keşif yolları
Bonjour (LAN)
iOS uygulaması_openclaw-gw._tcp öğesini local. üzerinde ve yapılandırıldığında aynı geniş alan DNS-SD keşif alanında tarar. Aynı LAN üzerindeki Gateway’ler local. üzerinden otomatik görünür; ağlar arası keşif, beacon türünü değiştirmeden yapılandırılan geniş alan alan adını kullanabilir.
Tailnet (ağlar arası)
mDNS engellenmişse tek noktaya yayın DNS-SD bölgesi kullanın (bir alan adı seçin; örnek:openclaw.internal.) ve Tailscale split DNS.
CoreDNS örneği için Bonjour bölümüne bakın.
Manuel ana makine/bağlantı noktası
Ayarlar’da Manuel Ana Makine’yi etkinleştirin ve Gateway ana makinesini + bağlantı noktasını girin (varsayılan18789).
Canvas + A2UI
iOS Node bir WKWebView canvas işler. Bunu yönlendirmek içinnode.invoke kullanın:
- Gateway canvas ana makinesi
/__openclaw__/canvas/ve/__openclaw__/a2ui/sunar. - Gateway HTTP sunucusundan sunulur (
gateway.portile aynı bağlantı noktası, varsayılan18789). - iOS Node, bir canvas ana makine URL’si duyurulduğunda bağlantı sırasında otomatik olarak A2UI’ye gider.
- Yerleşik iskelete
canvas.navigateve{"url":""}ile dönün.
Computer Use ilişkisi
iOS uygulaması bir mobil Node yüzeyidir, Codex Computer Use arka ucu değildir. Codex Computer Use vecua-driver mcp, MCP araçları üzerinden yerel bir macOS masaüstünü denetler; iOS uygulaması ise canvas.*, camera.*, screen.*, location.* ve talk.* gibi OpenClaw Node komutları üzerinden iPhone yeteneklerini sunar.
Agent’lar, Node komutlarını çağırarak iOS uygulamasını OpenClaw üzerinden yine çalıştırabilir; ancak bu çağrılar Gateway Node protokolünden geçer ve iOS ön plan/arka plan sınırlarına uyar. Yerel masaüstü denetimi için Codex Computer Use bölümünü, iOS Node yetenekleri için bu sayfayı kullanın.
Canvas eval / anlık görüntü
Sesle uyandırma + konuşma modu
- Sesle uyandırma ve konuşma modu Ayarlar’da kullanılabilir.
- Konuşma destekli iOS Node’ları
talkyeteneğini duyurur vetalk.ptt.start,talk.ptt.stop,talk.ptt.cancelvetalk.ptt.oncebildirebilir; Gateway, güvenilir konuşma destekli Node’lar için bu bas-konuş komutlarına varsayılan olarak izin verir. - iOS arka plan sesini askıya alabilir; uygulama etkin değilken ses özelliklerini en iyi çaba olarak değerlendirin.
Yaygın hatalar
NODE_BACKGROUND_UNAVAILABLE: iOS uygulamasını ön plana getirin (canvas/kamera/ekran komutları bunu gerektirir).A2UI_HOST_NOT_CONFIGURED: Gateway, Canvas Plugin yüzey URL’sini duyurmadı; Gateway yapılandırması içindekiplugins.entries.canvas.config.hostdeğerini kontrol edin.- Eşleştirme istemi hiç görünmüyor:
openclaw devices listçalıştırın ve manuel olarak onaylayın. - Yeniden yüklemeden sonra yeniden bağlanma başarısız oluyor: Keychain eşleştirme token’ı temizlenmiş; Node’u yeniden eşleştirin.