gateway
Gateway CLI
Section intitulée « Gateway CLI »Le Gateway est le serveur WebSocket d’OpenClaw (canaux, nœuds, sessions, hooks).
Les sous-commandes de cette page se trouvent sous openclaw gateway ….
Documentation connexe :
Exécuter le Gateway
Section intitulée « Exécuter le Gateway »Exécuter un processus Gateway local :
openclaw gatewayAlias de premier plan :
openclaw gateway runRemarques :
- Par défaut, le Gateway refuse de démarrer à moins que
gateway.mode=localne soit défini dans~/.openclaw/openclaw.json. Utilisez--allow-unconfiguredpour les exécutions ad hoc/dev. - La liaison au-delà de la boucle locale sans authentification est bloquée (garde-fou de sécurité).
SIGUSR1déclenche un redémarrage dans le processus lorsqu’il est autorisé (commands.restartest activé par défaut ; définissezcommands.restart: falsepour bloquer le redémarrage manuel, alors que l’outil de passerelle/config apply/update restent autorisés).- Les gestionnaires
SIGINT/SIGTERMarrêtent le processus de passerelle, mais ils ne restaurent aucun état de terminal personnalisé. Si vous encapsulez la CLI avec une TUI ou une saisie en mode brut, restaurez le terminal avant de quitter.
--port <port>: port WebSocket (la valeur par défaut provient de la config/env ; généralement18789).--bind <loopback|lan|tailnet|auto|custom>: mode de liaison de l’écouteur.--auth <token|password>: substitution du mode d’authentification.--token <token>: substitution de jeton (définit égalementOPENCLAW_GATEWAY_TOKENpour le processus).--password <password>: substitution du mot de passe. Avertissement : les mots de passe en ligne peuvent être exposés dans les listes de processus locaux.--password-file <path>: lire le mot de passe de la passerelle depuis un fichier.--tailscale <off|serve|funnel>: exposer le Gateway via Tailscale.--tailscale-reset-on-exit: réinitialiser la configuration de service/tunnel Tailscale à l’arrêt.--allow-unconfigured: autoriser le démarrage de la passerelle sansgateway.mode=localdans la configuration.--dev: créer une configuration de développement + un espace de travail s’ils sont manquants (ignore BOOTSTRAP.md).--reset: réinitialiser la configuration de développement + les identifiants + les sessions + l’espace de travail (nécessite--dev).--force: tuer tout écouteur existant sur le port sélectionné avant de démarrer.--verbose: journaux détaillés.--cli-backend-logs: afficher uniquement les journaux backend de la CLI dans la console (et activer stdout/stderr).--claude-cli-logs: alias déconseillé pour--cli-backend-logs.--ws-log <auto|full|compact>: style de journal websocket (par défautauto).--compact: alias pour--ws-log compact.--raw-stream: connecter les événements bruts du flux du modèle à l.--raw-stream-path <path>: chemin du flux l brut.
Interroger un Gateway en cours d’exécution
Section intitulée « Interroger un Gateway en cours d’exécution »Toutes les commandes de requête utilisent RPC WebSocket.
Modes de sortie :
- Par défaut : lisible par l’homme (coloré dans un TTY).
--json: JSON lisible par machine (sans style / spinner).--no-color(ouNO_COLOR=1) : désactive ANSI tout en conservant la mise en page humaine.
Options partagées (lorsque prises en charge) :
--url <url>: URL WebSocket du Gateway.--token <token>: Gateway token.--password <password>: mot de passe Gateway.--timeout <ms>: délai/budget (varie selon la commande).--expect-final: attendez une réponse « finale » (appels de l’agent).
Remarque : lorsque vous définissez --url, le CLI ne revient pas aux identifiants de configuration ou d’environnement.
Passez --token ou --password explicitement. L’absence d’identifiants explicites constitue une erreur.
gateway health
Section intitulée « gateway health »openclaw gateway health --url ws://127.0.0.1:18789gateway status
Section intitulée « gateway status »gateway status affiche le service Gateway (launchd/systemd/schtasks) ainsi qu’une sonde RPC facultative.
openclaw gateway statusopenclaw gateway status --jsonopenclaw gateway status --require-rpcOptions :
--url <url>: remplacer l’URL de sonde.--token <token>: auth par jeton pour la sonde.--password <password>: authentification par mot de passe pour la sonde.--timeout <ms>: délai d’expiration de la sonde (par défaut10000).--no-probe: ignorer la sonde RPC (vue service uniquement).--deep: analyse également les services au niveau du système.--require-rpc: quitter avec un code non nul lorsque la sonde RPC échoue. Ne peut pas être combiné avec--no-probe.
Notes :
gateway statusrésout les SecretRefs d’authentification configurés pour l’authentification de sonde lorsque cela est possible.- Si une SecretRef d’authentification requise n’est pas résolue dans ce chemin de commande,
gateway status --jsonsignalerpc.authWarninglorsque la sonde de connectivité/d’authentification échoue ; passez--token/--passwordexplicitement ou résolvez d’abord la source du secret. - Si la sonde réussit, les avertissements de référence d’authentification non résolue sont supprimés pour éviter les faux positifs.
- Utilisez
--require-rpcdans les scripts et l’automatisation lorsqu’un service d’écoute ne suffit pas et que vous avez besoin du Gateway RPC lui-même pour être en bonne santé. - Sur les installations systemd Linux, les vérifications de dérive d’authentification du service lisent les valeurs
Environment=etEnvironmentFile=à partir de l’unité (y compris%h, les chemins entre guillemets, les fichiers multiples et les fichiers-facultatifs). - Les contrôles de dérive résolvent les SecretRefs
gateway.auth.tokenà l’aide de l’environnement d’exécution fusionné (env de commande de service en premier, puis env de processus en secours). - Si l’authentification par jeton n’est pas effectivement active (
gateway.auth.modeexplicite depassword/none/trusted-proxy, ou mode non défini où le mot de passe peut l’emporter et aucun candidat jeton ne peut l’emporter), les contrôles de dérive de jeton ignorent la résolution du jeton de configuration.
gateway probe
Section intitulée « gateway probe »gateway probe est la commande “tout déboguer”. Sonde toujours :
- votre passerelle distante configurée (si définie), et
- localhost (bouclage) même si le distant est configuré.
Si plusieurs passerelles sont accessibles, elle les imprime toutes. Plusieurs passerelles sont prises en charge lorsque vous utilisez des profils/ports isolés (par exemple, un robot de sauvetage), mais la plupart des installations exécutent toujours une seule passerelle.
openclaw gateway probeopenclaw gateway probe --jsonInterprétation :
Reachable: yessignifie qu’au moins une cible a accepté une connexion WebSocket.RPC: oksignifie que les appels RPC détaillés (health/status/system-presence/config.get) ont également réussi.RPC: limited - missing scope: operator.readsignifie que la connexion a réussi mais que le RPC détaillé est limité en portée. Ceci est signalé comme une accessibilité dégradée, et non comme un échec total.- Le code de sortie est non nul uniquement lorsqu’aucune cible sondée n’est accessible.
Notes JSON (--json) :
- Niveau supérieur :
ok: au moins une cible est accessible.degraded: au moins une cible avait un RPC détaillé limité en portée.
- Par cible (
targets[].connect) :ok: accessibilité après connexion + classification dégradée.rpcOk: succès du RPC détaillé complet.scopeLimited: échec du RPC détaillé en raison d’une portée d’opérateur manquante.
À distance via SSH (parité avec l’application Mac)
Section intitulée « À distance via SSH (parité avec l’application Mac) »Le mode « Remote over SSH » de l’application macOS utilise un transfert de port local afin que la passerelle distante (qui peut être liée uniquement à la boucle locale) soit accessible à ws://127.0.0.1:<port>.
Équivalent CLI :
openclaw gateway probe --ssh user@gateway-hostOptions :
--ssh <target>:user@hostouuser@host:port(le port par défaut est22).--ssh-identity <path>: fichier d’identité.--ssh-auto: choisir le premier hôte de passerelle découvert comme cible SSH (LAN/WAB uniquement).
Config (facultatif, utilisé comme valeurs par défaut) :
gateway.remote.sshTargetgateway.remote.sshIdentity
gateway call <method>
Section intitulée « gateway call <method> »Utilitaire RPC de bas niveau.
openclaw gateway call statusopenclaw gateway call logs.tail --params '{"sinceMs": 60000}'Gérer le service Gateway
Section intitulée « Gérer le service Gateway »openclaw gateway installopenclaw gateway startopenclaw gateway stopopenclaw gateway restartopenclaw gateway uninstallNotes :
gateway installprend en charge--port,--runtime,--token,--force,--json.- Lorsque l’authentification par jeton nécessite un jeton et que
gateway.auth.tokenest géré par SecretRef,gateway installvalide que le SecretRef peut être résolu mais ne persiste pas le jeton résolu dans les métadonnées de l’environnement du service. - Si l’authentification par jeton nécessite un jeton et que le SecretRef du jeton configuré n’est pas résolu, l’installation échoue de manière fermée au lieu de persister du texte brut de repli.
- Pour l’authentification par mot de passe sur
gateway run, préférezOPENCLAW_GATEWAY_PASSWORD,--password-fileou ungateway.auth.passwordbasé sur SecretRef plutôt qu’un--passworden ligne. - En mode d’authentification déduit,
OPENCLAW_GATEWAY_PASSWORDuniquement pour le shell ne relaxe pas les exigences de jeton d’installation ; utilisez une configuration persistante (gateway.auth.passwordou configenv) lors de l’installation d’un service géré. - Si
gateway.auth.tokenetgateway.auth.passwordsont tous deux configurés et quegateway.auth.moden’est pas défini, l’installation est bloquée jusqu’à ce que le mode soit défini explicitement. - Les commandes de cycle de vie acceptent
--jsonpour les scripts.
Découvrir les passerelles (Bonjour)
Section intitulée « Découvrir les passerelles (Bonjour) »gateway discover recherche des balises Gateway (_openclaw-gw._tcp).
- Multicast DNS-SD :
local. - Unicast DNS-SD (Bonjour grande zone) : choisissez un domaine (exemple :
openclaw.internal.) et configurez un DNS fractionné + un serveur DNS ; voir /gateway/bonjour
Seules les passerelles avec la découverte Bonjour activée (par défaut) annoncent la balise.
Les enregistrements de découverte grande zone incluent (TXT) :
role(indice de rôle de passerelle)transport(indice de transport, par ex.gateway)gatewayPort(port WebSocket, généralement18789)sshPort(port SSH ; par défaut22si absent)tailnetDns(nom d’hôte MagicDNS, lorsque disponible)gatewayTls/gatewayTlsSha256(TLS activé + empreinte de certificat)cliPath(indice facultatif pour les installations distantes)
gateway discover
Section intitulée « gateway discover »openclaw gateway discoverOptions :
--timeout <ms>: délai d’expiration par commande (parcourir/résoudre) ; par défaut2000.--json: sortie lisible par machine (désactive également le style/le spinner).
Exemples :
openclaw gateway discover --timeout 4000openclaw gateway discover --json | jq '.beacons[].wsUrl'