Skip to main content

Переменные окружения

OpenClaw получает переменные окружения из нескольких источников. Правило — никогда не переопределять существующие значения.

Приоритет (от наивысшего к низшему)

  1. Окружение процесса (то, что процесс Gateway (шлюз) уже получил от родительской оболочки/демона).
  2. .env в текущем рабочем каталоге (dotenv по умолчанию; не переопределяет).
  3. Глобальный .env по адресу ~/.openclaw/.env (также известен как $OPENCLAW_STATE_DIR/.env; не переопределяет).
  4. Блок Config env в ~/.openclaw/openclaw.json (применяется только при отсутствии значения).
  5. Необязательный импорт login-shell (env.shellEnv.enabled или OPENCLAW_LOAD_SHELL_ENV=1), применяется только для отсутствующих ожидаемых ключей.
Если файл конфига полностью отсутствует, шаг 4 пропускается; импорт оболочки всё равно выполняется, если включён.

Блок Config env

Два эквивалентных способа установки inline env vars (оба являются непереходящими):

Импорт Shell env

env.shellEnv запускает вашу login-shell и импортирует только отсутствующие ожидаемые ключи:
Env var эквиваленты:
  • OPENCLAW_LOAD_SHELL_ENV=1
  • OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000

Подстановка переменных окружения в конфиге

Вы можете напрямую ссылаться на переменные окружения в строковых значениях конфига, используя синтаксис ${VAR_NAME}:
Подробности см. в разделе Конфигурация: подстановка переменных окружения.

Переменные окружения, связанные с путями

OPENCLAW_HOME

Если задано, OPENCLAW_HOME заменяет системный домашний каталог ($HOME / os.homedir()) для всего внутреннего разрешения путей. Это обеспечивает полную изоляцию файловой системы для сервисных учётных записей без пользовательского входа (headless). Приоритет: OPENCLAW_HOME > $HOME > USERPROFILE > os.homedir() Пример (macOS LaunchDaemon):
OPENCLAW_HOME также можно задать с использованием тильды (например, ~/svc); перед использованием путь будет развёрнут с помощью $HOME.

Связанное