Zmienne srodowiskowe
OpenClaw pobiera zmienne srodowiskowe z wielu zrodel. Zasada: nigdy nie nadpisuj istniejacych wartosci.
Priorytet (od najwyzszego do najnizszego)
- Srodowisko procesu (co proces Gateway juz ma od nadrzednej powloki/demona).
.envw biezacym katalogu roboczym (domyslne zachowanie dotenv; nie nadpisuje).- Globalny
.envw~/.openclaw/.env(alias$OPENCLAW_STATE_DIR/.env; nie nadpisuje). - Blok
envw konfiguracji w~/.openclaw/openclaw.json(stosowany tylko jesli brakuje). - Opcjonalny import powloki logowania (
env.shellEnv.enabledlubOPENCLAW_LOAD_SHELL_ENV=1), stosowany tylko dla brakujacych oczekiwanych kluczy.
Jesli plik konfiguracji calkowicie brakuje, krok 4 jest pomijany; import powloki nadal sie wykonuje jesli jest wlaczony.
Blok env w konfiguracji
Dwa rownowazne sposoby ustawiania zmiennych srodowiskowych inline (oba nie nadpisuja):
{
env: {
OPENROUTER_API_KEY: "sk-or-...",
vars: {
GROQ_API_KEY: "gsk-...",
},
},
}
Import env z powloki
env.shellEnv uruchamia twoja powloke logowania i importuje tylko brakujace oczekiwane klucze:
{
env: {
shellEnv: {
enabled: true,
timeoutMs: 15000,
},
},
}
Rownowazne zmienne srodowiskowe:
OPENCLAW_LOAD_SHELL_ENV=1OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
Zmienne srodowiskowe wstrzykiwane w czasie wykonywania
OpenClaw wstrzykuje rowniez znaczniki kontekstu do uruchomionych procesow potomnych:
OPENCLAW_SHELL=exec: ustawiane dla polecen uruchamianych przez narzedzieexec.OPENCLAW_SHELL=acp: ustawiane dla uruchomien procesow backendu ACP (na przykladacpx).OPENCLAW_SHELL=acp-client: ustawiane dlaopenclaw acp clientpodczas uruchamiania procesu mostu ACP.OPENCLAW_SHELL=tui-local: ustawiane dla lokalnych polecen powloki!TUI.
To sa znaczniki czasu wykonywania (nie wymagana konfiguracja uzytkownika). Moga byc uzywane w logice powloki/profilu do stosowania regul specyficznych dla kontekstu.
Zmienne srodowiskowe UI
OPENCLAW_THEME=light: wymus jasna palete TUI gdy terminal ma jasne tlo.OPENCLAW_THEME=dark: wymus ciemna palete TUI.COLORFGBG: jesli terminal to eksportuje, OpenClaw uzywa wskazowki koloru tla do automatycznego wyboru palety TUI.
Podstawienie zmiennych srodowiskowych w konfiguracji
Mozesz odwolywac sie do zmiennych srodowiskowych bezposrednio w wartosciach lancuchowych konfiguracji uzywajac skladni ${VAR_NAME}:
{
models: {
providers: {
"vercel-gateway": {
apiKey: "${VERCEL_GATEWAY_API_KEY}",
},
},
},
}
Zobacz Konfiguracja: Podstawienie zmiennych srodowiskowych po pelne szczegoly.
SecretRef vs lancuchy ${ENV}
OpenClaw obsluguje dwa wzorce oparte na zmiennych srodowiskowych:
- Podstawienie lancuchow
${VAR}w wartosciach konfiguracji. - Obiekty SecretRef (
{ source: "env", provider: "default", id: "VAR" }) dla pol obslugujacych referencje sekretow.
Oba sa rozwiazywane ze srodowiska procesu w momencie aktywacji. Szczegoly SecretRef sa udokumentowane w Zarzadzanie sekretami.
Zmienne srodowiskowe zwiazane ze sciezkami
| Zmienna | Cel |
|---|---|
OPENCLAW_HOME | Nadpisac katalog domowy uzywany do calego wewnetrznego rozwiazywania sciezek (~/.openclaw/, katalogi agentow, sesje, dane uwierzytelniajace). Przydatne gdy OpenClaw dziala jako dedykowany uzytkownik uslugowy. |
OPENCLAW_STATE_DIR | Nadpisac katalog stanu (domyslnie ~/.openclaw). |
OPENCLAW_CONFIG_PATH | Nadpisac sciezke pliku konfiguracji (domyslnie ~/.openclaw/openclaw.json). |
Logowanie
| Zmienna | Cel |
|---|---|
OPENCLAW_LOG_LEVEL | Nadpisac poziom logowania dla pliku i konsoli (np. debug, trace). Ma pierwszenstwo przed logging.level i logging.consoleLevel w konfiguracji. Nieprawidlowe wartosci sa ignorowane z ostrzezeniem. |
OPENCLAW_HOME
Po ustawieniu OPENCLAW_HOME zastepuje systemowy katalog domowy ($HOME / os.homedir()) dla calego wewnetrznego rozwiazywania sciezek. Umozliwia to pelna izolacje systemu plikow dla bezgraficznych kont uslugowych.
Priorytet: OPENCLAW_HOME > $HOME > USERPROFILE > os.homedir()
Przyklad (macOS LaunchDaemon):
<key>EnvironmentVariables</key>
<dict>
<key>OPENCLAW_HOME</key>
<string>/Users/kira</string>
</dict>
OPENCLAW_HOME moze byc rowniez ustawiony na sciezke z tylda (np. ~/svc), ktora jest rozwijana z uzyciem $HOME przed uzyciem.