Réponses rapides et dépannage approfondi pour les configurations réelles (développement local, VPS, multi-agent, OAuth/clés API, basculement de modèle). Pour les diagnostics d’exécution, consultez Dépannage. Pour la référence complète de configuration, consultez Configuration.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.
Les 60 premières secondes si quelque chose est cassé
-
État rapide (première vérification)
Résumé local rapide : OS + mise à jour, accessibilité du gateway/service, agents/sessions, configuration des fournisseurs + problèmes d’exécution (quand le Gateway est accessible).
-
Rapport à coller (sûr à partager)
Diagnostic en lecture seule avec fin des journaux (tokens masqués).
-
État du démon + du port
Affiche l’exécution du superviseur par rapport à l’accessibilité RPC, l’URL cible de la sonde et la configuration que le service a probablement utilisée.
-
Sondes approfondies
Exécute une sonde de santé en direct du Gateway, y compris les sondes de canaux lorsqu’elles sont prises en charge (nécessite un Gateway accessible). Consultez Santé.
-
Suivre le dernier journal
Si RPC est indisponible, utilisez en recours :Les journaux de fichiers sont séparés des journaux de service ; consultez Journalisation et Dépannage.
-
Exécuter le doctor (réparations)
Répare/migre la configuration/l’état + exécute des vérifications de santé. Consultez Doctor.
-
Instantané du Gateway
Demande au Gateway en cours d’exécution un instantané complet (WS uniquement). Consultez Santé.
Démarrage rapide et configuration initiale
La FAQ de première exécution — installation, intégration, routes d’authentification, abonnements, échecs initiaux — se trouve dans la FAQ de première exécution.Qu’est-ce qu’OpenClaw ?
Qu’est-ce qu’OpenClaw, en un paragraphe ?
Qu’est-ce qu’OpenClaw, en un paragraphe ?
Proposition de valeur
Proposition de valeur
- Vos appareils, vos données : exécutez le Gateway où vous voulez (Mac, Linux, VPS) et gardez l’espace de travail + l’historique des sessions en local.
- De vrais canaux, pas un bac à sable web : WhatsApp/Telegram/Slack/Discord/Signal/iMessage/etc, plus la voix mobile et Canvas sur les plateformes prises en charge.
- Indépendant des modèles : utilisez Anthropic, OpenAI, MiniMax, OpenRouter, etc., avec routage par agent et basculement.
- Option local uniquement : exécutez des modèles locaux afin que toutes les données puissent rester sur votre appareil si vous le souhaitez.
- Routage multi-agent : séparez les agents par canal, compte ou tâche, chacun avec son propre espace de travail et ses propres valeurs par défaut.
- Open source et modifiable : inspectez, étendez et auto-hébergez sans verrouillage fournisseur.
Je viens de le configurer - que dois-je faire en premier ?
Je viens de le configurer - que dois-je faire en premier ?
- Créer un site web (WordPress, Shopify ou un simple site statique).
- Prototyper une application mobile (plan, écrans, plan d’API).
- Organiser des fichiers et dossiers (nettoyage, nommage, étiquetage).
- Connecter Gmail et automatiser des résumés ou des suivis.
Quels sont les cinq principaux cas d’utilisation quotidiens d’OpenClaw ?
Quels sont les cinq principaux cas d’utilisation quotidiens d’OpenClaw ?
- Briefings personnels : résumés de la boîte de réception, du calendrier et des actualités qui vous intéressent.
- Recherche et rédaction : recherches rapides, résumés et premières ébauches pour des e-mails ou des docs.
- Rappels et suivis : relances et listes de contrôle pilotées par Cron ou Heartbeat.
- Automatisation du navigateur : remplir des formulaires, collecter des données et répéter des tâches web.
- Coordination entre appareils : envoyez une tâche depuis votre téléphone, laissez le Gateway l’exécuter sur un serveur et recevez le résultat dans le chat.
OpenClaw peut-il aider pour la génération de prospects, la prospection, les publicités et les blogs pour un SaaS ?
OpenClaw peut-il aider pour la génération de prospects, la prospection, les publicités et les blogs pour un SaaS ?
Quels sont les avantages par rapport à Claude Code pour le développement web ?
Quels sont les avantages par rapport à Claude Code pour le développement web ?
- Mémoire persistante + espace de travail entre les sessions
- Accès multiplateforme (WhatsApp, Telegram, TUI, WebChat)
- Orchestration d’outils (navigateur, fichiers, planification, hooks)
- Gateway toujours actif (exécutez-le sur un VPS, interagissez depuis n’importe où)
- Nodes pour navigateur/écran/caméra/exec locaux
Skills et automatisation
Comment personnaliser les Skills sans garder le dépôt modifié ?
Comment personnaliser les Skills sans garder le dépôt modifié ?
Puis-je charger des Skills depuis un dossier personnalisé ?
Puis-je charger des Skills depuis un dossier personnalisé ?
skills.load.extraDirs dans ~/.openclaw/openclaw.json (précédence la plus basse). La précédence par défaut est <workspace>/skills → <workspace>/.agents/skills → ~/.agents/skills → ~/.openclaw/skills → intégrés → skills.load.extraDirs. clawhub installe dans ./skills par défaut, ce qu’OpenClaw traite comme <workspace>/skills à la session suivante. Si le Skill ne doit être visible que pour certains agents, associez cela à agents.defaults.skills ou agents.list[].skills.Comment utiliser différents modèles pour différentes tâches ?
Comment utiliser différents modèles pour différentes tâches ?
- Tâches Cron : les tâches isolées peuvent définir un remplacement
modelpar tâche. - Sous-agents : routez les tâches vers des agents séparés avec différents modèles par défaut.
- Changement à la demande : utilisez
/modelpour changer le modèle de la session actuelle à tout moment.
Le bot se fige pendant un travail lourd. Comment le décharger ?
Le bot se fige pendant un travail lourd. Comment le décharger ?
/subagents.
Utilisez /status dans le chat pour voir ce que fait le Gateway en ce moment (et s’il est occupé).Astuce tokens : les tâches longues et les sous-agents consomment tous deux des tokens. Si le coût est un sujet, définissez un
modèle moins cher pour les sous-agents via agents.defaults.subagents.model.Docs : Sous-agents, Tâches en arrière-plan.Comment fonctionnent les sessions de sous-agent liées à un fil sur Discord ?
Comment fonctionnent les sessions de sous-agent liées à un fil sur Discord ?
- Lancez avec
sessions_spawnen utilisantthread: true(et éventuellementmode: "session"pour un suivi persistant). - Ou liez manuellement avec
/focus <target>. - Utilisez
/agentspour inspecter l’état de liaison. - Utilisez
/session idle <duration|off>et/session max-age <duration|off>pour contrôler l’auto-unfocus. - Utilisez
/unfocuspour détacher le fil.
- Valeurs par défaut globales :
session.threadBindings.enabled,session.threadBindings.idleHours,session.threadBindings.maxAgeHours. - Remplacements Discord :
channels.discord.threadBindings.enabled,channels.discord.threadBindings.idleHours,channels.discord.threadBindings.maxAgeHours. - Liaison automatique au lancement :
channels.discord.threadBindings.spawnSessionsvauttruepar défaut ; définissez-le surfalsepour désactiver les lancements de sessions liées à un fil.
Un sous-agent a terminé, mais la mise à jour de fin est allée au mauvais endroit ou n’a jamais été publiée. Que vérifier ?
Un sous-agent a terminé, mais la mise à jour de fin est allée au mauvais endroit ou n’a jamais été publiée. Que vérifier ?
- La livraison d’un sous-agent en mode fin préfère toute route de fil ou de conversation liée lorsqu’il en existe une.
- Si l’origine de fin ne porte qu’un canal, OpenClaw se rabat sur la route stockée de la session demandeuse (
lastChannel/lastTo/lastAccountId) afin que la livraison directe puisse encore réussir. - Si ni une route liée ni une route stockée utilisable n’existe, la livraison directe peut échouer et le résultat revient à une livraison de session en file d’attente au lieu d’être publié immédiatement dans le chat.
- Des cibles invalides ou obsolètes peuvent toujours forcer un retour à la file d’attente ou un échec final de livraison.
- Si la dernière réponse visible de l’assistant enfant est le token silencieux exact
NO_REPLY/no_reply, ou exactementANNOUNCE_SKIP, OpenClaw supprime intentionnellement l’annonce au lieu de publier une progression antérieure obsolète. - Si l’enfant a expiré après seulement des appels d’outils, l’annonce peut condenser cela en un court résumé de progression partielle au lieu de rejouer la sortie brute des outils.
Cron ou les rappels ne se déclenchent pas. Que vérifier ?
Cron ou les rappels ne se déclenchent pas. Que vérifier ?
- Confirmez que cron est activé (
cron.enabled) et queOPENCLAW_SKIP_CRONn’est pas défini. - Vérifiez que le Gateway fonctionne 24 h/24, 7 j/7 (pas de veille/redémarrages).
- Vérifiez les paramètres de fuseau horaire de la tâche (
--tzpar rapport au fuseau horaire de l’hôte).
Cron s’est déclenché, mais rien n’a été envoyé au canal. Pourquoi ?
Cron s’est déclenché, mais rien n’a été envoyé au canal. Pourquoi ?
--no-deliver/delivery.mode: "none"signifie qu’aucun envoi de repli par le runner n’est attendu.- Une cible d’annonce manquante ou invalide (
channel/to) signifie que le runner a ignoré la livraison sortante. - Les échecs d’authentification du canal (
unauthorized,Forbidden) signifient que le runner a tenté de livrer, mais que les identifiants l’en ont empêché. - Un résultat isolé silencieux (
NO_REPLY/no_replyuniquement) est traité comme volontairement non livrable ; le runner supprime donc aussi la livraison de repli mise en file d’attente.
message
lorsqu’une route de discussion est disponible. --announce contrôle uniquement le chemin de
repli du runner pour le texte final que l’agent n’a pas déjà envoyé.Débogage :Pourquoi une exécution cron isolée a-t-elle changé de modèle ou réessayé une fois ?
Pourquoi une exécution cron isolée a-t-elle changé de modèle ou réessayé une fois ?
LiveSessionModelSwitchError. La nouvelle tentative conserve le fournisseur/modèle
basculé et, si le changement transportait un nouveau remplacement de profil d’authentification, cron
le persiste aussi avant de réessayer.Règles de sélection associées :- Le remplacement de modèle du hook Gmail l’emporte d’abord lorsqu’il s’applique.
- Puis le
modelpar tâche. - Puis tout remplacement de modèle stocké pour la session cron.
- Puis la sélection normale du modèle de l’agent/par défaut.
Comment installer des Skills sous Linux ?
Comment installer des Skills sous Linux ?
openclaw skills ou déposez les Skills dans votre espace de travail. L’interface Skills macOS n’est pas disponible sous Linux.
Parcourez les Skills sur https://clawhub.ai.openclaw skills install écrit dans le répertoire skills/
de l’espace de travail actif. Installez le CLI clawhub séparé uniquement si vous voulez publier ou
synchroniser vos propres Skills. Pour des installations partagées entre agents, placez le Skill sous
~/.openclaw/skills et utilisez agents.defaults.skills ou
agents.list[].skills si vous voulez restreindre les agents qui peuvent le voir.OpenClaw peut-il exécuter des tâches selon un planning ou en continu en arrière-plan ?
OpenClaw peut-il exécuter des tâches selon un planning ou en continu en arrière-plan ?
- Tâches Cron pour les tâches planifiées ou récurrentes (persistent après les redémarrages).
- Heartbeat pour les vérifications périodiques de la « session principale ».
- Tâches isolées pour les agents autonomes qui publient des résumés ou livrent vers des discussions.
Puis-je exécuter depuis Linux des Skills réservés à Apple macOS ?
Puis-je exécuter depuis Linux des Skills réservés à Apple macOS ?
metadata.openclaw.os ainsi que par les binaires requis, et les Skills n’apparaissent dans le prompt système que lorsqu’ils sont éligibles sur l’hôte Gateway. Sous Linux, les Skills réservés à darwin (comme apple-notes, apple-reminders, things-mac) ne se chargeront pas, sauf si vous remplacez ce filtrage.Trois modèles sont pris en charge :Option A - exécuter le Gateway sur un Mac (le plus simple).
Exécutez le Gateway là où les binaires macOS existent, puis connectez-vous depuis Linux en mode distant ou via Tailscale. Les Skills se chargent normalement, car l’hôte Gateway est macOS.Option B - utiliser un nœud macOS (sans SSH).
Exécutez le Gateway sous Linux, associez un nœud macOS (application de barre de menus), puis définissez Commandes d’exécution du nœud sur « Toujours demander » ou « Toujours autoriser » sur le Mac. OpenClaw peut considérer les Skills réservés à macOS comme éligibles lorsque les binaires requis existent sur le nœud. L’agent exécute ces Skills via l’outil nodes. Si vous choisissez « Toujours demander », approuver « Toujours autoriser » dans le prompt ajoute cette commande à la liste d’autorisation.Option C - proxifier les binaires macOS via SSH (avancé).
Gardez le Gateway sous Linux, mais faites résoudre les binaires CLI requis vers des wrappers SSH qui s’exécutent sur un Mac. Remplacez ensuite le Skill pour autoriser Linux afin qu’il reste éligible.-
Créez un wrapper SSH pour le binaire (exemple :
memopour Apple Notes) : -
Placez le wrapper dans le
PATHsur l’hôte Linux (par exemple~/bin/memo). -
Remplacez les métadonnées du Skill (espace de travail ou
~/.openclaw/skills) pour autoriser Linux : - Démarrez une nouvelle session afin que l’instantané des Skills soit actualisé.
Avez-vous une intégration Notion ou HeyGen ?
Avez-vous une intégration Notion ou HeyGen ?
- Skill / plugin personnalisé : idéal pour un accès API fiable (Notion/HeyGen disposent tous deux d’API).
- Automatisation du navigateur : fonctionne sans code, mais elle est plus lente et plus fragile.
- Une page Notion par client (contexte + préférences + travail actif).
- Demandez à l’agent de récupérer cette page au début d’une session.
skills/ de l’espace de travail actif. Pour des Skills partagés entre agents, placez-les dans ~/.openclaw/skills/<name>/SKILL.md. Si seuls certains agents doivent voir une installation partagée, configurez agents.defaults.skills ou agents.list[].skills. Certains Skills attendent des binaires installés via Homebrew ; sous Linux, cela signifie Linuxbrew (voir l’entrée FAQ Homebrew Linux ci-dessus). Voir Skills, Configuration des Skills et ClawHub.Comment utiliser mon Chrome existant déjà connecté avec OpenClaw ?
Comment utiliser mon Chrome existant déjà connecté avec OpenClaw ?
user, qui s’attache via Chrome DevTools MCP :existing-session / user :- les actions sont pilotées par
ref, pas par des sélecteurs CSS - les téléversements nécessitent
ref/inputRefet prennent actuellement en charge un seul fichier à la fois responsebody, l’export PDF, l’interception de téléchargements et les actions par lots nécessitent toujours un navigateur géré ou un profil CDP brut
Bac à sable et mémoire
Existe-t-il une documentation dédiée au bac à sable ?
Existe-t-il une documentation dédiée au bac à sable ?
Docker semble limité - comment activer toutes les fonctionnalités ?
Docker semble limité - comment activer toutes les fonctionnalités ?
node; elle n’inclut donc pas
les paquets système, Homebrew ni les navigateurs inclus. Pour une configuration plus complète :- Persistez
/home/nodeavecOPENCLAW_HOME_VOLUMEafin que les caches survivent. - Intégrez les dépendances système dans l’image avec
OPENCLAW_DOCKER_APT_PACKAGES. - Installez les navigateurs Playwright via le CLI inclus :
node /app/node_modules/playwright-core/cli.js install chromium - Définissez
PLAYWRIGHT_BROWSERS_PATHet assurez-vous que le chemin est persistant.
Puis-je garder les messages privés personnels tout en rendant les groupes publics/en bac à sable avec un seul agent ?
Puis-je garder les messages privés personnels tout en rendant les groupes publics/en bac à sable avec un seul agent ?
agents.defaults.sandbox.mode: "non-main" afin que les sessions de groupe/canal (clés non principales) s’exécutent dans le backend de bac à sable configuré, tandis que la session principale de messages privés reste sur l’hôte. Docker est le backend par défaut si vous n’en choisissez pas un. Restreignez ensuite les outils disponibles dans les sessions en bac à sable via tools.sandbox.tools.Guide de configuration + exemple de configuration : Groupes : messages privés personnels + groupes publicsRéférence de configuration clé : Configuration GatewayComment monter un dossier hôte dans le bac à sable ?
Comment monter un dossier hôte dans le bac à sable ?
agents.defaults.sandbox.docker.binds sur ["host:path:mode"] (par exemple, "/home/user/src:/src:ro"). Les montages globaux et par agent sont fusionnés ; les montages par agent sont ignorés lorsque scope: "shared". Utilisez :ro pour tout élément sensible et gardez à l’esprit que les montages contournent les parois du système de fichiers du bac à sable.OpenClaw valide les sources de montage à la fois par rapport au chemin normalisé et au chemin canonique résolu via l’ancêtre existant le plus profond. Cela signifie que les échappements par parent symbolique échouent toujours fermés même lorsque le dernier segment de chemin n’existe pas encore, et que les vérifications de racine autorisée s’appliquent toujours après la résolution des liens symboliques.Voir Bac à sable et Bac à sable vs politique des outils vs privilèges élevés pour des exemples et des notes de sécurité.Comment fonctionne la mémoire ?
Comment fonctionne la mémoire ?
- Notes quotidiennes dans
memory/YYYY-MM-DD.md - Notes de long terme organisées dans
MEMORY.md(sessions principales/privées uniquement)
La mémoire oublie sans cesse des choses. Comment les rendre persistantes ?
La mémoire oublie sans cesse des choses. Comment les rendre persistantes ?
MEMORY.md,
le contexte de court terme va dans memory/YYYY-MM-DD.md.C’est encore un domaine que nous améliorons. Il est utile de rappeler au modèle de stocker les souvenirs ;
il saura quoi faire. S’il continue d’oublier, vérifiez que le Gateway utilise le même
espace de travail à chaque exécution.Docs : Mémoire, Espace de travail de l’agent.La mémoire persiste-t-elle indéfiniment ? Quelles sont les limites ?
La mémoire persiste-t-elle indéfiniment ? Quelles sont les limites ?
La recherche de mémoire sémantique nécessite-t-elle une clé d’API OpenAI ?
La recherche de mémoire sémantique nécessite-t-elle une clé d’API OpenAI ?
OPENAI_API_KEY ou models.providers.openai.apiKey).Si vous ne définissez pas explicitement de fournisseur, OpenClaw sélectionne automatiquement un fournisseur lorsqu’il
peut résoudre une clé d’API (profils d’authentification, models.providers.*.apiKey ou variables d’environnement).
Il préfère OpenAI si une clé OpenAI est résolue, sinon Gemini si une clé Gemini
est résolue, puis Voyage, puis Mistral. Si aucune clé distante n’est disponible, la recherche de mémoire
reste désactivée jusqu’à ce que vous la configuriez. Si vous avez configuré un chemin de modèle local
et qu’il est présent, OpenClaw
préfère local. Ollama est pris en charge lorsque vous définissez explicitement
memorySearch.provider = "ollama".Si vous préférez rester en local, définissez memorySearch.provider = "local" (et éventuellement
memorySearch.fallback = "none"). Si vous voulez des embeddings Gemini, définissez
memorySearch.provider = "gemini" et fournissez GEMINI_API_KEY (ou
memorySearch.remote.apiKey). Nous prenons en charge les modèles d’embedding OpenAI, Gemini, Voyage, Mistral, Ollama ou locaux
; consultez Mémoire pour les détails de configuration.Où les éléments se trouvent sur le disque
Toutes les données utilisées avec OpenClaw sont-elles enregistrées localement ?
Toutes les données utilisées avec OpenClaw sont-elles enregistrées localement ?
- Local par défaut : les sessions, fichiers de mémoire, la configuration et l’espace de travail résident sur l’hôte Gateway
(
~/.openclaw+ le répertoire de votre espace de travail). - Distant par nécessité : les messages que vous envoyez aux fournisseurs de modèles (Anthropic/OpenAI/etc.) sont transmis à leurs API, et les plateformes de chat (WhatsApp/Telegram/Slack/etc.) stockent les données des messages sur leurs serveurs.
- Vous contrôlez l’empreinte : utiliser des modèles locaux garde les prompts sur votre machine, mais le trafic des canaux passe toujours par les serveurs du canal.
Où OpenClaw stocke-t-il ses données ?
Où OpenClaw stocke-t-il ses données ?
$OPENCLAW_STATE_DIR (par défaut : ~/.openclaw) :| Chemin | Objectif |
|---|---|
$OPENCLAW_STATE_DIR/openclaw.json | Configuration principale (JSON5) |
$OPENCLAW_STATE_DIR/credentials/oauth.json | Import OAuth hérité (copié dans les profils d’authentification à la première utilisation) |
$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth-profiles.json | Profils d’authentification (OAuth, clés d’API et keyRef/tokenRef facultatifs) |
$OPENCLAW_STATE_DIR/secrets.json | Charge utile secrète optionnelle basée sur fichier pour les fournisseurs SecretRef file |
$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth.json | Fichier de compatibilité hérité (entrées api_key statiques nettoyées) |
$OPENCLAW_STATE_DIR/credentials/ | État du fournisseur (par ex. whatsapp/<accountId>/creds.json) |
$OPENCLAW_STATE_DIR/agents/ | État par agent (agentDir + sessions) |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/ | Historique et état des conversations (par agent) |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/sessions.json | Métadonnées des sessions (par agent) |
~/.openclaw/agent/* (migré par openclaw doctor).Votre espace de travail (AGENTS.md, fichiers de mémoire, Skills, etc.) est séparé et configuré via agents.defaults.workspace (par défaut : ~/.openclaw/workspace).Où AGENTS.md / SOUL.md / USER.md / MEMORY.md doivent-ils se trouver ?
Où AGENTS.md / SOUL.md / USER.md / MEMORY.md doivent-ils se trouver ?
~/.openclaw.- Espace de travail (par agent) :
AGENTS.md,SOUL.md,IDENTITY.md,USER.md,MEMORY.md,memory/YYYY-MM-DD.md,HEARTBEAT.mdfacultatif. Le fichier racine en minusculesmemory.mdest uniquement une entrée de réparation héritée ;openclaw doctor --fixpeut le fusionner dansMEMORY.mdlorsque les deux fichiers existent. - Répertoire d’état (
~/.openclaw) : configuration, état des canaux/fournisseurs, profils d’authentification, sessions, journaux et Skills partagés (~/.openclaw/skills).
~/.openclaw/workspace, configurable via :Stratégie de sauvegarde recommandée
Stratégie de sauvegarde recommandée
~/.openclaw (identifiants, sessions, jetons ou charges utiles de secrets chiffrées).
Si vous avez besoin d’une restauration complète, sauvegardez séparément l’espace de travail et le répertoire d’état
(voir la question sur la migration ci-dessus).Docs : Espace de travail de l’agent.Comment désinstaller complètement OpenClaw ?
Comment désinstaller complètement OpenClaw ?
Les agents peuvent-ils travailler en dehors de l’espace de travail ?
Les agents peuvent-ils travailler en dehors de l’espace de travail ?
agents.defaults.sandbox ou les paramètres de sandbox par agent. Si vous
voulez qu’un dépôt soit le répertoire de travail par défaut, pointez le
workspace de cet agent vers la racine du dépôt. Le dépôt OpenClaw n’est que le code source ; gardez
l’espace de travail séparé sauf si vous voulez intentionnellement que l’agent y travaille.Exemple (dépôt comme cwd par défaut) :Mode distant : où se trouve le magasin de sessions ?
Mode distant : où se trouve le magasin de sessions ?
Bases de la configuration
Quel est le format de la configuration ? Où se trouve-t-elle ?
Quel est le format de la configuration ? Où se trouve-t-elle ?
$OPENCLAW_CONFIG_PATH (par défaut : ~/.openclaw/openclaw.json) :~/.openclaw/workspace).J’ai défini gateway.bind: "lan" (ou "tailnet") et maintenant rien n’écoute / l’UI indique non autorisé
J’ai défini gateway.bind: "lan" (ou "tailnet") et maintenant rien n’écoute / l’UI indique non autorisé
- authentification par secret partagé : jeton ou mot de passe
gateway.auth.mode: "trusted-proxy"derrière un reverse proxy sensible à l’identité correctement configuré
gateway.remote.token/.passwordn’activent pas à eux seuls l’authentification gateway locale.- Les chemins d’appel locaux peuvent utiliser
gateway.remote.*comme solution de repli uniquement lorsquegateway.auth.*n’est pas défini. - Pour l’authentification par mot de passe, définissez plutôt
gateway.auth.mode: "password"plusgateway.auth.password(ouOPENCLAW_GATEWAY_PASSWORD). - Si
gateway.auth.token/gateway.auth.passwordest explicitement configuré via SecretRef et non résolu, la résolution échoue en mode fermé (aucun masquage par repli distant). - Les configurations Control UI à secret partagé s’authentifient via
connect.params.auth.tokenouconnect.params.auth.password(stocké dans les paramètres de l’application/de l’UI). Les modes porteurs d’identité tels que Tailscale Serve outrusted-proxyutilisent plutôt les en-têtes de requête. Évitez de placer des secrets partagés dans les URL. - Avec
gateway.auth.mode: "trusted-proxy", les reverse proxies loopback sur le même hôte nécessitentgateway.auth.trustedProxy.allowLoopback = trueexplicite et une entrée loopback dansgateway.trustedProxies.
Pourquoi ai-je maintenant besoin d’un jeton sur localhost ?
Pourquoi ai-je maintenant besoin d’un jeton sur localhost ?
gateway.auth.token, gateway.auth.password, OPENCLAW_GATEWAY_TOKEN ou OPENCLAW_GATEWAY_PASSWORD lorsque les clients ont besoin d’un secret stable entre les redémarrages. Cela empêche d’autres processus locaux d’appeler le Gateway.Si vous préférez un autre chemin d’authentification, vous pouvez choisir explicitement le mode mot de passe (ou, pour les reverse proxies sensibles à l’identité, trusted-proxy). Si vous voulez vraiment un loopback ouvert, définissez explicitement gateway.auth.mode: "none" dans votre configuration. Doctor peut générer un jeton pour vous à tout moment : openclaw doctor --generate-gateway-token.Dois-je redémarrer après avoir modifié la configuration ?
Dois-je redémarrer après avoir modifié la configuration ?
gateway.reload.mode: "hybrid"(par défaut) : applique à chaud les changements sûrs, redémarre pour les changements critiqueshot,restart,offsont également pris en charge
Comment désactiver les slogans amusants de la CLI ?
Comment désactiver les slogans amusants de la CLI ?
cli.banner.taglineMode dans la configuration :off: masque le texte du slogan mais conserve la ligne de titre/version de la bannière.default: utiliseAll your chats, one OpenClaw.à chaque fois.random: slogans amusants/saisonniers en rotation (comportement par défaut).- Si vous ne voulez aucune bannière, définissez la variable d’environnement
OPENCLAW_HIDE_BANNER=1.
Comment activer la recherche web (et la récupération web) ?
Comment activer la recherche web (et la récupération web) ?
web_fetch fonctionne sans clé d’API. web_search dépend du fournisseur
sélectionné :- Les fournisseurs adossés à une API tels que Brave, Exa, Firecrawl, Gemini, Grok, Kimi, MiniMax Search, Perplexity et Tavily nécessitent leur configuration normale de clé d’API.
- Ollama Web Search ne nécessite pas de clé, mais utilise votre hôte Ollama configuré et nécessite
ollama signin. - DuckDuckGo ne nécessite pas de clé, mais c’est une intégration non officielle basée sur HTML.
- SearXNG ne nécessite pas de clé/est auto-hébergé ; configurez
SEARXNG_BASE_URLouplugins.entries.searxng.config.webSearch.baseUrl.
openclaw configure --section web et choisissez un fournisseur.
Autres options d’environnement :- Brave :
BRAVE_API_KEY - Exa :
EXA_API_KEY - Firecrawl :
FIRECRAWL_API_KEY - Gemini :
GEMINI_API_KEY - Grok :
XAI_API_KEY - Kimi :
KIMI_API_KEYouMOONSHOT_API_KEY - MiniMax Search :
MINIMAX_CODE_PLAN_KEY,MINIMAX_CODING_API_KEYouMINIMAX_API_KEY - Perplexity :
PERPLEXITY_API_KEYouOPENROUTER_API_KEY - SearXNG :
SEARXNG_BASE_URL - Tavily :
TAVILY_API_KEY
plugins.entries.<plugin>.config.webSearch.*.
Les anciens chemins de fournisseur tools.web.search.* se chargent encore temporairement pour compatibilité, mais ils ne doivent pas être utilisés pour les nouvelles configurations.
La configuration de repli de récupération web Firecrawl se trouve sous plugins.entries.firecrawl.config.webFetch.*.Notes :- Si vous utilisez des listes d’autorisation, ajoutez
web_search/web_fetch/x_searchougroup:web. web_fetchest activé par défaut (sauf désactivation explicite).- Si
tools.web.fetch.providerest omis, OpenClaw détecte automatiquement le premier fournisseur de repli de récupération prêt à partir des identifiants disponibles. Aujourd’hui, le fournisseur intégré est Firecrawl. - Les daemons lisent les variables d’environnement depuis
~/.openclaw/.env(ou l’environnement du service).
config.apply a effacé ma configuration. Comment la récupérer et éviter cela ?
config.apply a effacé ma configuration. Comment la récupérer et éviter cela ?
config.apply remplace la configuration entière. Si vous envoyez un objet partiel, tout
le reste est supprimé.OpenClaw protège actuellement contre de nombreux écrasements accidentels :- Les écritures de configuration appartenant à OpenClaw valident toute la configuration après modification avant l’écriture.
- Les écritures invalides ou destructrices appartenant à OpenClaw sont rejetées et enregistrées sous
openclaw.json.rejected.*. - Si une modification directe casse le démarrage ou le rechargement à chaud, le Gateway échoue en mode fermé ou ignore le rechargement ; il ne réécrit pas
openclaw.json. openclaw doctor --fixprend en charge la réparation et peut restaurer la dernière configuration connue comme fonctionnelle tout en enregistrant le fichier rejeté sousopenclaw.json.clobbered.*.
- Consultez
openclaw logs --followpourInvalid config at,Config write rejected:ouconfig reload skipped (invalid config). - Inspectez le plus récent
openclaw.json.clobbered.*ouopenclaw.json.rejected.*à côté de la configuration active. - Exécutez
openclaw config validateetopenclaw doctor --fix. - Recopiez uniquement les clés prévues avec
openclaw config setouconfig.patch. - Si vous n’avez aucune dernière configuration connue comme fonctionnelle ni charge utile rejetée, restaurez depuis une sauvegarde, ou relancez
openclaw doctoret reconfigurez les canaux/modèles. - Si cela était inattendu, signalez un bug et incluez votre dernière configuration connue ou toute sauvegarde.
- Un agent de codage local peut souvent reconstruire une configuration fonctionnelle à partir des journaux ou de l’historique.
- Utilisez
openclaw config setpour les petites modifications. - Utilisez
openclaw configurepour les modifications interactives. - Utilisez d’abord
config.schema.lookuplorsque vous n’êtes pas sûr d’un chemin exact ou de la forme d’un champ ; il renvoie un nœud de schéma superficiel ainsi que des résumés des enfants immédiats pour l’exploration. - Utilisez
config.patchpour les modifications RPC partielles ; réservezconfig.applyau remplacement complet de la configuration. - Si vous utilisez l’outil
gatewayréservé au propriétaire depuis une exécution d’agent, il rejettera toujours les écritures verstools.exec.ask/tools.exec.security(y compris les alias héritéstools.bash.*qui se normalisent vers les mêmes chemins exec protégés).
Comment exécuter un Gateway central avec des workers spécialisés sur plusieurs appareils ?
Comment exécuter un Gateway central avec des workers spécialisés sur plusieurs appareils ?
- Gateway (central) : possède les canaux (Signal/WhatsApp), le routage et les sessions.
- Nœuds (appareils) : les Macs/iOS/Android se connectent comme périphériques et exposent des outils locaux (
system.run,canvas,camera). - Agents (workers) : cerveaux/espaces de travail séparés pour des rôles particuliers (par exemple « Ops Hetzner », « Données personnelles »).
- Sous-agents : lancent du travail en arrière-plan depuis un agent principal lorsque vous voulez du parallélisme.
- TUI : connectez-vous au Gateway et changez d’agents/sessions.
Le navigateur OpenClaw peut-il fonctionner sans interface graphique ?
Le navigateur OpenClaw peut-il fonctionner sans interface graphique ?
Comment utiliser Brave pour contrôler le navigateur ?
Comment utiliser Brave pour contrôler le navigateur ?
Gateways distants et nœuds
Comment les commandes se propagent-elles entre Telegram, le gateway et les nœuds ?
Comment les commandes se propagent-elles entre Telegram, le gateway et les nœuds ?
node.* → Nœud → Gateway → TelegramLes nœuds ne voient pas le trafic fournisseur entrant ; ils reçoivent seulement des appels RPC de nœud.Comment mon agent peut-il accéder à mon ordinateur si le Gateway est hébergé à distance ?
Comment mon agent peut-il accéder à mon ordinateur si le Gateway est hébergé à distance ?
node.* (écran, caméra, système) sur votre machine locale via le WebSocket Gateway.Configuration typique :- Exécutez le Gateway sur l’hôte toujours actif (VPS/serveur domestique).
- Placez l’hôte Gateway et votre ordinateur sur le même tailnet.
- Assurez-vous que le WS Gateway est joignable (liaison tailnet ou tunnel SSH).
- Ouvrez l’app macOS localement et connectez-vous en mode Remote over SSH (ou tailnet direct) afin qu’elle puisse s’enregistrer comme nœud.
-
Approuvez le nœud sur le Gateway :
system.run sur cette machine. Associez
uniquement des appareils de confiance et consultez Sécurité.Docs : Nœuds, Protocole Gateway, Mode distant macOS, Sécurité.Tailscale est connecté mais je ne reçois aucune réponse. Que faire maintenant ?
Tailscale est connecté mais je ne reçois aucune réponse. Que faire maintenant ?
- Le Gateway est en cours d’exécution :
openclaw gateway status - Santé du Gateway :
openclaw status - Santé des canaux :
openclaw channels status
- Si vous utilisez Tailscale Serve, assurez-vous que
gateway.auth.allowTailscaleest correctement défini. - Si vous vous connectez via un tunnel SSH, confirmez que le tunnel local est actif et pointe vers le bon port.
- Confirmez que vos listes d’autorisation (DM ou groupe) incluent votre compte.
Deux instances OpenClaw peuvent-elles communiquer entre elles (local + VPS) ?
Deux instances OpenClaw peuvent-elles communiquer entre elles (local + VPS) ?
openclaw agent --message ... --deliver, en ciblant une discussion où l’autre bot
écoute. Si un bot est sur un VPS distant, pointez votre CLI vers ce Gateway distant
via SSH/Tailscale (voir Accès distant).Exemple de schéma (à exécuter depuis une machine pouvant atteindre le Gateway cible) :Ai-je besoin de VPS séparés pour plusieurs agents ?
Ai-je besoin de VPS séparés pour plusieurs agents ?
Y a-t-il un avantage à utiliser un nœud sur mon ordinateur portable personnel plutôt que SSH depuis un VPS ?
Y a-t-il un avantage à utiliser un nœud sur mon ordinateur portable personnel plutôt que SSH depuis un VPS ?
- Aucun SSH entrant requis. Les nœuds se connectent vers le WebSocket Gateway et utilisent l’association d’appareil.
- Contrôles d’exécution plus sûrs.
system.runest soumis aux listes d’autorisation/approbations de nœud sur cet ordinateur portable. - Plus d’outils d’appareil. Les nœuds exposent
canvas,cameraetscreenen plus desystem.run. - Automatisation locale du navigateur. Gardez le Gateway sur un VPS, mais exécutez Chrome localement via un hôte de nœud sur l’ordinateur portable, ou attachez-vous au Chrome local de l’hôte via Chrome MCP.
Les nœuds exécutent-ils un service gateway ?
Les nœuds exécutent-ils un service gateway ?
gateway, discovery et de surface de plugin hébergé.Existe-t-il une méthode API / RPC pour appliquer la configuration ?
Existe-t-il une méthode API / RPC pour appliquer la configuration ?
config.schema.lookup: inspecter un sous-arbre de configuration avec son nœud de schéma superficiel, l’indication d’interface correspondante et les résumés de ses enfants immédiats avant d’écrireconfig.get: récupérer l’instantané actuel + le hashconfig.patch: mise à jour partielle sûre (préférée pour la plupart des modifications RPC) ; recharge à chaud quand c’est possible et redémarre quand c’est nécessaireconfig.apply: valider + remplacer toute la configuration ; recharge à chaud quand c’est possible et redémarre quand c’est nécessaire- L’outil d’exécution
gatewayréservé au propriétaire refuse toujours de réécriretools.exec.ask/tools.exec.security; les anciens aliastools.bash.*sont normalisés vers les mêmes chemins d’exécution protégés
Configuration minimale saine pour une première installation
Configuration minimale saine pour une première installation
Comment configurer Tailscale sur un VPS et me connecter depuis mon Mac ?
Comment configurer Tailscale sur un VPS et me connecter depuis mon Mac ?
-
Installer + se connecter sur le VPS
-
Installer + se connecter sur votre Mac
- Utilisez l’app Tailscale et connectez-vous au même tailnet.
-
Activer MagicDNS (recommandé)
- Dans la console d’administration Tailscale, activez MagicDNS afin que le VPS ait un nom stable.
-
Utiliser le nom d’hôte du tailnet
- SSH :
ssh user@your-vps.tailnet-xxxx.ts.net - WS du Gateway :
ws://your-vps.tailnet-xxxx.ts.net:18789
- SSH :
Comment connecter un nœud Mac à un Gateway distant (Tailscale Serve) ?
Comment connecter un nœud Mac à un Gateway distant (Tailscale Serve) ?
- Assurez-vous que le VPS + le Mac sont sur le même tailnet.
- Utilisez l’app macOS en mode distant (la cible SSH peut être le nom d’hôte du tailnet). L’app créera un tunnel vers le port du Gateway et se connectera comme nœud.
-
Approuvez le nœud sur le Gateway :
Dois-je installer sur un deuxième ordinateur portable ou simplement ajouter un nœud ?
Dois-je installer sur un deuxième ordinateur portable ou simplement ajouter un nœud ?
Variables d’environnement et chargement de .env
Comment OpenClaw charge-t-il les variables d’environnement ?
Comment OpenClaw charge-t-il les variables d’environnement ?
.envdepuis le répertoire de travail actuel- un fichier
.envglobal de secours depuis~/.openclaw/.env(alias$OPENCLAW_STATE_DIR/.env)
.env ne remplace les variables d’environnement existantes.Vous pouvez aussi définir des variables d’environnement inline dans la configuration (appliquées uniquement si elles sont absentes de l’environnement du processus) :J’ai démarré le Gateway via le service et mes variables d’environnement ont disparu. Que faire ?
J’ai démarré le Gateway via le service et mes variables d’environnement ont disparu. Que faire ?
- Placez les clés manquantes dans
~/.openclaw/.envafin qu’elles soient récupérées même lorsque le service n’hérite pas de l’environnement de votre shell. - Activez l’import du shell (commodité optionnelle) :
OPENCLAW_LOAD_SHELL_ENV=1, OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000.J’ai défini COPILOT_GITHUB_TOKEN, mais l’état des modèles affiche "Shell env: off." Pourquoi ?
J’ai défini COPILOT_GITHUB_TOKEN, mais l’état des modèles affiche "Shell env: off." Pourquoi ?
openclaw models status indique si l’import de l’environnement shell est activé. “Shell env: off”
ne signifie pas que vos variables d’environnement sont manquantes : cela signifie simplement qu’OpenClaw ne chargera pas
automatiquement votre shell de connexion.Si le Gateway s’exécute comme service (launchd/systemd), il n’héritera pas de l’environnement
de votre shell. Corrigez cela avec l’une de ces options :-
Placez le jeton dans
~/.openclaw/.env: -
Ou activez l’import du shell (
env.shellEnv.enabled: true). -
Ou ajoutez-le au bloc
envde votre configuration (s’applique uniquement s’il est manquant).
COPILOT_GITHUB_TOKEN (aussi GH_TOKEN / GITHUB_TOKEN).
Voir /concepts/model-providers et /environment.Sessions et chats multiples
Comment démarrer une nouvelle conversation ?
Comment démarrer une nouvelle conversation ?
/new ou /reset comme message autonome. Voir Gestion des sessions.Les sessions se réinitialisent-elles automatiquement si je n’envoie jamais /new ?
Les sessions se réinitialisent-elles automatiquement si je n’envoie jamais /new ?
session.idleMinutes, mais c’est désactivé par défaut (valeur par défaut 0).
Définissez une valeur positive pour activer l’expiration après inactivité. Quand elle est activée, le prochain
message après la période d’inactivité démarre un nouvel identifiant de session pour cette clé de chat.
Cela ne supprime pas les transcriptions : cela démarre simplement une nouvelle session.Existe-t-il un moyen de créer une équipe d’instances OpenClaw (un PDG et de nombreux agents) ?
Existe-t-il un moyen de créer une équipe d’instances OpenClaw (un PDG et de nombreux agents) ?
Pourquoi le contexte a-t-il été tronqué en plein milieu de la tâche ? Comment l’éviter ?
Pourquoi le contexte a-t-il été tronqué en plein milieu de la tâche ? Comment l’éviter ?
- Demandez au bot de résumer l’état actuel et de l’écrire dans un fichier.
- Utilisez
/compactavant les longues tâches, et/newlorsque vous changez de sujet. - Conservez le contexte important dans l’espace de travail et demandez au bot de le relire.
- Utilisez des sous-agents pour les travaux longs ou parallèles afin que le chat principal reste plus petit.
- Choisissez un modèle avec une fenêtre de contexte plus grande si cela arrive souvent.
Comment réinitialiser complètement OpenClaw tout en le gardant installé ?
Comment réinitialiser complètement OpenClaw tout en le gardant installé ?
- L’onboarding propose aussi Reset s’il détecte une configuration existante. Voir Onboarding (CLI).
- Si vous avez utilisé des profils (
--profile/OPENCLAW_PROFILE), réinitialisez chaque répertoire d’état (les valeurs par défaut sont~/.openclaw-<profile>). - Réinitialisation de développement :
openclaw gateway --dev --reset(développement uniquement ; efface la configuration de développement + les identifiants + les sessions + l’espace de travail).
J’obtiens des erreurs "context too large" : comment réinitialiser ou compacter ?
J’obtiens des erreurs "context too large" : comment réinitialiser ou compacter ?
-
Compacter (conserve la conversation mais résume les anciens tours) :
ou
/compact <instructions>pour guider le résumé. -
Réinitialiser (nouvel ID de session pour la même clé de chat) :
- Activez ou ajustez l’élagage des sessions (
agents.defaults.contextPruning) pour réduire les anciennes sorties d’outils. - Utilisez un modèle avec une fenêtre de contexte plus grande.
Pourquoi est-ce que je vois "LLM request rejected: messages.content.tool_use.input field required" ?
Pourquoi est-ce que je vois "LLM request rejected: messages.content.tool_use.input field required" ?
tool_use sans le champ
input requis. Cela signifie généralement que l’historique de session est obsolète ou corrompu (souvent après de longs fils
ou un changement d’outil/de schéma).Correction : démarrez une nouvelle session avec /new (message autonome).Pourquoi est-ce que je reçois des messages Heartbeat toutes les 30 minutes ?
Pourquoi est-ce que je reçois des messages Heartbeat toutes les 30 minutes ?
HEARTBEAT.md existe mais est effectivement vide (uniquement des lignes vides et des en-têtes
markdown comme # Heading), OpenClaw ignore l’exécution du Heartbeat pour économiser des appels API.
Si le fichier est manquant, le Heartbeat s’exécute quand même et le modèle décide quoi faire.Les remplacements par agent utilisent agents.list[].heartbeat. Docs : Heartbeat.Dois-je ajouter un "compte de bot" à un groupe WhatsApp ?
Dois-je ajouter un "compte de bot" à un groupe WhatsApp ?
groupPolicy: "allowlist").Si vous voulez que vous seul puissiez déclencher les réponses de groupe :Comment obtenir le JID d’un groupe WhatsApp ?
Comment obtenir le JID d’un groupe WhatsApp ?
chatId (ou from) se terminant par @g.us, comme :
1234567890-1234567890@g.us.Option 2 (si déjà configuré/autorisé) : listez les groupes depuis la configuration :Pourquoi OpenClaw ne répond-il pas dans un groupe ?
Pourquoi OpenClaw ne répond-il pas dans un groupe ?
- Le filtrage par mention est activé (par défaut). Vous devez @mentionner le bot (ou correspondre à
mentionPatterns). - Vous avez configuré
channels.whatsapp.groupssans"*"et le groupe n’est pas dans la liste d’autorisation.
Les groupes/fils partagent-ils le contexte avec les messages privés ?
Les groupes/fils partagent-ils le contexte avec les messages privés ?
Combien d’espaces de travail et d’agents puis-je créer ?
Combien d’espaces de travail et d’agents puis-je créer ?
- Croissance du disque : les sessions + transcriptions se trouvent sous
~/.openclaw/agents/<agentId>/sessions/. - Coût en tokens : plus d’agents signifie davantage d’utilisation simultanée des modèles.
- Surcharge opérationnelle : profils d’authentification, espaces de travail et routage des canaux par agent.
- Conservez un seul espace de travail actif par agent (
agents.defaults.workspace). - Éliminez les anciennes sessions (supprimez les fichiers JSONL ou les entrées stockées) si le disque grossit.
- Utilisez
openclaw doctorpour repérer les espaces de travail orphelins et les incohérences de profils.
Puis-je exécuter plusieurs bots ou discussions en même temps (Slack), et comment dois-je configurer cela ?
Puis-je exécuter plusieurs bots ou discussions en même temps (Slack), et comment dois-je configurer cela ?
- Hôte Gateway toujours actif (VPS/Mac mini).
- Un agent par rôle (liaisons).
- Canal(aux) Slack liés à ces agents.
- Navigateur local via Chrome MCP ou un nœud si nécessaire.
Modèles, basculement et profils d’authentification
Les questions-réponses sur les modèles — valeurs par défaut, sélection, alias, changement, basculement, profils d’authentification — se trouvent dans la FAQ sur les modèles.Gateway : ports, « déjà en cours d’exécution » et mode distant
Quel port le Gateway utilise-t-il ?
Quel port le Gateway utilise-t-il ?
gateway.port contrôle le port multiplexé unique pour WebSocket + HTTP (interface de contrôle, hooks, etc.).Priorité :Pourquoi openclaw gateway status indique-t-il "Runtime: running" mais "Connectivity probe: failed" ?
Pourquoi openclaw gateway status indique-t-il "Runtime: running" mais "Connectivity probe: failed" ?
openclaw gateway status et fiez-vous à ces lignes :Probe target:(l’URL réellement utilisée par la sonde)Listening:(ce qui est réellement lié au port)Last gateway error:(cause racine fréquente lorsque le processus est vivant mais que le port n’écoute pas)
Pourquoi openclaw gateway status affiche-t-il "Config (cli)" et "Config (service)" différents ?
Pourquoi openclaw gateway status affiche-t-il "Config (cli)" et "Config (service)" différents ?
--profile / OPENCLAW_STATE_DIR).Correctif :--profile / environnement que vous voulez que le service utilise.Que signifie "another gateway instance is already listening" ?
Que signifie "another gateway instance is already listening" ?
ws://127.0.0.1:18789 par défaut). Si la liaison échoue avec EADDRINUSE, il lève GatewayLockError, indiquant qu’une autre instance écoute déjà.Correctif : arrêtez l’autre instance, libérez le port, ou exécutez avec openclaw gateway --port <port>.Comment exécuter OpenClaw en mode distant (le client se connecte à un Gateway ailleurs) ?
Comment exécuter OpenClaw en mode distant (le client se connecte à un Gateway ailleurs) ?
gateway.mode: "remote" et pointez vers une URL WebSocket distante, éventuellement avec des identifiants distants à secret partagé :openclaw gatewayne démarre que lorsquegateway.modevautlocal(ou si vous passez l’indicateur de remplacement).- L’application macOS surveille le fichier de configuration et change de mode en direct lorsque ces valeurs changent.
gateway.remote.token/.passwordsont uniquement des identifiants distants côté client ; ils n’activent pas à eux seuls l’authentification du Gateway local.
L’interface de contrôle indique "unauthorized" (ou se reconnecte en boucle). Que faire ?
L’interface de contrôle indique "unauthorized" (ou se reconnecte en boucle). Que faire ?
J’ai défini gateway.bind sur tailnet, mais il ne peut pas se lier et rien n’écoute
J’ai défini gateway.bind sur tailnet, mais il ne peut pas se lier et rien n’écoute
tailnet choisit une IP Tailscale depuis vos interfaces réseau (100.64.0.0/10). Si la machine n’est pas sur Tailscale (ou si l’interface est désactivée), il n’y a rien à quoi se lier.Correctif :- Démarrez Tailscale sur cet hôte (afin qu’il ait une adresse 100.x), ou
- Passez à
gateway.bind: "loopback"/"lan".
tailnet est explicite. auto préfère loopback ; utilisez gateway.bind: "tailnet" lorsque vous voulez une liaison limitée à tailnet.Puis-je exécuter plusieurs Gateways sur le même hôte ?
Puis-je exécuter plusieurs Gateways sur le même hôte ?
OPENCLAW_CONFIG_PATH(configuration par instance)OPENCLAW_STATE_DIR(état par instance)agents.defaults.workspace(isolation de l’espace de travail)gateway.port(ports uniques)
- Utilisez
openclaw --profile <name> ...par instance (crée automatiquement~/.openclaw-<name>). - Définissez un
gateway.portunique dans chaque configuration de profil (ou passez--portpour les exécutions manuelles). - Installez un service par profil :
openclaw --profile <name> gateway install.
ai.openclaw.<profile> ; anciennement com.openclaw.*, openclaw-gateway-<profile>.service, OpenClaw Gateway (<profile>)).
Guide complet : Plusieurs gateways.Que signifie "invalid handshake" / code 1008 ?
Que signifie "invalid handshake" / code 1008 ?
connect. S’il reçoit autre chose, il ferme la connexion
avec le code 1008 (violation de politique).Causes fréquentes :- Vous avez ouvert l’URL HTTP dans un navigateur (
http://...) au lieu d’un client WS. - Vous avez utilisé le mauvais port ou chemin.
- Un proxy ou un tunnel a supprimé les en-têtes d’authentification ou envoyé une requête non-Gateway.
- Utilisez l’URL WS :
ws://<host>:18789(ouwss://...en HTTPS). - N’ouvrez pas le port WS dans un onglet de navigateur normal.
- Si l’authentification est activée, incluez le token/mot de passe dans la trame
connect.
Journalisation et débogage
Où se trouvent les journaux ?
Où se trouvent les journaux ?
logging.file. Le niveau de journalisation du fichier est contrôlé par logging.level. La verbosité de la console est contrôlée par --verbose et logging.consoleLevel.Suivi rapide des journaux :- macOS :
$OPENCLAW_STATE_DIR/logs/gateway.logetgateway.err.log(par défaut :~/.openclaw/logs/...; les profils utilisent~/.openclaw-<profile>/logs/...) - Linux :
journalctl --user -u openclaw-gateway[-<profile>].service -n 200 --no-pager - Windows :
schtasks /Query /TN "OpenClaw Gateway (<profile>)" /V /FO LIST
Comment démarrer/arrêter/redémarrer le service Gateway ?
Comment démarrer/arrêter/redémarrer le service Gateway ?
openclaw gateway --force peut récupérer le port. Consultez Gateway.J’ai fermé mon terminal sous Windows : comment redémarrer OpenClaw ?
J’ai fermé mon terminal sous Windows : comment redémarrer OpenClaw ?
Le Gateway est actif, mais les réponses n’arrivent jamais. Que dois-je vérifier ?
Le Gateway est actif, mais les réponses n’arrivent jamais. Que dois-je vérifier ?
- Authentification du modèle non chargée sur l’hôte Gateway (vérifiez
models status). - Association du canal/liste d’autorisation bloquant les réponses (vérifiez la configuration du canal + les journaux).
- WebChat/Dashboard est ouvert sans le bon jeton.
"Déconnecté du Gateway : aucune raison" - que faire maintenant ?
"Déconnecté du Gateway : aucune raison" - que faire maintenant ?
- Le Gateway est-il en cours d’exécution ?
openclaw gateway status - Le Gateway est-il sain ?
openclaw status - L’interface utilisateur a-t-elle le bon jeton ?
openclaw dashboard - À distance, le lien tunnel/Tailscale est-il actif ?
Telegram setMyCommands échoue. Que dois-je vérifier ?
Telegram setMyCommands échoue. Que dois-je vérifier ?
BOT_COMMANDS_TOO_MUCH: le menu Telegram contient trop d’entrées. OpenClaw réduit déjà jusqu’à la limite Telegram et réessaie avec moins de commandes, mais certaines entrées de menu doivent encore être supprimées. Réduisez les commandes de Plugin/Skills/personnalisées, ou désactivezchannels.telegram.commands.nativesi vous n’avez pas besoin du menu.TypeError: fetch failed,Network request for 'setMyCommands' failed!, ou des erreurs réseau similaires : si vous êtes sur un VPS ou derrière un proxy, confirmez que le HTTPS sortant est autorisé et que DNS fonctionne pourapi.telegram.org.
La TUI n’affiche aucune sortie. Que dois-je vérifier ?
La TUI n’affiche aucune sortie. Que dois-je vérifier ?
/status pour voir l’état actuel. Si vous attendez des réponses dans un canal de discussion,
assurez-vous que la livraison est activée (/deliver on).Docs : TUI, Commandes slash.Comment arrêter complètement puis démarrer le Gateway ?
Comment arrêter complètement puis démarrer le Gateway ?
ELI5 : openclaw gateway restart vs openclaw gateway
ELI5 : openclaw gateway restart vs openclaw gateway
openclaw gateway restart: redémarre le service en arrière-plan (launchd/systemd).openclaw gateway: exécute le gateway au premier plan pour cette session de terminal.
openclaw gateway quand
vous voulez une exécution ponctuelle au premier plan.Le moyen le plus rapide d’obtenir plus de détails quand quelque chose échoue
Le moyen le plus rapide d’obtenir plus de détails quand quelque chose échoue
--verbose pour obtenir davantage de détails dans la console. Inspectez ensuite le fichier journal pour les erreurs d’authentification de canal, de routage de modèle et RPC.Médias et pièces jointes
Mon Skill a généré une image/PDF, mais rien n’a été envoyé
Mon Skill a généré une image/PDF, mais rien n’a été envoyé
MEDIA:<path-or-url> (sur sa propre ligne). Consultez Configuration de l’assistant OpenClaw et Envoi par l’agent.Envoi avec la CLI :- Le canal cible prend en charge les médias sortants et n’est pas bloqué par des listes d’autorisation.
- Le fichier respecte les limites de taille du fournisseur (les images sont redimensionnées à 2048 px max).
tools.fs.workspaceOnly=truelimite les envois de chemins locaux à l’espace de travail, au répertoire temporaire/media-store et aux fichiers validés par le bac à sable.tools.fs.workspaceOnly=falsepermet àMEDIA:d’envoyer des fichiers locaux à l’hôte que l’agent peut déjà lire, mais seulement pour les médias et les types de documents sûrs (images, audio, vidéo, PDF et documents Office). Le texte brut et les fichiers ressemblant à des secrets restent bloqués.
Sécurité et contrôle d’accès
Est-il sûr d’exposer OpenClaw aux DM entrants ?
Est-il sûr d’exposer OpenClaw aux DM entrants ?
- Le comportement par défaut sur les canaux compatibles DM est l’association :
- Les expéditeurs inconnus reçoivent un code d’association ; le bot ne traite pas leur message.
- Approuvez avec :
openclaw pairing approve --channel <channel> [--account <id>] <code> - Les requêtes en attente sont limitées à 3 par canal ; vérifiez
openclaw pairing list --channel <channel> [--account <id>]si un code n’est pas arrivé.
- Ouvrir publiquement les DM nécessite une activation explicite (
dmPolicy: "open"et liste d’autorisation"*").
openclaw doctor pour faire apparaître les politiques DM risquées.L’injection de prompt est-elle seulement un problème pour les bots publics ?
L’injection de prompt est-elle seulement un problème pour les bots publics ?
- utilisant un agent « lecteur » en lecture seule ou sans outils pour résumer le contenu non fiable
- gardant
web_search/web_fetch/browserdésactivés pour les agents avec outils - traitant aussi le texte décodé des fichiers/documents comme non fiable : OpenResponses
input_fileet l’extraction des pièces jointes multimédias enveloppent toutes deux le texte extrait dans des marqueurs explicites de frontière de contenu externe au lieu de transmettre le texte brut du fichier - utilisant le bac à sable et des listes d’autorisation d’outils strictes
Mon bot doit-il avoir sa propre adresse e-mail, son propre compte GitHub ou son propre numéro de téléphone ?
Mon bot doit-il avoir sa propre adresse e-mail, son propre compte GitHub ou son propre numéro de téléphone ?
Puis-je lui donner de l’autonomie sur mes SMS, et est-ce sûr ?
Puis-je lui donner de l’autonomie sur mes SMS, et est-ce sûr ?
- Gardez les DM en mode association ou avec une liste d’autorisation stricte.
- Utilisez un numéro ou compte séparé si vous voulez qu’il envoie des messages en votre nom.
- Laissez-le rédiger, puis approuvez avant l’envoi.
Puis-je utiliser des modèles moins chers pour les tâches d’assistant personnel ?
Puis-je utiliser des modèles moins chers pour les tâches d’assistant personnel ?
J’ai exécuté /start dans Telegram mais je n’ai pas reçu de code d’association
J’ai exécuté /start dans Telegram mais je n’ai pas reçu de code d’association
dmPolicy: "pairing" est activé. /start seul ne génère pas de code.Vérifiez les requêtes en attente :dmPolicy: "open"
pour ce compte.WhatsApp : enverra-t-il des messages à mes contacts ? Comment fonctionne l’association ?
WhatsApp : enverra-t-il des messages à mes contacts ? Comment fonctionne l’association ?
channels.whatsapp.selfChatMode.Commandes de discussion, abandon des tâches et « ça ne s’arrête pas »
Comment empêcher les messages système internes de s’afficher dans la discussion ?
Comment empêcher les messages système internes de s’afficher dans la discussion ?
verboseDefault défini
sur on dans la configuration.Docs : Réflexion et verbose, Sécurité.Comment arrêter/annuler une tâche en cours ?
Comment arrêter/annuler une tâche en cours ?
/, mais quelques raccourcis (comme /status) fonctionnent aussi en ligne pour les expéditeurs en liste d’autorisation.Comment envoyer un message Discord depuis Telegram ? ("Messagerie inter-contexte refusée")
Comment envoyer un message Discord depuis Telegram ? ("Messagerie inter-contexte refusée")
Pourquoi ai-je l’impression que le bot "ignore" les messages envoyés en rafale ?
Pourquoi ai-je l’impression que le bot "ignore" les messages envoyés en rafale ?
/queue pour changer de mode :steer- mettre en file toute l’orientation en attente pour la prochaine limite de modèle dans l’exécution actuellequeue- orientation héritée un élément à la foisfollowup- exécuter les messages un par uncollect- regrouper les messages et répondre une foissteer-backlog- orienter maintenant, puis traiter l’arriéréinterrupt- abandonner l’exécution actuelle et repartir de zéro
steer. Vous pouvez ajouter des options comme debounce:0.5s cap:25 drop:summarize pour les modes de suivi. Voir File de commandes et File de guidage.Divers
Quel est le modèle par défaut pour Anthropic avec une clé API ?
Quel est le modèle par défaut pour Anthropic avec une clé API ?
ANTHROPIC_API_KEY (ou stocker une clé API Anthropic dans les profils d’authentification) active l’authentification, mais le modèle par défaut réel est celui que vous configurez dans agents.defaults.model.primary (par exemple, anthropic/claude-sonnet-4-6 ou anthropic/claude-opus-4-6). Si vous voyez No credentials found for profile "anthropic:default", cela signifie que le Gateway n’a pas pu trouver les identifiants Anthropic dans le fichier auth-profiles.json attendu pour l’agent en cours d’exécution.Toujours bloqué ? Demandez de l’aide sur Discord ou ouvrez une discussion GitHub.
Articles connexes
- FAQ de première exécution — installation, intégration, authentification, abonnements, échecs initiaux
- FAQ sur les modèles — sélection du modèle, basculement, profils d’authentification
- Dépannage — triage par symptôme en premier
~/.openclaw/skills/<name>/SKILL.md(ou ajoutez un dossier viaskills.load.extraDirsdans~/.openclaw/openclaw.json). La précédence est<workspace>/skills→<workspace>/.agents/skills→~/.agents/skills→~/.openclaw/skills→ intégrés →skills.load.extraDirs, donc les remplacements gérés l’emportent toujours sur les Skills intégrés sans toucher à git. Si vous devez installer le Skill globalement mais le rendre visible seulement pour certains agents, gardez la copie partagée dans~/.openclaw/skillset contrôlez la visibilité avecagents.defaults.skillsetagents.list[].skills. Seules les modifications dignes d’être intégrées en amont devraient vivre dans le dépôt et être envoyées comme PR.