Android-app (Node)
Supportoverzicht
- Rol: companion node-app (Android host de Gateway niet).
- Gateway vereist: ja (draai deze op macOS, Linux of Windows via WSL2).
- Installatie: Aan de slag + Koppelen.
- Gateway: Runbook + Configuratie.
- Protocollen: Gateway-protocol (nodes + control plane).
Systeembeheer
Systeembeheer (launchd/systemd) bevindt zich op de Gateway-host. Zie Gateway.Verbindingsrunbook
Android-node-app ⇄ (mDNS/NSD + WebSocket) ⇄ Gateway Android verbindt direct met de Gateway WebSocket (standaardws://<host>:18789) en gebruikt door de Gateway beheerde koppeling.
Vereisten
- Je kunt de Gateway draaien op de “master”-machine.
- Android-apparaat/emulator kan de Gateway WebSocket bereiken:
- Zelfde LAN met mDNS/NSD, of
- Dezelfde Tailscale tailnet met Wide-Area Bonjour / unicast DNS-SD (zie hieronder), of
- Handmatige gateway host/poort (fallback)
- Je kunt de CLI (
openclaw) draaien op de gatewaymachine (of via SSH).
1. Start de Gateway
listening on ws://0.0.0.0:18789
- Stel
gateway.bind: "tailnet"in~/.openclaw/openclaw.jsonin op de Gateway-host. - Herstart de Gateway / macOS-menubalk-app.
2. Discovery verifiëren (optioneel)
Vanaf de gatewaymachine:Tailnet (Wenen ⇄ Londen) discovery via unicast DNS-SD
Android NSD/mDNS-discovery gaat niet over netwerken heen. Als je Android-node en de Gateway zich op verschillende netwerken bevinden maar via Tailscale verbonden zijn, gebruik dan Wide-Area Bonjour / unicast DNS-SD:- Zet een DNS-SD-zone op (bijvoorbeeld
openclaw.internal.) op de Gateway-host en publiceer_openclaw-gw._tcp-records. - Configureer Tailscale split DNS voor je gekozen domein, verwijzend naar die DNS-server.
3. Verbinden vanaf Android
In de Android-app:- De app houdt de gatewayverbinding actief via een foreground service (persistente notificatie).
- Open Instellingen.
- Selecteer onder Ontdekte Gateways je gateway en tik op Verbinden.
- Als mDNS geblokkeerd is, gebruik Geavanceerd → Handmatige Gateway (host + poort) en Verbinden (handmatig).
- Handmatig eindpunt (indien ingeschakeld), anders
- De laatst ontdekte gateway (best effort).
4. Koppeling goedkeuren (CLI)
Op de gatewaymachine:5. Controleren of de node verbonden is
-
Via nodes-status:
-
Via de Gateway:
6. Chat + geschiedenis
Het Chat-blad van de Android-node gebruikt de primaire sessiesleutel van de gateway (main), waardoor geschiedenis en antwoorden worden gedeeld met WebChat en andere clients:
- Geschiedenis:
chat.history - Verzenden:
chat.send - Push-updates (best effort):
chat.subscribe→event:"chat"
7. Canvas + camera
Gateway Canvas Host (aanbevolen voor webcontent)
Als je wilt dat de node echte HTML/CSS/JS toont die de agent op schijf kan bewerken, wijs de node dan naar de Gateway canvas host. Opmerking: nodes laden canvas vanaf de Gateway HTTP-server (dezelfde poort alsgateway.port, standaard 18789).
-
Maak
~/.openclaw/workspace/canvas/index.htmlaan op de Gateway-host. - Navigeer de node ernaartoe (LAN):
.local, bijv. http://<gateway-magicdns>:18793/__openclaw__/canvas/.
Deze server injecteert een live-reload-client in HTML en herlaadt bij bestandswijzigingen.
De A2UI-host bevindt zich op http://<gateway-host>:18793/__openclaw__/a2ui/.
Canvas-opdrachten (alleen foreground):
canvas.eval,canvas.snapshot,canvas.navigate(gebruik{"url":""}of{"url":"/"}om terug te keren naar de standaard scaffold).canvas.snapshotretourneert{ format, base64 }(standaardformat="jpeg").- A2UI:
canvas.a2ui.push,canvas.a2ui.reset(canvas.a2ui.pushJSONLlegacy-alias)
camera.snap(jpg)camera.clip(mp4)