OpenClaw отримує змінні середовища з кількох джерел. Правило: ніколи не перевизначати наявні значення.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Пріоритетність (найвища → найнижча)
- Середовище процесу (те, що процес Gateway уже має від батьківської оболонки/демона).
.envу поточному робочому каталозі (типова поведінка dotenv; не перевизначає).- Глобальний
.envу~/.openclaw/.env(також$OPENCLAW_STATE_DIR/.env; не перевизначає). - Блок
envу конфігурації у~/.openclaw/openclaw.json(застосовується лише якщо значення відсутнє). - Необов’язковий імпорт із логін-оболонки (
env.shellEnv.enabledабоOPENCLAW_LOAD_SHELL_ENV=1), застосовується лише для відсутніх очікуваних ключів.
~/.config/openclaw/gateway.env як сумісний резервний варіант після глобального .env. Якщо обидва файли існують і розходяться, OpenClaw залишає ~/.openclaw/.env і виводить попередження.
Якщо конфігураційний файл повністю відсутній, крок 4 пропускається; імпорт із оболонки все одно запускається, якщо його ввімкнено.
Блок env у конфігурації
Два рівнозначні способи задати вбудовані змінні середовища (обидва не перевизначають наявні значення):
Імпорт середовища оболонки
env.shellEnv запускає вашу логін-оболонку й імпортує лише відсутні очікувані ключі:
OPENCLAW_LOAD_SHELL_ENV=1OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
Змінні середовища, ін’єктовані під час виконання
OpenClaw також ін’єктує маркери контексту в породжені дочірні процеси:OPENCLAW_SHELL=exec: установлюється для команд, запущених через інструментexec.OPENCLAW_SHELL=acp: установлюється для породження процесів бекенда середовища виконання ACP (наприклад,acpx).OPENCLAW_SHELL=acp-client: установлюється дляopenclaw acp client, коли він породжує процес моста ACP.OPENCLAW_SHELL=tui-local: установлюється для локальних команд оболонки TUI!.
Змінні середовища UI
OPENCLAW_THEME=light: примусово використовувати світлу палітру TUI, коли ваш термінал має світлий фон.OPENCLAW_THEME=dark: примусово використовувати темну палітру TUI.COLORFGBG: якщо ваш термінал експортує її, OpenClaw використовує підказку кольору фону для автоматичного вибору палітри TUI.
Підстановка змінних середовища в конфігурації
Ви можете напряму посилатися на змінні середовища в рядкових значеннях конфігурації за допомогою синтаксису${VAR_NAME}:
Secret refs проти рядків ${ENV}
OpenClaw підтримує два шаблони, керовані змінними середовища:
- Рядкова підстановка
${VAR}у значеннях конфігурації. - Об’єкти SecretRef (
{ source: "env", provider: "default", id: "VAR" }) для полів, які підтримують посилання на секрети.
Змінні середовища, пов’язані зі шляхами
| Змінна | Призначення |
|---|---|
OPENCLAW_HOME | Перевизначити домашній каталог, що використовується для всього внутрішнього розв’язання шляхів (~/.openclaw/, каталоги агентів, сесії, облікові дані). Корисно під час запуску OpenClaw як окремого службового користувача. |
OPENCLAW_STATE_DIR | Перевизначити каталог стану (типово ~/.openclaw). |
OPENCLAW_CONFIG_PATH | Перевизначити шлях до конфігураційного файлу (типово ~/.openclaw/openclaw.json). |
OPENCLAW_INCLUDE_ROOTS | Список шляхів до каталогів, у яких директиви $include можуть розв’язувати файли поза каталогом конфігурації (типово: немає — $include обмежено каталогом конфігурації). Розгортає тильду. |
Журналювання
| Змінна | Призначення |
|---|---|
OPENCLAW_LOG_LEVEL | Перевизначити рівень журналювання і для файлу, і для консолі (наприклад, debug, trace). Має пріоритет над logging.level і logging.consoleLevel у конфігурації. Некоректні значення ігноруються з попередженням. |
OPENCLAW_DEBUG_MODEL_TRANSPORT | Виводити цільову діагностику часу запиту/відповіді моделі на рівні info без увімкнення глобальних debug-журналів. |
OPENCLAW_DEBUG_MODEL_PAYLOAD | Діагностика корисного навантаження моделі: summary, tools або full-redacted. full-redacted обмежується й редагується, але може містити текст підказки/повідомлення. |
OPENCLAW_DEBUG_SSE | Діагностика потокової передачі: events для часу першої/завершальної події, peek для включення перших п’яти відредагованих подій SSE. |
OPENCLAW_DEBUG_CODE_MODE | Діагностика поверхні моделі в режимі коду, включно з приховуванням інструментів провайдера та примусовим дотриманням лише exec/wait. |
OPENCLAW_HOME
Якщо встановлено, OPENCLAW_HOME замінює системний домашній каталог ($HOME / os.homedir()) для всього внутрішнього розв’язання шляхів. Це забезпечує повну ізоляцію файлової системи для безголових службових облікових записів.
Пріоритетність: OPENCLAW_HOME > $HOME > USERPROFILE > os.homedir()
Приклад (macOS LaunchDaemon):
OPENCLAW_HOME також можна встановити як шлях із тильдою (наприклад, ~/svc), який перед використанням розгортається за допомогою $HOME.
Користувачі nvm: збої TLS у web_fetch
Якщо Node.js було встановлено через nvm (а не системний менеджер пакетів), вбудованийfetch() використовує
вбудоване сховище CA nvm, у якому можуть бути відсутні сучасні кореневі CA (ISRG Root X1/X2 для Let’s Encrypt,
DigiCert Global Root G2 тощо). Через це web_fetch завершується помилкою "fetch failed" на більшості HTTPS-сайтів.
У Linux OpenClaw автоматично виявляє nvm і застосовує виправлення у фактичному середовищі запуску:
openclaw gateway installзаписуєNODE_EXTRA_CA_CERTSу середовище служби systemd- вхідна точка CLI
openclawповторно запускає себе з установленоюNODE_EXTRA_CA_CERTSперед запуском Node
node ...):
Експортуйте змінну перед запуском OpenClaw:
~/.openclaw/.env для цієї змінної; Node читає
NODE_EXTRA_CA_CERTS під час запуску процесу.
Застарілі змінні середовища
OpenClaw читає лише змінні середовищаOPENCLAW_*. Застарілі префікси
CLAWDBOT_* і MOLTBOT_* із попередніх випусків мовчки
ігноруються.
Якщо будь-які з них усе ще встановлено в процесі Gateway під час запуску, OpenClaw виводить
одне попередження Node про застарівання (OPENCLAW_LEGACY_ENV_VARS) зі списком
виявлених префіксів і загальною кількістю. Перейменуйте кожне значення, замінивши
застарілий префікс на OPENCLAW_ (наприклад, CLAWDBOT_GATEWAY_TOKEN →
OPENCLAW_GATEWAY_TOKEN); старі назви не мають жодного ефекту.