Aller au contenu

Variables d'environnement

OpenClaw récupère les variables d’environnement à partir de plusieurs sources. La règle est ne jamais remplacer les valeurs existantes.

  1. Environnement de processus (ce que le processus Gateway possède déjà du shell/parent démon).
  2. .env dans le répertoire de travail actuel (dotenv par défaut ; ne remplace pas).
  3. .env global à ~/.openclaw/.env (aka $OPENCLAW_STATE_DIR/.env ; ne remplace pas).
  4. Bloc de configuration env dans ~/.openclaw/openclaw.json (appliqué uniquement si manquant).
  5. Import facultatif du shell de connexion (env.shellEnv.enabled ou OPENCLAW_LOAD_SHELL_ENV=1), appliqué uniquement pour les clés attendues manquantes.

Si le fichier de configuration est entièrement manquant, l’étape 4 est ignorée ; l’import du shell s’exécute toujours s’il est activé.

Deux façons équivalentes de définir des env vars en ligne (les deux ne remplacent pas) :

{
env: {
OPENROUTER_API_KEY: "sk-or-...",
vars: {
GROQ_API_KEY: "gsk-...",
},
},
}

env.shellEnv exécute votre shell de connexion et importe uniquement les clés attendues manquantes :

{
env: {
shellEnv: {
enabled: true,
timeoutMs: 15000,
},
},
}

Équivalents de variables d’environnement :

  • OPENCLAW_LOAD_SHELL_ENV=1
  • OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000

Substitution de variable d’environnement dans la configuration

Section intitulée « Substitution de variable d’environnement dans la configuration »

Vous pouvez référencer des env vars directement dans les valeurs de chaîne de configuration en utilisant la syntaxe ${VAR_NAME} :

{
models: {
providers: {
"vercel-gateway": {
apiKey: "${VERCEL_GATEWAY_API_KEY}",
},
},
},
}

Voir Configuration : Substitution de variable d’environnement pour plus de détails.