Variables d’environnement
OpenClaw charge les variables d’environnement à partir de plusieurs sources. La règle est de ne jamais écraser les valeurs existantes.Priorité (de la plus élevée à la plus basse)
- Environnement du processus (ce que le processus de la Gateway (passerelle) possède déjà depuis le shell/le démon parent).
.envdans le répertoire de travail courant (valeur par défaut de dotenv ; n’écrase pas)..envglobal à~/.openclaw/.env(alias$OPENCLAW_STATE_DIR/.env; n’écrase pas).- Bloc de configuration
envdans~/.openclaw/openclaw.json(appliqué uniquement si manquant). - Import facultatif du shell de connexion (
env.shellEnv.enabledouOPENCLAW_LOAD_SHELL_ENV=1), appliqué uniquement pour les clés attendues manquantes.
Bloc de configuration env
Deux façons équivalentes de définir des variables d’environnement inline (les deux sans écrasement) :
Import des variables d’environnement du shell
env.shellEnv lance votre shell de connexion et importe uniquement les clés attendues manquantes :
OPENCLAW_LOAD_SHELL_ENV=1OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
Substitution de variables d’environnement dans la configuration
Vous pouvez référencer des variables d’environnement directement dans les valeurs de chaînes de la configuration en utilisant la syntaxe${VAR_NAME} :
Path-related env vars
| Variable | Objectif |
|---|---|
OPENCLAW_HOME | Remplacer le répertoire personnel utilisé pour toute la résolution interne des chemins (~/.openclaw/, répertoires des agents, sessions, identifiants). Useful when running OpenClaw as a dedicated service user. |
OPENCLAW_STATE_DIR | Remplacer le répertoire d’état (par défaut ~/.openclaw). |
OPENCLAW_CONFIG_PATH | Remplacer le chemin du fichier de configuration (par défaut ~/.openclaw/openclaw.json). |
OPENCLAW_HOME
Lorsqu’il est défini, OPENCLAW_HOME remplace le répertoire personnel du 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 graphique.
Priorité : OPENCLAW_HOME > $HOME > USERPROFILE > os.homedir()
Exemple (LaunchDaemon macOS) :
OPENCLAW_HOME peut également être défini avec un chemin utilisant le tilde (par ex. ~/svc), qui est développé à l’aide de $HOME avant utilisation.