環境變數
OpenClaw 從多個來源提取環境變數。規則是永不覆蓋現有值。
優先順序(從高到低)
Section titled “優先順序(從高到低)”- 程序環境(Gateway 程序從父 shell/daemon 繼承的內容)。
- 目前工作目錄中的
.env(dotenv 預設值;不會覆蓋)。 ~/.openclaw/.env處的全域.env(又稱$OPENCLAW_STATE_DIR/.env;不會覆蓋)。~/.openclaw/openclaw.json中的設定env區塊(僅在缺失時套用)。- 選用 login-shell 匯入(
env.shellEnv.enabled或OPENCLAW_LOAD_SHELL_ENV=1),僅針對缺失的預期鍵值套用。
如果設定檔完全缺失,步驟 4 將被跳過;若啟用,shell 匯入仍會執行。
設定 env 區塊
Section titled “設定 env 區塊”設定行內環境變數的兩種等效方式(皆不會覆蓋):
{ env: { OPENROUTER_API_KEY: "sk-or-...", vars: { GROQ_API_KEY: "gsk-...", }, },}Shell 環境匯入
Section titled “Shell 環境匯入”env.shellEnv 會執行您的 login shell 並僅匯入缺失的預期鍵值:
{ env: { shellEnv: { enabled: true, timeoutMs: 15000, }, },}環境變數等效項:
OPENCLAW_LOAD_SHELL_ENV=1OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
設定中的環境變數替換
Section titled “設定中的環境變數替換”您可以使用 ${VAR_NAME} 語法直接在設定字串值中引用環境變數:
{ models: { providers: { "vercel-gateway": { apiKey: "${VERCEL_GATEWAY_API_KEY}", }, }, },}詳見 設定:環境變數替換。