环境变量
OpenClaw 从多个来源读取环境变量。规则是绝不覆盖已有值。优先级(高 → 低)
- 进程环境(Gateway 进程从父 shell/daemon 继承的环境)。
- 当前工作目录的
.env(dotenv 默认行为;不覆盖已有)。 - 全局
.env:~/.openclaw/.env(即$OPENCLAW_STATE_DIR/.env;不覆盖)。 - 配置
envblock(~/.openclaw/openclaw.json,仅在缺失时应用)。 - 可选登录 shell 导入(
env.shellEnv.enabled或OPENCLAW_LOAD_SHELL_ENV=1),仅为缺失的预期 key 导入。
配置 env block
两种等价方式设置内联 env vars(均不覆盖):
Shell env 导入
env.shellEnv 会运行登录 shell 并仅导入缺失的预期 key:
OPENCLAW_LOAD_SHELL_ENV=1OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
配置中的 env 变量替换
可在配置字符串值中使用${VAR_NAME} 引用 env vars: