Переменные окружения
OpenClaw извлекает переменные окружения из нескольких источников. Правило — никогда не переопределять существующие значения.
Приоритет (от высшего → к низшему)
- Окружение процесса (что процесс шлюза уже имеет от родительского 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 переменные (оба не переопределяют):
\{
env: \{
OPENROUTER_API_KEY: "sk-or-...",
vars: \{
GROQ_API_KEY: "gsk-..."
\}
\}
\}
Импорт shell env
env.shellEnv запускает ваш login shell и импортирует только отсутствующие ожидаемые ключи:
\{
env: \{
shellEnv: \{
enabled: true,
timeoutMs: 15000
\}
\}
\}
Эквиваленты env переменных:
- OPENCLAW_LOAD_SHELL_ENV=1
- OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
Подстановка env переменных в конфигурации
Вы можете ссылаться на env переменные напрямую в строковых значениях конфигурации, используя синтаксис $\{VAR_NAME\}:
\{
models: \{
providers: \{
"vercel-gateway": \{
apiKey: "$\{VERCEL_GATEWAY_API_KEY\}"
\}
\}
\}
\}
См. Конфигурация: Подстановка env переменных для полных деталей.