OpenClaw extrait les variables d’environnement depuis plusieurs sources. La règle est ne jamais remplacer les valeurs existantes.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.
Priorité (plus élevée → plus faible)
- Environnement du processus (ce que le processus Gateway possède déjà depuis le shell/daemon parent).
.envdans le répertoire de travail courant (valeur par défaut de dotenv ; ne remplace pas)..envglobal à~/.openclaw/.env(alias$OPENCLAW_STATE_DIR/.env; ne remplace pas).- Bloc
envde configuration dans~/.openclaw/openclaw.json(appliqué uniquement si absent). - Import facultatif depuis le shell de connexion (
env.shellEnv.enabledouOPENCLAW_LOAD_SHELL_ENV=1), appliqué uniquement pour les clés attendues manquantes.
~/.config/openclaw/gateway.env comme solution de compatibilité de secours après le .env global. Si les deux fichiers existent et divergent, OpenClaw conserve ~/.openclaw/.env et affiche un avertissement.
Si le fichier de configuration est entièrement absent, l’étape 4 est ignorée ; l’import depuis le shell s’exécute quand même s’il est activé.
Bloc env de configuration
Deux façons équivalentes de définir des variables d’environnement en ligne (toutes deux sans remplacement) :
Import de l’environnement shell
env.shellEnv exécute votre shell de connexion et importe uniquement les clés attendues manquantes :
OPENCLAW_LOAD_SHELL_ENV=1OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
Variables d’environnement injectées à l’exécution
OpenClaw injecte également des marqueurs de contexte dans les processus enfants lancés :OPENCLAW_SHELL=exec: défini pour les commandes exécutées via l’outilexec.OPENCLAW_SHELL=acp: défini pour les lancements de processus du backend d’exécution ACP (par exempleacpx).OPENCLAW_SHELL=acp-client: défini pouropenclaw acp clientlorsqu’il lance le processus de pont ACP.OPENCLAW_SHELL=tui-local: défini pour les commandes shell!du TUI local.
Variables d’environnement d’interface utilisateur
OPENCLAW_THEME=light: force la palette claire du TUI lorsque votre terminal a un arrière-plan clair.OPENCLAW_THEME=dark: force la palette sombre du TUI.COLORFGBG: si votre terminal l’exporte, OpenClaw utilise l’indication de couleur d’arrière-plan pour choisir automatiquement la palette du TUI.
Substitution de variables d’environnement dans la configuration
Vous pouvez référencer directement des variables d’environnement dans les valeurs de chaîne de configuration à l’aide de la syntaxe${VAR_NAME} :
Références secrètes et chaînes ${ENV}
OpenClaw prend en charge deux modèles pilotés par l’environnement :
- Substitution de chaînes
${VAR}dans les valeurs de configuration. - Objets SecretRef (
{ source: "env", provider: "default", id: "VAR" }) pour les champs qui prennent en charge les références de secrets.
Variables d’environnement liées aux chemins
| Variable | Objectif |
|---|---|
OPENCLAW_HOME | Remplace le répertoire personnel utilisé pour toute la résolution interne des chemins (~/.openclaw/, répertoires d’agents, sessions, identifiants). Utile lors de l’exécution d’OpenClaw en tant qu’utilisateur de service dédié. |
OPENCLAW_STATE_DIR | Remplace le répertoire d’état (par défaut ~/.openclaw). |
OPENCLAW_CONFIG_PATH | Remplace le chemin du fichier de configuration (par défaut ~/.openclaw/openclaw.json). |
OPENCLAW_INCLUDE_ROOTS | Liste de chemins de répertoires où les directives $include peuvent résoudre des fichiers en dehors du répertoire de configuration (par défaut : aucun — $include est confiné au répertoire de configuration). Expansion du tilde appliquée. |
Journalisation
| Variable | Objectif |
|---|---|
OPENCLAW_LOG_LEVEL | Remplace le niveau de journalisation pour le fichier et la console (par ex. debug, trace). Prend le pas sur logging.level et logging.consoleLevel dans la configuration. Les valeurs invalides sont ignorées avec un avertissement. |
OPENCLAW_DEBUG_MODEL_TRANSPORT | Émet des diagnostics ciblés de temporisation des requêtes/réponses de modèle au niveau info sans activer les journaux de débogage globaux. |
OPENCLAW_DEBUG_MODEL_PAYLOAD | Diagnostics de charge utile du modèle : summary, tools ou full-redacted. full-redacted est plafonné et expurgé, mais peut inclure du texte de prompt/message. |
OPENCLAW_DEBUG_SSE | Diagnostics de streaming : events pour la temporisation début/fin, peek pour inclure les cinq premiers événements SSE expurgés. |
OPENCLAW_DEBUG_CODE_MODE | Diagnostics de surface de modèle en mode code, y compris le masquage des outils fournisseur et l’application de l’exécution/attente uniquement. |
OPENCLAW_HOME
Lorsqu’il est défini, OPENCLAW_HOME remplace le répertoire personnel système ($HOME / os.homedir()) pour toute la résolution interne des chemins. Cela permet une isolation complète du système de fichiers pour les comptes de service sans interface.
Priorité : OPENCLAW_HOME > $HOME > USERPROFILE > os.homedir()
Exemple (macOS LaunchDaemon) :
OPENCLAW_HOME peut également être défini sur un chemin avec tilde (par ex. ~/svc), qui est développé à l’aide de $HOME avant utilisation.
Utilisateurs de nvm : échecs TLS de web_fetch
Si Node.js a été installé via nvm (et non via le gestionnaire de paquets du système), lefetch() intégré utilise
le magasin d’autorités de certification fourni avec nvm, auquel il peut manquer des autorités racines modernes (ISRG Root X1/X2 pour Let’s Encrypt,
DigiCert Global Root G2, etc.). Cela provoque l’échec de web_fetch avec "fetch failed" sur la plupart des sites HTTPS.
Sous Linux, OpenClaw détecte automatiquement nvm et applique le correctif dans l’environnement de démarrage réel :
openclaw gateway installécritNODE_EXTRA_CA_CERTSdans l’environnement du service systemd- le point d’entrée CLI
openclawse relance lui-même avecNODE_EXTRA_CA_CERTSdéfini avant le démarrage de Node
node ...) :
Exportez la variable avant de démarrer OpenClaw :
~/.openclaw/.env ; Node lit
NODE_EXTRA_CA_CERTS au démarrage du processus.
Variables d’environnement héritées
OpenClaw lit uniquement les variables d’environnementOPENCLAW_*. Les préfixes hérités
CLAWDBOT_* et MOLTBOT_* des versions précédentes sont ignorés silencieusement.
Si l’un d’eux est encore défini sur le processus Gateway au démarrage, OpenClaw émet un
seul avertissement de dépréciation Node (OPENCLAW_LEGACY_ENV_VARS) listant les
préfixes détectés et le nombre total. Renommez chaque valeur en remplaçant le
préfixe hérité par OPENCLAW_ (par exemple CLAWDBOT_GATEWAY_TOKEN →
OPENCLAW_GATEWAY_TOKEN) ; les anciens noms n’ont aucun effet.