Biến môi trường
OpenClaw lấy biến môi trường từ nhiều nguồn khác nhau. Quy tắc là không bao giờ ghi đè giá trị đã có.
Thứ tự ưu tiên (cao → thấp)
- Process environment (những gì Gateway process đã có từ shell/daemon cha).
.envtrong thư mục hiện tại (mặc định của dotenv; không ghi đè)..envtoàn cục tại~/.openclaw/.env(hay$OPENCLAW_STATE_DIR/.env; không ghi đè).- Config
envblock trong~/.openclaw/openclaw.json(chỉ áp dụng nếu thiếu). - Optional login-shell import (
env.shellEnv.enabledhoặcOPENCLAW_LOAD_SHELL_ENV=1), chỉ áp dụng cho các key còn thiếu.
Nếu file config không tồn tại, bước 4 sẽ bị bỏ qua; shell import vẫn chạy nếu được bật.
Config env block
Có hai cách tương đương để set biến môi trường inline (cả hai đều không ghi đè):
{
env: {
OPENROUTER_API_KEY: "sk-or-...",
vars: {
GROQ_API_KEY: "gsk-...",
},
},
}
Shell env import
env.shellEnv chạy login shell của các bạn và chỉ import các key còn thiếu:
{
env: {
shellEnv: {
enabled: true,
timeoutMs: 15000,
},
},
}
Các biến môi trường tương đương:
OPENCLAW_LOAD_SHELL_ENV=1OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
Thay thế biến môi trường trong config
Các bạn có thể tham chiếu biến môi trường trực tiếp trong giá trị string của config bằng cú pháp ${VAR_NAME}:
{
models: {
providers: {
"vercel-gateway": {
apiKey: "${VERCEL_GATEWAY_API_KEY}",
},
},
},
}
Xem Configuration: Env var substitution để biết chi tiết đầy đủ.