환경 변수

OpenClaw는 여러 소스에서 환경 변수를 가져옵니다. 규칙은 기존 값을 절대 재정의하지 않는 것입니다.

우선순위 (높음 → 낮음)

  1. 프로세스 환경 (Gateway 프로세스가 상위 Shell/데몬에서 이미 가지고 있는 것).
  2. 현재 작업 디렉토리의 .env (dotenv 기본값; 재정의하지 않음).
  3. 전역 .env ~/.openclaw/.env (즉 $OPENCLAW_STATE_DIR/.env; 재정의하지 않음).
  4. 설정 env 블록 ~/.openclaw/openclaw.json에서 (누락된 경우에만 적용).
  5. 선택적 Login-Shell 가져오기 (env.shellEnv.enabled 또는 OPENCLAW_LOAD_SHELL_ENV=1), 누락된 예상 키에 대해서만 적용.

설정 파일이 완전히 누락된 경우 4단계를 건너뜁니다. Shell 가져오기는 활성화된 경우 여전히 실행됩니다.

설정 env 블록

인라인 환경 변수를 설정하는 두 가지 동등한 방법 (둘 다 재정의하지 않음):

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

Shell env 가져오기

env.shellEnv는 Login Shell을 실행하고 누락된 예상 키만 가져옵니다:

{
  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를 참조하세요.

관련 문서