> ## Documentation Index
> Fetch the complete documentation index at: https://openclaw.veiseule.ai/llms.txt
> Use this file to discover all available pages before exploring further.

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

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

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 (оба являются непереходящими):

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  env: {
    OPENROUTER_API_KEY: "sk-or-...",
    vars: {
      GROQ_API_KEY: "gsk-...",
    },
  },
}
```

## Импорт Shell env

`env.shellEnv` запускает вашу login-shell и импортирует только **отсутствующие** ожидаемые ключи:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  env: {
    shellEnv: {
      enabled: true,
      timeoutMs: 15000,
    },
  },
}
```

Env var эквиваленты:

* `OPENCLAW_LOAD_SHELL_ENV=1`
* `OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000`

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

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

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  models: {
    providers: {
      "vercel-gateway": {
        apiKey: "${VERCEL_GATEWAY_API_KEY}",
      },
    },
  },
}
```

Подробности см. в разделе [Конфигурация: подстановка переменных окружения](/gateway/configuration#env-var-substitution-in-config).

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

| Переменная             | Назначение                                                                                                                                                                                                           |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `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):

```xml theme={"theme":{"light":"min-light","dark":"min-dark"}}
<key>EnvironmentVariables</key>
<dict>
  <key>OPENCLAW_HOME</key>
  <string>/Users/kira</string>
</dict>
```

`OPENCLAW_HOME` также можно задать с использованием тильды (например, `~/svc`); перед использованием путь будет развёрнут с помощью `$HOME`.

## Связанное

* [Конфигурация Gateway](/gateway/configuration)
* [FAQ: переменные окружения и загрузка .env](/help/faq#env-vars-and-env-loading)
* [Обзор моделей](/concepts/models)
