環境変数
OpenClawは複数のソースから環境変数を取得します。ルールは既存の値を上書きしないことです。
優先順位(高→低)
- プロセス環境(Gatewayプロセスが親シェル/デーモンからすでに持っているもの)。
- 現在の作業ディレクトリの.env(dotenvデフォルト;上書きしない)。
- グローバル.env(~/.openclaw/.env、別名$OPENCLAW_STATE_DIR/.env;上書きしない)。
- ~/.openclaw/openclaw.json内の設定envブロック(欠落している場合にのみ適用)。
- オプションのログインシェルインポート(env.shellEnv.enabledまたはOPENCLAW_LOAD_SHELL_ENV=1)、欠落している予期されるキーにのみ適用。
設定ファイルが完全に欠落している場合、ステップ4はスキップされます。シェルインポートは有効になっている場合でも実行されます。
設定envブロック
インライン環境変数を設定する2つの同等の方法(両方とも非上書き):
{
env: {
OPENROUTER_API_KEY: "sk-or-...",
vars: {
GROQ_API_KEY: "gsk-..."
}
}
}
シェル環境インポート
env.shellEnvはログインシェルを実行し、欠落している予期されるキーのみをインポートします:
{
env: {
shellEnv: {
enabled: true,
timeoutMs: 15000
}
}
}
環境変数の同等物:
- OPENCLAW_LOAD_SHELL_ENV=1
- OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
設定での環境変数置換
設定文字列値内で${VAR_NAME}構文を使用して環境変数を直接参照できます:
{
models: {
providers: {
"vercel-gateway": {
apiKey: "${VERCEL_GATEWAY_API_KEY}"
}
}
}
}
詳細については、Configuration: Env var substitutionを参照してください。