Dépannage approfondi
Diagnostics axés sur les symptômes avec des séquences de commandes exactes et des signatures de journaux.
Configuration
Guide de configuration orienté tâches + référence complète de configuration.
Gestion des secrets
Contrat SecretRef, comportement des instantanés d’exécution et opérations de migration/rechargement.
Contrat de plan des secrets
Règles exactes de cible/chemin
secrets apply et comportement de profil d’authentification par référence uniquement.Démarrage local en 5 minutes
Vérifier la santé du service
Runtime: running, Connectivity probe: ok et Capability: ... qui correspondent à ce que vous attendez. Utilisez openclaw gateway status --require-rpc lorsque vous avez besoin d’une preuve RPC en portée lecture, et pas seulement d’une preuve d’accessibilité.Valider l’état de préparation du canal
Le rechargement de la configuration du Gateway surveille le chemin du fichier de configuration actif (résolu à partir des valeurs par défaut du profil/de l’état, ou de
OPENCLAW_CONFIG_PATH lorsqu’il est défini).
Le mode par défaut est gateway.reload.mode="hybrid".
Après le premier chargement réussi, le processus en cours sert l’instantané de configuration actif en mémoire ; un rechargement réussi remplace cet instantané de manière atomique.Modèle d’exécution
- Un processus toujours actif pour le routage, le plan de contrôle et les connexions de canaux.
- Port multiplexé unique pour :
- contrôle/RPC WebSocket
- API HTTP (
/v1/models,/v1/embeddings,/v1/chat/completions,/v1/responses,/tools/invoke) - routes HTTP de Plugin, comme la route facultative
/api/v1/admin/rpc - UI de contrôle et hooks
- Mode de liaison par défaut :
loopback. - L’authentification est requise par défaut. Les configurations avec secret partagé utilisent
gateway.auth.token/gateway.auth.password(ouOPENCLAW_GATEWAY_TOKEN/OPENCLAW_GATEWAY_PASSWORD), et les configurations reverse-proxy non-loopback peuvent utilisergateway.auth.mode: "trusted-proxy".
Points de terminaison compatibles OpenAI
La surface de compatibilité la plus efficace d’OpenClaw est désormais :GET /v1/modelsGET /v1/models/{id}POST /v1/embeddingsPOST /v1/chat/completionsPOST /v1/responses
- La plupart des intégrations Open WebUI, LobeChat et LibreChat sondent d’abord
/v1/models. - De nombreux pipelines RAG et de mémoire attendent
/v1/embeddings. - Les clients natifs pour agents privilégient de plus en plus
/v1/responses.
/v1/modelsest centré agent : il renvoieopenclaw,openclaw/defaultetopenclaw/<agentId>.openclaw/defaultest l’alias stable qui correspond toujours à l’agent par défaut configuré.- Utilisez
x-openclaw-modellorsque vous voulez remplacer le fournisseur/modèle backend ; sinon, le modèle normal et la configuration d’embedding de l’agent sélectionné restent maîtres.
POST /api/v1/admin/rpc) est une route de Plugin séparée, désactivée par défaut, pour les outils hôtes qui ne peuvent pas utiliser le RPC WebSocket. Voir RPC HTTP d’administration.
Priorité du port et de la liaison
| Paramètre | Ordre de résolution |
|---|---|
| Port Gateway | --port → OPENCLAW_GATEWAY_PORT → gateway.port → 18789 |
| Mode liaison | CLI/remplacement → gateway.bind → loopback |
--port résolu dans les métadonnées du superviseur. Après avoir modifié gateway.port, exécutez openclaw doctor --fix ou openclaw gateway install --force afin que launchd/systemd/schtasks démarre le processus sur le nouveau port.
Le démarrage du Gateway utilise le même port et la même liaison effectifs lorsqu’il amorce les origines locales
de l’UI de contrôle pour les liaisons non-loopback. Par exemple, --bind lan --port 3000
amorce http://localhost:3000 et http://127.0.0.1:3000 avant l’exécution de la
validation d’exécution. Ajoutez explicitement toute origine de navigateur distant, comme les URL de proxy HTTPS, à
gateway.controlUi.allowedOrigins.
Modes de rechargement à chaud
gateway.reload.mode | Comportement |
|---|---|
off | Aucun rechargement de configuration |
hot | Appliquer uniquement les changements sûrs à chaud |
restart | Redémarrer lors des changements nécessitant un redémarrage |
hybrid (par défaut) | Appliquer à chaud si sûr, redémarrer lorsque c’est requis |
Ensemble de commandes opérateur
gateway status --deep sert à la découverte supplémentaire de services (unités système
LaunchDaemons/systemd/schtasks), pas à une sonde de santé RPC plus approfondie.
Gateways multiples (même hôte)
La plupart des installations devraient exécuter un Gateway par machine. Un Gateway unique peut héberger plusieurs agents et canaux. Vous n’avez besoin de plusieurs Gateways que lorsque vous voulez intentionnellement une isolation ou un bot de secours. Vérifications utiles :gateway status --deeppeut signalerOther gateway-like services detected (best effort)et afficher des indications de nettoyage lorsque d’anciennes installations launchd/systemd/schtasks sont encore présentes.gateway probepeut avertir demultiple reachable gateway identitieslorsque des Gateways distincts répondent, ou lorsqu’OpenClaw ne peut pas prouver que les cibles accessibles sont le même Gateway. Un tunnel SSH, une URL de proxy ou une URL distante configurée vers le même Gateway constitue un seul Gateway avec plusieurs transports, même lorsque les ports de transport diffèrent.- Si c’est intentionnel, isolez les ports, la configuration/l’état et les racines d’espace de travail par Gateway.
gateway.portuniqueOPENCLAW_CONFIG_PATHuniqueOPENCLAW_STATE_DIRuniqueagents.defaults.workspaceunique
Accès distant
Préféré : Tailscale/VPN. Solution de repli : tunnel SSH.ws://127.0.0.1:18789.
Voir : Gateway distant, Authentification, Tailscale.
Supervision et cycle de vie du service
Utilisez des exécutions supervisées pour une fiabilité de type production.- macOS (launchd)
- Linux (utilisateur systemd)
- Windows (natif)
- Linux (service système)
openclaw gateway restart pour les redémarrages. N’enchaînez pas openclaw gateway stop et openclaw gateway start comme substitut de redémarrage.Sur macOS, gateway stop utilise launchctl bootout par défaut — cela retire le LaunchAgent de la session de démarrage actuelle sans persister de désactivation, donc la récupération automatique KeepAlive fonctionne toujours après des plantages inattendus et gateway start le réactive proprement. Pour supprimer durablement le redémarrage automatique entre les redémarrages système, passez --disable : openclaw gateway stop --disable.Les labels LaunchAgent sont ai.openclaw.gateway (par défaut) ou ai.openclaw.<profile> (profil nommé). openclaw doctor audite et répare les dérives de configuration du service.Chemin rapide du profil de développement
19001.
Référence rapide du protocole (vue opérateur)
- La première trame client doit être
connect. - Le Gateway renvoie un instantané
hello-ok(presence,health,stateVersion,uptimeMs, limites/politique). hello-ok.features.methods/eventssont une liste de découverte prudente, pas un dump généré de chaque route d’assistance appelable.- Requêtes :
req(method, params)→res(ok/payload|error). - Les événements courants incluent
connect.challenge,agent,chat,session.message,session.operation,session.tool,sessions.changed,presence,tick,health,heartbeat, les événements de cycle de vie d’appariement/approbation, etshutdown.
- Accusé d’acceptation immédiat (
status:"accepted") - Réponse finale d’achèvement (
status:"ok"|"error"), avec des événementsagentdiffusés entre les deux.
Vérifications opérationnelles
Vivacité
- Ouvrir WS et envoyer
connect. - Attendre une réponse
hello-okavec instantané.
État de préparation
Récupération des écarts
Les événements ne sont pas rejoués. En cas d’écarts de séquence, actualisez l’état (health, system-presence) avant de continuer.
Signatures de défaillance courantes
| Signature | Problème probable |
|---|---|
refusing to bind gateway ... without auth | Liaison non-loopback sans chemin d’authentification Gateway valide |
another gateway instance is already listening / EADDRINUSE | Conflit de port |
Gateway start blocked: set gateway.mode=local | Configuration définie en mode distant, ou marqueur du mode local manquant dans une configuration endommagée |
unauthorized during connect | Incompatibilité d’authentification entre le client et le Gateway |
Garanties de sécurité
- Les clients du protocole Gateway échouent rapidement lorsque le Gateway est indisponible (aucun basculement implicite vers un canal direct).
- Les premières trames invalides ou sans connexion sont rejetées et fermées.
- L’arrêt progressif émet un événement
shutdownavant la fermeture du socket.
Associé :