Переменные окружения
OpenClaw получает переменные окружения из нескольких источников. Правило — никогда не переопределять существующие значения.Приоритет (от наивысшего к низшему)
- Окружение процесса (то, что процесс Gateway (шлюз) уже получил от родительской оболочки/демона).
.envв текущем рабочем каталоге (dotenv по умолчанию; не переопределяет).- Глобальный
.envпо адресу~/.openclaw/.env(также известен как$OPENCLAW_STATE_DIR/.env; не переопределяет). - Блок Config
envв~/.openclaw/openclaw.json(применяется только при отсутствии значения). - Необязательный импорт login-shell (
env.shellEnv.enabledилиOPENCLAW_LOAD_SHELL_ENV=1), применяется только для отсутствующих ожидаемых ключей.
Блок Config env
Два эквивалентных способа установки inline env vars (оба являются непереходящими):
Импорт Shell env
env.shellEnv запускает вашу login-shell и импортирует только отсутствующие ожидаемые ключи:
OPENCLAW_LOAD_SHELL_ENV=1OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
Подстановка переменных окружения в конфиге
Вы можете напрямую ссылаться на переменные окружения в строковых значениях конфига, используя синтаксис${VAR_NAME}:
Переменные окружения, связанные с путями
| Переменная | Назначение |
|---|---|
OPENCLAW_HOME | Переопределяет домашний каталог, используемый для всего внутреннего разрешения путей (~/.openclaw/, каталоги агентов, сессии, учётные данные). Полезно при запуске OpenClaw под отдельным сервисным пользователем. |
OPENCLAW_STATE_DIR | Переопределяет каталог состояния (по умолчанию ~/.openclaw). |
OPENCLAW_CONFIG_PATH | Переопределяет путь к файлу конфигурации (по умолчанию ~/.openclaw/openclaw.json). |
OPENCLAW_HOME
Если задано, OPENCLAW_HOME заменяет системный домашний каталог ($HOME / os.homedir()) для всего внутреннего разрешения путей. Это обеспечивает полную изоляцию файловой системы для сервисных учётных записей без пользовательского входа (headless).
Приоритет: OPENCLAW_HOME > $HOME > USERPROFILE > os.homedir()
Пример (macOS LaunchDaemon):
OPENCLAW_HOME также можно задать с использованием тильды (например, ~/svc); перед использованием путь будет развёрнут с помощью $HOME.