환경 변수
OpenClaw는 여러 소스에서 환경 변수를 가져옵니다. 규칙은 기존 값을 절대 재정의하지 않는 것입니다.
우선순위 (높음 → 낮음)
- 프로세스 환경 (Gateway 프로세스가 상위 Shell/데몬에서 이미 가지고 있는 것).
- 현재 작업 디렉토리의 .env (dotenv 기본값; 재정의하지 않음).
- 전역 .env ~/.openclaw/.env (즉 $OPENCLAW_STATE_DIR/.env; 재정의하지 않음).
- 설정 env 블록 ~/.openclaw/openclaw.json에서 (누락된 경우에만 적용).
- 선택적 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를 참조하세요.