Beschikbaarheid: interne preview. De iOS-app wordt nog niet publiek gedistribueerd.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.
Wat het doet
- Maakt verbinding met een Gateway via WebSocket (LAN of tailnet).
- Biedt node-mogelijkheden: Canvas, schermsnapshot, camera-opname, locatie, praatmodus, spraakwekfunctie.
- Ontvangt
node.invoke-opdrachten en rapporteert node-statusgebeurtenissen.
Vereisten
- Gateway actief op een ander apparaat (macOS, Linux of Windows via WSL2).
- Netwerkpad:
- Zelfde LAN via Bonjour, of
- Tailnet via unicast DNS-SD (voorbeelddomein:
openclaw.internal.), of - Handmatige host/poort (fallback).
Snelstart (koppelen + verbinden)
- Start de Gateway:
- Open in de iOS-app Instellingen en kies een ontdekte gateway (of schakel Handmatige host in en voer host/poort in).
- Keur het koppelingsverzoek goed op de gateway-host:
requestId aangemaakt.
Voer vóór goedkeuring opnieuw openclaw devices list uit.
Optioneel: als de iOS-node altijd verbinding maakt vanaf een strak gecontroleerd subnet, kun je
je aanmelden voor automatische goedkeuring van nodes bij de eerste keer met expliciete CIDR’s of exacte IP’s:
role: node-koppelingen
zonder aangevraagde scopes. Operator-/browserkoppeling en elke wijziging in rol, scope, metadata of
publieke sleutel vereisen nog steeds handmatige goedkeuring.
- Controleer de verbinding:
Relay-ondersteunde push voor officiële builds
Officieel gedistribueerde iOS-builds gebruiken de externe push-relay in plaats van het raw APNs-token naar de gateway te publiceren. Vereiste aan Gateway-zijde:- De iOS-app registreert zich bij de relay met App Attest en een StoreKit-apptransactie-JWS.
- De relay retourneert een ondoorzichtige relay-handle plus een verzendmachtiging die aan de registratie is gekoppeld.
- De iOS-app haalt de gekoppelde gateway-identiteit op en neemt die op in de relay-registratie, zodat de relay-ondersteunde registratie aan die specifieke gateway wordt gedelegeerd.
- De app stuurt die relay-ondersteunde registratie door naar de gekoppelde gateway met
push.apns.register. - De gateway gebruikt die opgeslagen relay-handle voor
push.test, achtergrondwekkingen en wekprikkels. - De relay-basis-URL van de gateway moet overeenkomen met de relay-URL die in de officiële/TestFlight iOS-build is ingebakken.
- Als de app later verbinding maakt met een andere gateway of een build met een andere relay-basis-URL, vernieuwt deze de relay-registratie in plaats van de oude binding opnieuw te gebruiken.
- Geen relay-token voor de hele deployment.
- Geen directe APNs-sleutel voor officiële/TestFlight relay-ondersteunde verzendingen.
- Installeer de officiële/TestFlight iOS-build.
- Stel
gateway.push.apns.relay.baseUrlin op de gateway. - Koppel de app aan de gateway en laat deze volledig verbinden.
- De app publiceert
push.apns.registerautomatisch nadat deze een APNs-token heeft, de operatorsessie is verbonden en de relay-registratie slaagt. - Daarna kunnen
push.test, reconnect-wakes en wekprikkels de opgeslagen relay-ondersteunde registratie gebruiken.
Achtergrond-alive-beacons
Wanneer iOS de app wekt voor een stille push, achtergrondverversing of significante-locatiegebeurtenis, probeert de app kort opnieuw als node te verbinden en roept daarnanode.event aan met event: "node.presence.alive".
De gateway registreert dit als lastSeenAtMs/lastSeenReason in de gekoppelde node-/apparaatmetadata, maar alleen
nadat de geauthenticeerde node-apparaatidentiteit bekend is.
De app beschouwt een achtergrondwekking alleen als succesvol geregistreerd wanneer de gatewayrespons
handled: true bevat. Oudere gateways kunnen node.event bevestigen met { "ok": true }; die respons is
compatibel, maar telt niet als duurzame last-seen-update.
Compatibiliteitsopmerking:
OPENCLAW_APNS_RELAY_BASE_URLwerkt nog steeds als tijdelijke env-override voor de gateway.
Authenticatie- en vertrouwensflow
De relay bestaat om twee beperkingen af te dwingen die directe APNs-op-gateway niet kan bieden voor officiële iOS-builds:- Alleen echte OpenClaw iOS-builds die via Apple worden gedistribueerd, kunnen de gehoste relay gebruiken.
- Een gateway kan alleen relay-ondersteunde pushes sturen voor iOS-apparaten die met die specifieke gateway zijn gekoppeld.
-
iOS app -> gateway- De app koppelt eerst met de gateway via de normale Gateway-auth-flow.
- Dat geeft de app een geauthenticeerde nodesessie plus een geauthenticeerde operatorsessie.
- De operatorsessie wordt gebruikt om
gateway.identity.getaan te roepen.
-
iOS app -> relay- De app roept de relay-registratie-endpoints aan via HTTPS.
- Registratie bevat App Attest-bewijs plus een StoreKit-apptransactie-JWS.
- De relay valideert de bundel-ID, het App Attest-bewijs en het Apple-distributiebewijs, en vereist het officiële/productiedistributiepad.
- Dit blokkeert lokale Xcode-/dev-builds om de gehoste relay te gebruiken. Een lokale build kan ondertekend zijn, maar voldoet niet aan het officiële Apple-distributiebewijs dat de relay verwacht.
-
gateway identity delegation- Vóór relay-registratie haalt de app de gekoppelde gateway-identiteit op via
gateway.identity.get. - De app neemt die gateway-identiteit op in de relay-registratiepayload.
- De relay retourneert een relay-handle en een verzendmachtiging die aan de registratie is gekoppeld en gedelegeerd is aan die gateway-identiteit.
- Vóór relay-registratie haalt de app de gekoppelde gateway-identiteit op via
-
gateway -> relay- De gateway slaat de relay-handle en verzendmachtiging uit
push.apns.registerop. - Bij
push.test, reconnect-wakes en wekprikkels ondertekent de gateway het verzendverzoek met zijn eigen apparaatidentiteit. - De relay verifieert zowel de opgeslagen verzendmachtiging als de gateway-handtekening tegen de gedelegeerde gateway-identiteit uit de registratie.
- Een andere gateway kan die opgeslagen registratie niet hergebruiken, zelfs niet als deze op een of andere manier de handle verkrijgt.
- De gateway slaat de relay-handle en verzendmachtiging uit
-
relay -> APNs- De relay bezit de productie-APNs-referenties en het raw APNs-token voor de officiële build.
- De gateway slaat het raw APNs-token nooit op voor relay-ondersteunde officiële builds.
- De relay stuurt de uiteindelijke push naar APNs namens de gekoppelde gateway.
- Om productie-APNs-referenties uit gebruikersgateways te houden.
- Om te voorkomen dat raw APNs-tokens van officiële builds op de gateway worden opgeslagen.
- Om gehost relay-gebruik alleen toe te staan voor officiële/TestFlight OpenClaw-builds.
- Om te voorkomen dat één gateway wekpushes stuurt naar iOS-apparaten die bij een andere gateway horen.
apps/ios/fastlane/.env bewaart alleen
App Store Connect-/TestFlight-auth zoals ASC_KEY_ID en ASC_ISSUER_ID; het configureert geen
directe APNs-levering voor lokale iOS-builds.
Aanbevolen opslag op de gateway-host:
.p8-bestand niet en plaats het niet onder de repo-checkout.
Discovery-paden
Bonjour (LAN)
De iOS-app bladert door_openclaw-gw._tcp op local. en, wanneer geconfigureerd, hetzelfde
wide-area DNS-SD-discoverydomein. Gateways op hetzelfde LAN verschijnen automatisch vanuit local.;
cross-network discovery kan het geconfigureerde wide-area-domein gebruiken zonder het beacontype te wijzigen.
Tailnet (cross-network)
Als mDNS is geblokkeerd, gebruik dan een unicast DNS-SD-zone (kies een domein; voorbeeld:openclaw.internal.) en Tailscale split DNS.
Zie Bonjour voor het CoreDNS-voorbeeld.
Handmatige host/poort
Schakel in Instellingen Handmatige host in en voer de gateway-host + poort in (standaard18789).
Canvas + A2UI
De iOS-node rendert een WKWebView-canvas. Gebruiknode.invoke om het aan te sturen:
- De Gateway-canvas-host serveert
/__openclaw__/canvas/en/__openclaw__/a2ui/. - Deze wordt geserveerd vanaf de Gateway-HTTP-server (dezelfde poort als
gateway.port, standaard18789). - De iOS-node navigeert automatisch naar A2UI bij verbinding wanneer een canvas-host-URL wordt geadverteerd.
- Keer terug naar het ingebouwde scaffold met
canvas.navigateen{"url":""}.
Relatie met Computer Use
De iOS-app is een mobiel node-oppervlak, geen Codex Computer Use-backend. Codex Computer Use encua-driver mcp besturen een lokaal macOS-bureaublad via MCP-
tools; de iOS-app biedt iPhone-mogelijkheden via OpenClaw-nodeopdrachten
zoals canvas.*, camera.*, screen.*, location.* en talk.*.
Agents kunnen de iOS-app nog steeds via OpenClaw bedienen door node-
opdrachten aan te roepen, maar die aanroepen lopen via het gateway-nodeprotocol en volgen de iOS-
voorgrond-/achtergrondlimieten. Gebruik Codex Computer Use
voor lokale bureaubladbesturing en deze pagina voor iOS-node-mogelijkheden.
Canvas-eval / snapshot
Spraakwekfunctie + praatmodus
- Spraakwekfunctie en praatmodus zijn beschikbaar in Instellingen.
- iOS kan achtergrondaudio onderbreken; behandel spraakfuncties als best-effort wanneer de app niet actief is.
Veelvoorkomende fouten
NODE_BACKGROUND_UNAVAILABLE: breng de iOS-app naar de voorgrond (canvas-/camera-/schermopdrachten vereisen dit).A2UI_HOST_NOT_CONFIGURED: de Gateway heeft geen canvas-host-URL geadverteerd; controleercanvasHostin Gateway-configuratie.- Koppelingsprompt verschijnt nooit: voer
openclaw devices listuit en keur handmatig goed. - Reconnect mislukt na herinstallatie: het Keychain-koppelingstoken is gewist; koppel de node opnieuw.