環境変数

OpenClawは複数のソースから環境変数を取得します。ルールは既存の値を上書きしないことです。

優先順位(高→低)

  1. プロセス環境(Gatewayプロセスが親シェル/デーモンからすでに持っているもの)。
  2. 現在の作業ディレクトリの.env(dotenvデフォルト;上書きしない)。
  3. グローバル.env~/.openclaw/.env、別名$OPENCLAW_STATE_DIR/.env;上書きしない)。
  4. ~/.openclaw/openclaw.json内の設定envブロック(欠落している場合にのみ適用)。
  5. オプションのログインシェルインポート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を参照してください。

関連