Application Android (nœud)
Aperçu du support
- Rôle : application de nœud compagnon (Android n’héberge pas la Gateway).
- Gateway requise : oui (exécutez-la sur macOS, Linux ou Windows via WSL2).
- Installation : Premiers pas + Appairage.
- Gateway : Runbook + Configuration.
- Protocoles : Protocole de la Gateway (nœuds + plan de contrôle).
Contrôle système
Le contrôle système (launchd/systemd) réside sur l’hôte de la Gateway. Voir Gateway.Runbook de connexion
Application nœud Android ⇄ (mDNS/NSD + WebSocket) ⇄ Gateway Android se connecte directement au WebSocket de la Gateway (par défautws://<host>:18789) et utilise l’appairage détenu par la Gateway.
Prérequis
- Vous pouvez exécuter la Gateway sur la machine « maître ».
- L’appareil/émulateur Android peut atteindre le WebSocket de la Gateway :
- Même LAN avec mDNS/NSD, ou
- Même tailnet Tailscale en utilisant Wide-Area Bonjour / DNS-SD unicast (voir ci-dessous), ou
- Hôte/port de la Gateway saisis manuellement (solution de secours)
- Vous pouvez exécuter la CLI (
openclaw) sur la machine de la Gateway (ou via SSH).
1. Démarrer la Gateway
listening on ws://0.0.0.0:18789
- Définissez
gateway.bind: "tailnet"dans~/.openclaw/openclaw.jsonsur l’hôte de la Gateway. - Redémarrez la Gateway / l’app de barre de menus macOS.
2. Vérifier la découverte (optionnel)
Depuis la machine de la Gateway :Découverte via DNS-SD unicast du tailnet (Vienne ⇄ Londres)
La découverte Android NSD/mDNS ne traverse pas les réseaux. Si votre nœud Android et la Gateway sont sur des réseaux différents mais connectés via Tailscale, utilisez plutôt Wide-Area Bonjour / DNS-SD unicast :- Configurez une zone DNS-SD (exemple
openclaw.internal.) sur l’hôte de la Gateway et publiez des enregistrements_openclaw-gw._tcp. - Configurez le split DNS Tailscale pour votre domaine choisi en pointant vers ce serveur DNS.
3. Se connecter depuis Android
Dans l’application Android :- L’application maintient la connexion à la Gateway via un service au premier plan (notification persistante).
- Ouvrez Paramètres.
- Sous Gateways découvertes, sélectionnez votre Gateway et appuyez sur Connecter.
- Si mDNS est bloqué, utilisez Avancé → Gateway manuelle (hôte + port) et Connecter (manuel).
- Point de terminaison manuel (s’il est activé), sinon
- La dernière Gateway découverte (meilleur effort).
4. Approuver l’appairage (CLI)
Sur la machine de la Gateway :5. Vérifier que le nœud est connecté
-
Via l’état des nœuds :
-
Via la Gateway :
6. Chat + historique
La feuille Chat du nœud Android utilise la clé de session primaire de la Gateway (main), de sorte que l’historique et les réponses sont partagés avec WebChat et les autres clients :
- Historique :
chat.history - Envoi :
chat.send - Mises à jour push (meilleur effort) :
chat.subscribe→event:"chat"
7. Canvas + caméra
Hôte Canvas de la Gateway (recommandé pour le contenu web)
Si vous souhaitez que le nœud affiche de vrais HTML/CSS/JS que l’agent peut modifier sur disque, pointez le nœud vers l’hôte Canvas de la Gateway. Remarque : les nœuds chargent le canvas depuis le serveur HTTP Gateway (même port quegateway.port, par défaut 18789).
-
Créez
~/.openclaw/workspace/canvas/index.htmlsur l’hôte de la Gateway. - Naviguez le nœud vers celui-ci (LAN) :
.local, par exemple http://<gateway-magicdns>:18793/__openclaw__/canvas/.
Ce serveur injecte un client de rechargement à chaud dans le HTML et recharge lors des modifications de fichiers.
L’hôte A2UI se trouve à http://<gateway-host>:18793/__openclaw__/a2ui/.
Commandes Canvas (premier plan uniquement) :
canvas.eval,canvas.snapshot,canvas.navigate(utilisez{"url":""}ou{"url":"/"}pour revenir à l’échafaudage par défaut).canvas.snapshotrenvoie{ format, base64 }(par défautformat="jpeg").- A2UI :
canvas.a2ui.push,canvas.a2ui.reset(canvas.a2ui.pushJSONLalias hérité)
camera.snap(jpg)camera.clip(mp4)