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 prêt à coller (sûr à partager)
Diagnostic en lecture seule avec fin des journaux (tokens expurgés).
-
État du démon + 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é Gateway en direct, 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 à la place :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 au premier lancement
La FAQ du premier lancement — installation, intégration, routes d’authentification, abonnements, échecs initiaux — se trouve dans la FAQ du premier lancement.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 conservez 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.
- Agnostique au modèle : utilisez Anthropic, OpenAI, MiniMax, OpenRouter, etc., avec un routage par agent et un 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 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 boîte de réception, de calendrier et des actualités qui vous intéressent.
- Recherche et rédaction : recherches rapides, résumés et premiers brouillons pour des e-mails ou des documents.
- 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 multi-appareils : envoyez une tâche depuis votre téléphone, laissez le Gateway l’exécuter sur un serveur, puis récupérez le résultat dans le chat.
OpenClaw peut-il aider avec la génération de prospects, la prospection, les publicités et les blogs pour un SaaS ?
OpenClaw peut-il aider avec 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écuté sur un VPS, interaction depuis n’importe où)
- Nodes pour le navigateur/l’écran/la caméra/l’exécution en local
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 (priorité la plus basse). La priorité par défaut est <workspace>/skills → <workspace>/.agents/skills → ~/.agents/skills → ~/.openclaw/skills → inclus → skills.load.extraDirs. clawhub installe dans ./skills par défaut, qu’OpenClaw traite comme <workspace>/skills à la session suivante. Si le skill doit seulement être visible par certains agents, associez cela à agents.defaults.skills ou agents.list[].skills.Comment utiliser différents modèles ou réglages pour différentes tâches ?
Comment utiliser différents modèles ou réglages pour différentes tâches ?
- Tâches Cron : les tâches isolées peuvent définir un remplacement de
modelpar tâche. - Agents : routez les tâches vers des agents séparés avec différents modèles par défaut, niveaux de réflexion et paramètres de flux.
- Changement à la demande : utilisez
/modelpour changer le modèle de la session actuelle à tout moment.
agents.defaults.models["provider/model"].params, puis placez les remplacements propres à chaque agent dans agents.list[].params à plat. Ne définissez pas d’entrées imbriquées séparées agents.list[].models["provider/model"].params pour le même modèle ; agents.list[].models sert au catalogue de modèles par agent et aux remplacements d’exécution.Consultez Tâches Cron, Routage multi-agent, Configuration et Commandes slash.Le bot se fige pendant les travaux lourds. Comment décharger cela ?
Le bot se fige pendant les travaux lourds. Comment décharger cela ?
/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 vous préoccupe, définissez un
modèle moins cher pour les sous-agents via agents.defaults.subagents.model.Documentation : Sous-agents, Tâches en arrière-plan.Comment fonctionnent les sessions de sous-agent liées aux fils sur Discord ?
Comment fonctionnent les sessions de sous-agent liées aux fils sur Discord ?
- Créez 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’annulation automatique du focus. - Utilisez
/unfocuspour détacher le fil.
- Valeurs globales par défaut :
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 à la création :
channels.discord.threadBindings.spawnSessionsvauttruepar défaut ; définissez-le surfalsepour désactiver les créations de sessions liées à un fil.
Un sous-agent a terminé, mais la mise à jour d’achèvement est allée au mauvais endroit ou n’a jamais été publiée. Que dois-je vérifier ?
Un sous-agent a terminé, mais la mise à jour d’achèvement est allée au mauvais endroit ou n’a jamais été publiée. Que dois-je vérifier ?
- La livraison d’un sous-agent en mode achèvement préfère tout fil lié ou toute route de conversation lorsqu’il en existe une.
- Si l’origine de l’achèvement ne transporte qu’un canal, OpenClaw se rabat sur la route stockée de la session demandeur (
lastChannel/lastTo/lastAccountId) afin que la livraison directe puisse quand même réussir. - Si aucune route liée ni route stockée utilisable n’existe, la livraison directe peut échouer et le résultat se rabat sur la livraison de session mise en file au lieu d’être publié immédiatement dans le chat.
- Les cibles invalides ou obsolètes peuvent toujours forcer un repli vers la file ou un échec de livraison final.
- 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. - La sortie tool/toolResult n’est pas promue en texte de résultat enfant ; le résultat est la dernière réponse visible de l’assistant enfant.
Cron ou les rappels ne se déclenchent pas. Que dois-je vérifier ?
Cron ou les rappels ne se déclenchent pas. Que dois-je 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 et 7 j/7 (pas de mise en 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 l’exécuteur n’est attendu.- Une cible d’annonce manquante ou invalide (
channel/to) signifie que l’exécuteur a ignoré la livraison sortante. - Les échecs d’authentification du canal (
unauthorized,Forbidden) signifient que l’exécuteur a essayé de livrer, mais que les identifiants l’ont bloqué. - Un résultat isolé silencieux (
NO_REPLY/no_replyuniquement) est traité comme intentionnellement non livrable, donc l’exécuteur supprime 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
de l’exécuteur pour le texte final que l’agent n’a pas déjà envoyé.Déboguer :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
changé, et si le changement transportait un nouveau remplacement de profil d’authentification, cron
le conserve 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 de session cron stocké.
- 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 utilisateur Skills macOS n’est pas disponible sous Linux.
Parcourez les Skills sur https://clawhub.ai.openclaw skills install natif écrit par défaut dans le répertoire skills/
de l’espace de travail actif. Ajoutez --global pour installer dans le répertoire
de Skills géré partagé pour tous les agents locaux. Installez la CLI clawhub
séparée seulement si vous voulez publier ou synchroniser vos propres Skills. Utilisez
agents.defaults.skills ou agents.list[].skills si vous voulez restreindre
les agents qui peuvent voir les Skills partagés.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 aux discussions.
Puis-je exécuter des Skills Apple réservés à macOS depuis Linux ?
Puis-je exécuter des Skills Apple réservés à macOS depuis Linux ?
metadata.openclaw.os plus 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 le contrôle d’éligibilité.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), et définissez Commandes d’exécution du nœud sur « Toujours demander » ou « Toujours autoriser » sur le Mac. OpenClaw peut traiter 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 - mandater les binaires macOS via SSH (avancé).
Gardez le Gateway sous Linux, mais faites en sorte que les binaires CLI requis se résolvent 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 ont tous deux des API).
- Automatisation du navigateur : fonctionne sans code, mais 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 tous les agents locaux, utilisez openclaw skills install @owner/<skill-slug> --global (ou placez-les manuellement 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 déjà connecté avec OpenClaw ?
Comment utiliser mon Chrome déjà connecté avec OpenClaw ?
user, qui s’attache via Chrome DevTools MCP :existing-session / user :- les actions sont pilotées par
ref, et non par des sélecteurs CSS - les téléversements nécessitent
ref/inputRefet ne prennent actuellement en charge qu’un fichier à la fois responsebody, l’export PDF, l’interception de téléchargements et les actions par lot nécessitent encore un navigateur géré ou un profil CDP brut
Sandboxing et mémoire
Existe-t-il une doc dédiée au sandboxing ?
Existe-t-il une doc dédiée au sandboxing ?
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 groupés. 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_IMAGE_APT_PACKAGES. - Installez les navigateurs Playwright via la CLI groupée :
node /app/node_modules/playwright-core/cli.js install chromium - Définissez
PLAYWRIGHT_BROWSERS_PATHet assurez-vous que le chemin est persisté.
Puis-je garder les messages directs personnels tout en rendant les groupes publics/sandboxés avec un seul agent ?
Puis-je garder les messages directs personnels tout en rendant les groupes publics/sandboxés 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 sandbox configuré, tandis que la session principale de messages directs reste sur l’hôte. Docker est le backend par défaut si vous n’en choisissez pas. Ensuite, restreignez les outils disponibles dans les sessions sandboxées via tools.sandbox.tools.Guide de configuration + exemple de config : Groupes : messages directs personnels + groupes publicsRéférence de configuration clé : Configuration du GatewayComment lier un dossier hôte dans le sandbox ?
Comment lier un dossier hôte dans le sandbox ?
agents.defaults.sandbox.docker.binds sur ["host:path:mode"] (par ex., "/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 souvenez-vous que les montages contournent les parois du système de fichiers du sandbox.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 symlink échouent toujours en fermeture, même lorsque le dernier segment du chemin n’existe pas encore, et que les vérifications de racine autorisée s’appliquent toujours après la résolution des symlinks.Voir Sandboxing et Sandbox 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 continue d’oublier des éléments. Comment les rendre persistants ?
La mémoire continue d’oublier des éléments. Comment les rendre persistants ?
MEMORY.md,
le contexte à 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 sémantique en mémoire nécessite-t-elle une clé API OpenAI ?
La recherche sémantique en mémoire nécessite-t-elle une clé API OpenAI ?
OPENAI_API_KEY ou models.providers.openai.apiKey).Si vous ne définissez pas explicitement de fournisseur, OpenClaw utilise les embeddings OpenAI. Les configurations
héritées qui indiquent encore memorySearch.provider = "auto" se résolvent aussi vers OpenAI.
Si aucune clé API OpenAI n’est disponible, la recherche sémantique en mémoire reste indisponible
jusqu’à ce que vous configuriez une clé ou choisissiez explicitement un autre fournisseur.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, compatibles OpenAI, Gemini,
Voyage, Mistral, Bedrock, Ollama, LM Studio, GitHub Copilot, DeepInfra ou locaux :
consultez Mémoire pour les détails de configuration.Où les éléments résident 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 du Gateway
(
~/.openclaw+ votre répertoire d’espace de travail). - Distant par nécessité : les messages que vous envoyez aux fournisseurs de modèles (Anthropic/OpenAI/etc.) vont vers leurs API, et les plateformes de discussion (WhatsApp/Telegram/Slack/etc.) stockent les données de 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 API et keyRef/tokenRef facultatifs) |
$OPENCLAW_STATE_DIR/secrets.json | Charge utile de secrets facultative adossée à un 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 des fournisseurs (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 de session (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 résider ?
Où AGENTS.md / SOUL.md / USER.md / MEMORY.md doivent-ils résider ?
~/.openclaw.- Espace de travail (par agent) :
AGENTS.md,SOUL.md,IDENTITY.md,USER.md,MEMORY.md,memory/YYYY-MM-DD.md,HEARTBEAT.mdfacultatif. La racine en minusculesmemory.mdsert uniquement d’entrée de réparation héritée ;openclaw doctor --fixpeut la 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 :Puis-je agrandir SOUL.md ?
Puis-je agrandir SOUL.md ?
SOUL.md est l’un des fichiers d’amorçage de l’espace de travail injectés dans le
contexte de l’agent. La limite d’injection par fichier par défaut est de 20000 caractères,
et le budget total d’amorçage entre les fichiers est de 60000 caractères.Modifiez les valeurs par défaut partagées dans votre configuration OpenClaw :/context pour vérifier les tailles brutes par rapport aux tailles injectées et savoir si une troncature a eu lieu.
Gardez SOUL.md centré sur la voix, la posture et la personnalité ; mettez les règles de fonctionnement
dans AGENTS.md et les faits durables en mémoire.Voir Contexte et Configuration de l’agent.Stratégie de sauvegarde recommandée
Stratégie de sauvegarde recommandée
~/.openclaw (identifiants, sessions, jetons ou charges utiles de secrets chiffrés).
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, faites pointer 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 travaille dedans.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’interface indique non autorisé
J’ai défini gateway.bind: "lan" (ou "tailnet") et maintenant rien n’écoute / l’interface indique non autorisé
- authentification par secret partagé : jeton ou mot de passe
gateway.auth.mode: "trusted-proxy"derrière un proxy inverse tenant compte de l’identité et correctement configuré
gateway.remote.token/.passwordn’activent pas l’authentification gateway locale à eux seuls.- 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"avecgateway.auth.password(ouOPENCLAW_GATEWAY_PASSWORD). - Si
gateway.auth.token/gateway.auth.passwordest explicitement configuré via SecretRef et non résolu, la résolution échoue de manière fermée (aucun repli distant ne masque l’échec). - 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’interface). Les modes porteurs d’identité comme 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 proxys inverses loopback sur le même hôte nécessitent explicitementgateway.auth.trustedProxy.allowLoopback = trueet 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 proxys inverses sensibles à l’identité, trusted-proxy). Si vous voulez vraiment ouvrir le local loopback, 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 modifications sûres, redémarre pour les modifications 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é API. web_search dépend du fournisseur sélectionné :- Les fournisseurs adossés à une API comme Brave, Exa, Firecrawl, Gemini, Kimi, MiniMax Search, Perplexity et Tavily nécessitent leur configuration de clé API habituelle.
- Grok peut réutiliser OAuth xAI depuis l’authentification du modèle, ou se rabattre sur
XAI_API_KEY/ la configuration web-search du plugin. - 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é/peut être auto-hébergé ; configurez
SEARXNG_BASE_URLouplugins.entries.searxng.config.webSearch.baseUrl.
openclaw configure --section web et choisissez un fournisseur.
Alternatives par variables d’environnement :- Brave :
BRAVE_API_KEY - Exa :
EXA_API_KEY - Firecrawl :
FIRECRAWL_API_KEY - Gemini :
GEMINI_API_KEY - Grok : OAuth xAI,
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 web-fetch 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. Le plugin Firecrawl officiel fournit ce repli. - Les démons lisent les variables d’environnement depuis
~/.openclaw/.env(ou depuis 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é.La version actuelle d’OpenClaw protège contre de nombreux écrasements accidentels :- Les écritures de configuration appartenant à OpenClaw valident toute la configuration après modification avant l’écriture.
- Les écritures appartenant à OpenClaw invalides ou destructrices 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 bonne configuration connue tout en enregistrant le fichier rejeté sousopenclaw.json.clobbered.*.
- Vérifiez
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 souhaitées avec
openclaw config setouconfig.patch. - Si vous n’avez ni dernière bonne configuration connue ni charge utile rejetée, restaurez depuis une sauvegarde, ou relancez
openclaw doctoret reconfigurez les canaux/modèles. - Si ce comportement é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 du chemin exact ou de la forme du champ ; il renvoie un nœud de schéma superficiel ainsi que des résumés des enfants immédiats pour explorer. - Utilisez
config.patchpour les modifications RPC partielles ; réservezconfig.applyau remplacement complet de la configuration. - Si vous utilisez l’outil
gatewaydestiné aux agents 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 d’exécution 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 Mac/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 spécialisés (par exemple « opérations Hetzner », « données personnelles »).
- Sous-agents : lancent du travail en arrière-plan depuis un agent principal lorsque vous voulez du parallélisme.
- TUI : se connecte au Gateway et permet de changer d’agent/session.
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 uniquement 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 Gateway WebSocket.Configuration typique :- Exécutez le Gateway sur l’hôte toujours actif (VPS/serveur domestique).
- Placez l’hôte du Gateway et votre ordinateur sur le même tailnet.
- Assurez-vous que le WS du Gateway est joignable (liaison tailnet ou tunnel SSH).
- Ouvrez l’application macOS localement et connectez-vous en mode Distant via 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 auxquels vous faites confiance, et consultez Sécurité.Docs : Nœuds, Protocole du 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 se trouve 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 joindre 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 sortants au WebSocket du Gateway et utilisent l’appairage d’appareils.
- Contrôles d’exécution plus sûrs.
system.runest contrôlé par les listes d’autorisation/approbations du nœud sur cet ordinateur portable. - Plus d’outils d’appareil. Les nœuds exposent
canvas,cameraetscreenen plus desystem.run. - Automatisation de navigateur local. 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 à Chrome local sur 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 des enfants immédiats avant écritureconfig.get: récupérer l’instantané actuel + le hachageconfig.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 requisconfig.apply: valider + remplacer toute la configuration ; recharge à chaud quand c’est possible et redémarre quand c’est requis- L’outil d’exécution
gatewaydestiné à l’agent refuse toujours de réécriretools.exec.ask/tools.exec.security; les alias héritéstools.bash.*se normalisent vers les mêmes chemins exec protégés
Configuration minimale raisonnable pour une première installation
Configuration minimale raisonnable pour une première installation
Comment configurer Tailscale sur un VPS et se connecter depuis mon Mac ?
Comment configurer Tailscale sur un VPS et se connecter depuis mon Mac ?
-
Installer + se connecter sur le VPS
-
Installer + se connecter sur votre Mac
- Utilisez l’application 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’application macOS en mode distant (la cible SSH peut être le nom d’hôte du tailnet). L’application établira 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
.envde repli global depuis~/.openclaw/.env(c.-à-d.$OPENCLAW_STATE_DIR/.env)
.env ne remplace les variables d’environnement existantes.
Les variables d’identifiants de fournisseur sont une exception pour le .env de l’espace de travail : les clés comme
GEMINI_API_KEY, XAI_API_KEY ou MISTRAL_API_KEY sont ignorées depuis le .env
de l’espace de travail et doivent résider dans l’environnement du processus, ~/.openclaw/.env ou la configuration env.Vous pouvez aussi définir des variables d’environnement inline dans la configuration (appliquées seulement si elles manquent dans l’environnement du processus) :J’ai lancé le Gateway via le service et mes variables d’environnement ont disparu. Que faire ?
J’ai lancé 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 quand 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 seulement 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 votre environnement
shell. Corrigez cela de l’une de ces façons :-
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 seulement s’il manque).
COPILOT_GITHUB_TOKEN (ainsi que GH_TOKEN / GITHUB_TOKEN).
Voir /concepts/model-providers et /environment.Sessions et conversations 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 CEO et de nombreux agents) ?
Existe-t-il un moyen de créer une équipe d’instances OpenClaw (un CEO et de nombreux agents) ?
Pourquoi le contexte a-t-il été tronqué au milieu d’une tâche ? Comment l’éviter ?
Pourquoi le contexte a-t-il été tronqué au milieu d’une 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/newquand vous changez de sujet. - Gardez 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 la conversation principale reste plus petite.
- Choisissez un modèle avec une fenêtre de contexte plus grande si cela se produit 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 Réinitialiser 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 (par défaut~/.openclaw-<profile>). - Réinitialisation dev :
openclaw gateway --dev --reset(dev uniquement ; efface la configuration dev + 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 tours plus anciens) :
ou
/compact <instructions>pour guider le résumé. -
Réinitialiser (nouvel ID de session pour la même clé de chat) :
- Activez ou ajustez le pruning de session (
agents.defaults.contextPruning) pour réduire les anciennes sorties d’outils. - Utilisez un modèle avec une fenêtre de contexte plus grande.
Pourquoi vois-je "LLM request rejected: messages.content.tool_use.input field required" ?
Pourquoi vois-je "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/schéma).Correction : démarrez une nouvelle session avec /new (message autonome).Pourquoi reçois-je des messages Heartbeat toutes les 30 minutes ?
Pourquoi reçois-je des messages Heartbeat toutes les 30 minutes ?
HEARTBEAT.md existe mais est effectivement vide (uniquement des lignes vides,
des commentaires Markdown/HTML, des titres Markdown comme # Heading, des marqueurs de clôture,
ou des ébauches de listes de contrôle vides), OpenClaw ignore l’exécution du heartbeat pour économiser des appels API.
Si le fichier est absent, 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 bot » à un groupe WhatsApp ?
Dois-je ajouter un « compte bot » à un groupe WhatsApp ?
groupPolicy: "allowlist").Si vous voulez que vous seul puissiez déclencher des réponses de groupe :Comment obtenir le JID d’un groupe WhatsApp ?
Comment obtenir le JID d’un groupe WhatsApp ?
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 MP ?
Les groupes/fils partagent-ils le contexte avec les MP ?
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 résident sous
~/.openclaw/agents/<agentId>/sessions/. - Coût en tokens : plus d’agents signifie plus d’utilisation simultanée du modèle.
- Surcharge opérationnelle : profils d’authentification, espaces de travail et routage des canaux par agent.
- Gardez un espace de travail actif par agent (
agents.defaults.workspace). - Purgez les anciennes sessions (supprimez les JSONL ou les entrées de stockage) si le disque grossit.
- Utilisez
openclaw doctorpour repérer les espaces de travail orphelins et les incohérences de profil.
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 (associations).
- Canal(aux) Slack associé(s) à ces agents.
- Navigateur local via Chrome MCP ou un nœud si nécessaire.
Modèles, basculement et profils d’authentification
La FAQ des modèles — valeurs par défaut, sélection, alias, changement, basculement, profils d’authentification — se trouve dans la FAQ des 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 (UI 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 courante lorsque le processus est vivant mais que le port n’écoute pas)
Pourquoi openclaw gateway status affiche-t-il des valeurs différentes pour « Config (cli) » et « Config (service) » ?
Pourquoi openclaw gateway status affiche-t-il des valeurs différentes pour « Config (cli) » et « Config (service) » ?
--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 lance 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 le drapeau de remplacement).- L’application macOS surveille le fichier de configuration et change de mode à chaud 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.
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 (pour qu’il ait une adresse 100.x), ou
- Passez à
gateway.bind: "loopback"/"lan".
tailnet est explicite. auto préfère la boucle locale ; utilisez gateway.bind: "tailnet" lorsque vous voulez une liaison uniquement 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> ; anciens 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 courantes :- 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 tunnel a supprimé les en-têtes d’authentification ou envoyé une requête non-Gateway.
- Utilisez l’URL WS :
ws://<host>:18789(ouwss://...si 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ù sont les journaux ?
Où sont les journaux ?
logging.file. Le niveau des journaux fichier est contrôlé par logging.level. La verbosité de la console est contrôlée par --verbose et logging.consoleLevel.Suivi des journaux le plus rapide :- stdout launchd macOS :
~/Library/Logs/openclaw/gateway.log(les profils utilisentgateway-<profile>.log; stderr est supprimé) - 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 du Gateway (vérifiez
models status). - Appairage/liste d’autorisation du canal bloquant les réponses (vérifiez la configuration du canal et les journaux).
- WebChat/Dashboard est ouvert sans le bon jeton.
"Déconnecté du Gateway : aucune raison" : que faire ?
"Déconnecté du Gateway : aucune raison" : que faire ?
- Le Gateway est-il en cours d’exécution ?
openclaw gateway status - Le Gateway est-il sain ?
openclaw status - L’interface utilisateur dispose-t-elle du bon jeton ?
openclaw dashboard - Si vous êtes à 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 limite déjà le menu à 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 plugins/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 erreurs réseau similaires : si vous êtes sur un VPS ou derrière un proxy, vérifiez que le HTTPS sortant est autorisé et que le DNS fonctionne pourapi.telegram.org.
Le TUI n’affiche aucune sortie. Que dois-je vérifier ?
Le 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).Documentation : TUI, Commandes slash.Comment arrêter complètement puis démarrer le Gateway ?
Comment arrêter complètement puis démarrer le Gateway ?
Explication simple : openclaw gateway restart ou openclaw gateway
Explication simple : openclaw gateway restart ou 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 lorsque
vous voulez une exécution ponctuelle au premier plan.Le moyen le plus rapide d’obtenir plus de détails en cas d’échec
Le moyen le plus rapide d’obtenir plus de détails en cas d’échec
--verbose pour obtenir plus de détails dans la console. Inspectez ensuite le fichier journal pour les erreurs d’authentification des canaux, de routage des modèles et de RPC.Médias et pièces jointes
Mon Skill a généré une image/un PDF, mais rien n’a été envoyé
Mon Skill a généré une image/un PDF, mais rien n’a été envoyé
media, mediaUrl, path ou filePath. Consultez Configuration de l’assistant OpenClaw et Envoi par l’agent.Envoi via 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 maximum).
tools.fs.workspaceOnly=truelimite les envois par chemin local à l’espace de travail, au stockage temporaire/média et aux fichiers validés par le bac à sable.tools.fs.workspaceOnly=falsepermet aux envois de médias locaux structurés d’utiliser les fichiers locaux de l’hôte que l’agent peut déjà lire, mais uniquement pour les médias et les types de documents sûrs (images, audio, vidéo, PDF, documents Office et documents texte validés tels que Markdown/MD, TXT, JSON, YAML et YML). Ce n’est pas un scanner de secrets : un fichiersecret.txtouconfig.jsonlisible par l’agent peut être joint lorsque l’extension et la validation du contenu correspondent. Gardez les fichiers sensibles hors des chemins lisibles par l’agent, ou conserveztools.fs.workspaceOnly=truepour des envois par chemin local plus stricts.
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’appairage :
- Les expéditeurs inconnus reçoivent un code d’appairage ; le bot ne traite pas leur message.
- Approuvez avec :
openclaw pairing approve --channel <channel> [--account <id>] <code> - Les demandes en attente sont limitées à 3 par canal ; vérifiez
openclaw pairing list --channel <channel> [--account <id>]si un code n’est pas arrivé.
- L’ouverture publique des DM nécessite une adhésion explicite (
dmPolicy: "open"et liste d’autorisation"*").
openclaw doctor pour détecter les politiques de DM risquées.L’injection de prompt concerne-t-elle uniquement les bots publics ?
L’injection de prompt concerne-t-elle uniquement 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 activés - traitant aussi le texte décodé des fichiers/documents comme non fiable : OpenResponses
input_fileet l’extraction des pièces jointes média encadrent tous deux le texte extrait avec des marqueurs explicites de limite de contenu externe au lieu de transmettre le texte brut du fichier - utilisant le bac à sable et des listes d’autorisation d’outils strictes
OpenClaw est-il moins sûr parce qu’il utilise TypeScript/Node au lieu de Rust/WASM ?
OpenClaw est-il moins sûr parce qu’il utilise TypeScript/Node au lieu de Rust/WASM ?
- gardez le Gateway privé ou authentifié
- utilisez l’appairage et les listes d’autorisation pour les DM et les groupes
- refusez ou isolez dans un bac à sable les outils risqués pour les entrées non fiables
- installez uniquement des plugins et Skills de confiance
- exécutez
openclaw security audit --deepaprès les changements de configuration
J’ai vu des signalements concernant des instances OpenClaw exposées. Que dois-je vérifier ?
J’ai vu des signalements concernant des instances OpenClaw exposées. Que dois-je vérifier ?
- Gateway lié à
loopback, ou exposé uniquement via un accès privé authentifié tel qu’un tailnet, un tunnel SSH, une authentification par jeton/mot de passe ou un proxy de confiance correctement configuré - DM en mode
pairingouallowlist - groupes dans une liste d’autorisation et soumis à mention sauf si chaque membre est fiable
- outils à haut risque (
exec,browser,gateway,cron) refusés ou strictement limités pour les agents qui lisent du contenu non fiable - bac à sable activé lorsque l’exécution d’outils nécessite un périmètre d’impact plus réduit
Les Skills ClawHub et les plugins tiers sont-ils sûrs à installer ?
Les Skills ClawHub et les plugins tiers sont-ils sûrs à installer ?
security.installPolicy détenu par l’opérateur pour les décisions locales d’autorisation/blocage.Modèle plus sûr :- privilégiez les auteurs de confiance et les versions épinglées
- lisez le Skill ou le plugin avant de l’activer
- gardez les listes d’autorisation de plugins et de Skills étroites
- exécutez les workflows d’entrées non fiables dans un bac à sable avec un minimum d’outils
- évitez de donner à du code tiers un accès large au système de fichiers, à exec, au navigateur ou aux secrets
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 messages privés en mode d’appairage ou dans une liste d’autorisation stricte.
- Utilisez un numéro ou compte distinct 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’appairage
J’ai exécuté /start dans Telegram, mais je n’ai pas reçu de code d’appairage
dmPolicy: "pairing" est activé. /start seul ne génère pas de code.Vérifiez les demandes en attente :dmPolicy: "open"
pour ce compte.WhatsApp : enverra-t-il des messages à mes contacts ? Comment fonctionne l’appairage ?
WhatsApp : enverra-t-il des messages à mes contacts ? Comment fonctionne l’appairage ?
channels.whatsapp.selfChatMode.Commandes de chat, abandon de tâches et « il ne s’arrête pas »
Comment empêcher les messages système internes d’apparaître dans le chat ?
Comment empêcher les messages système internes d’apparaître dans le chat ?
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 figurant dans la liste d’autorisation.Comment envoyer un message Discord depuis Telegram ? (« Messagerie intercontexte refusée »)
Comment envoyer un message Discord depuis Telegram ? (« Messagerie intercontexte 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 choisir le comportement de l’exécution active :steer- guider l’exécution active à la prochaine frontière de modèlefollowup- mettre les messages en file d’attente et les exécuter un par un après la fin de l’exécution actuellecollect- mettre les messages compatibles en file d’attente et répondre une fois après la fin de l’exécution actuelleinterrupt- 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 mis en file d’attente. Voir File de commandes et File de pilotage.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 trouvé d’identifiants Anthropic dans le fichier auth-profiles.json attendu pour l’agent en cours d’exécution.Toujours bloqué ? Demandez dans Discord ou ouvrez une discussion GitHub.
Connexe
- FAQ de première exécution — installation, intégration, authentification, abonnements, premiers échecs
- FAQ sur les modèles — sélection du modèle, basculement, profils d’authentification
- Dépannage — triage par symptôme
~/.openclaw/skills/<name>/SKILL.md(ou ajoutez un dossier viaskills.load.extraDirsdans~/.openclaw/openclaw.json). La priorité est<workspace>/skills→<workspace>/.agents/skills→~/.agents/skills→~/.openclaw/skills→ inclus →skills.load.extraDirs, donc les remplacements gérés priment toujours sur les skills inclus sans toucher à git. Si vous avez besoin que le skill soit installé globalement mais visible seulement par 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 doivent vivre dans le dépôt et partir en PR.