OpenClaw pobiera zmienne środowiskowe z wielu źródeł. Zasada brzmi: nigdy nie nadpisuj istniejących wartości.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.
Priorytet (najwyższy → najniższy)
- Środowisko procesu (to, co proces Gateway ma już z nadrzędnej powłoki/demona).
.envw bieżącym katalogu roboczym (domyślne dotenv; nie nadpisuje).- Globalny
.envw~/.openclaw/.env(czyli$OPENCLAW_STATE_DIR/.env; nie nadpisuje). - Blok
envw konfiguracji w~/.openclaw/openclaw.json(stosowany tylko wtedy, gdy brakuje wartości). - Opcjonalny import z powłoki logowania (
env.shellEnv.enabledlubOPENCLAW_LOAD_SHELL_ENV=1), stosowany tylko dla brakujących oczekiwanych kluczy.
~/.config/openclaw/gateway.env jako zapasową ścieżkę zgodności po globalnym .env. Jeśli oba pliki istnieją i są ze sobą sprzeczne, OpenClaw zachowuje ~/.openclaw/.env i wyświetla ostrzeżenie.
Jeśli plik konfiguracyjny w ogóle nie istnieje, krok 4 jest pomijany; import z powłoki nadal działa, jeśli jest włączony.
Blok env w konfiguracji
Dwa równoważne sposoby ustawiania wbudowanych zmiennych env (oba nie nadpisują istniejących wartości):
Import env z powłoki
env.shellEnv uruchamia powłokę logowania i importuje tylko brakujące oczekiwane klucze:
OPENCLAW_LOAD_SHELL_ENV=1OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
Zmienne env wstrzykiwane w czasie działania
OpenClaw wstrzykuje też znaczniki kontekstu do uruchamianych procesów podrzędnych:OPENCLAW_SHELL=exec: ustawiane dla poleceń uruchamianych przez narzędzieexec.OPENCLAW_SHELL=acp: ustawiane dla uruchomień procesów zaplecza środowiska uruchomieniowego ACP (na przykładacpx).OPENCLAW_SHELL=acp-client: ustawiane dlaopenclaw acp client, gdy uruchamia proces mostka ACP.OPENCLAW_SHELL=tui-local: ustawiane dla lokalnych poleceń powłoki TUI!.
Zmienne env UI
OPENCLAW_THEME=light: wymusza jasną paletę TUI, gdy terminal ma jasne tło.OPENCLAW_THEME=dark: wymusza ciemną paletę TUI.COLORFGBG: jeśli terminal ją eksportuje, OpenClaw używa wskazówki koloru tła do automatycznego wyboru palety TUI.
Podstawianie zmiennych env w konfiguracji
Możesz odwoływać się do zmiennych env bezpośrednio w wartościach ciągów konfiguracji przy użyciu składni${VAR_NAME}:
Odwołania do sekretów a ciągi ${ENV}
OpenClaw obsługuje dwa wzorce oparte na env:
- Podstawianie ciągów
${VAR}w wartościach konfiguracji. - Obiekty SecretRef (
{ source: "env", provider: "default", id: "VAR" }) dla pól, które obsługują odwołania do sekretów.
Zmienne env związane ze ścieżkami
| Zmienna | Cel |
|---|---|
OPENCLAW_HOME | Nadpisuje katalog domowy używany do całego wewnętrznego rozwiązywania ścieżek (~/.openclaw/, katalogi agentów, sesje, poświadczenia). Przydatne podczas uruchamiania OpenClaw jako dedykowany użytkownik usługi. |
OPENCLAW_STATE_DIR | Nadpisuje katalog stanu (domyślnie ~/.openclaw). |
OPENCLAW_CONFIG_PATH | Nadpisuje ścieżkę pliku konfiguracyjnego (domyślnie ~/.openclaw/openclaw.json). |
OPENCLAW_INCLUDE_ROOTS | Lista ścieżek katalogów, w których dyrektywy $include mogą rozwiązywać pliki poza katalogiem konfiguracji (domyślnie: brak — $include jest ograniczone do katalogu konfiguracji). Rozwijane z tyldą. |
Logowanie
| Zmienna | Cel |
|---|---|
OPENCLAW_LOG_LEVEL | Nadpisuje poziom logowania dla pliku i konsoli (np. debug, trace). Ma pierwszeństwo przed logging.level i logging.consoleLevel w konfiguracji. Nieprawidłowe wartości są ignorowane z ostrzeżeniem. |
OPENCLAW_DEBUG_MODEL_TRANSPORT | Emituje ukierunkowaną diagnostykę czasu żądań/odpowiedzi modelu na poziomie info bez włączania globalnych logów debugowania. |
OPENCLAW_DEBUG_MODEL_PAYLOAD | Diagnostyka ładunku modelu: summary, tools lub full-redacted. full-redacted jest ograniczone i zredagowane, ale może zawierać tekst promptu/wiadomości. |
OPENCLAW_DEBUG_SSE | Diagnostyka strumieniowania: events dla czasu pierwszego/ukończonego zdarzenia, peek, aby uwzględnić pierwsze pięć zredagowanych zdarzeń SSE. |
OPENCLAW_DEBUG_CODE_MODE | Diagnostyka powierzchni modelu w trybie kodu, w tym ukrywanie narzędzi providera oraz wymuszanie tylko exec/wait. |
OPENCLAW_HOME
Gdy jest ustawione, OPENCLAW_HOME zastępuje systemowy katalog domowy ($HOME / os.homedir()) dla całego wewnętrznego rozwiązywania ścieżek. Umożliwia to pełną izolację systemu plików dla bezgłowych kont usługowych.
Priorytet: OPENCLAW_HOME > $HOME > USERPROFILE > os.homedir()
Przykład (macOS LaunchDaemon):
OPENCLAW_HOME można też ustawić na ścieżkę z tyldą (np. ~/svc), która przed użyciem zostanie rozwinięta przy użyciu $HOME.
Użytkownicy nvm: błędy TLS w web_fetch
Jeśli Node.js został zainstalowany przez nvm (a nie systemowego menedżera pakietów), wbudowanefetch() używa
dołączonego magazynu CA z nvm, w którym może brakować nowoczesnych głównych CA (ISRG Root X1/X2 dla Let’s Encrypt,
DigiCert Global Root G2 itd.). Powoduje to niepowodzenie web_fetch z błędem "fetch failed" w większości witryn HTTPS.
W systemie Linux OpenClaw automatycznie wykrywa nvm i stosuje poprawkę w rzeczywistym środowisku startowym:
openclaw gateway installzapisujeNODE_EXTRA_CA_CERTSw środowisku usługi systemd- punkt wejścia CLI
openclawponownie uruchamia sam siebie z ustawionymNODE_EXTRA_CA_CERTSprzed startem Node
node ...):
Wyeksportuj zmienną przed uruchomieniem OpenClaw:
~/.openclaw/.env; Node odczytuje
NODE_EXTRA_CA_CERTS przy starcie procesu.
Starsze zmienne środowiskowe
OpenClaw odczytuje tylko zmienne środowiskoweOPENCLAW_*. Starsze prefiksy
CLAWDBOT_* i MOLTBOT_* z wcześniejszych wersji są po cichu
ignorowane.
Jeśli którekolwiek z nich nadal są ustawione w procesie Gateway podczas startu, OpenClaw emituje
pojedyncze ostrzeżenie o wycofaniu Node (OPENCLAW_LEGACY_ENV_VARS) z listą
wykrytych prefiksów i łączną liczbą. Zmień nazwę każdej wartości, zastępując
starszy prefiks prefiksem OPENCLAW_ (na przykład CLAWDBOT_GATEWAY_TOKEN →
OPENCLAW_GATEWAY_TOKEN); stare nazwy nie mają żadnego efektu.