Zmienne środowiskowe
OpenClaw pobiera zmienne środowiskowe z wielu źródeł. Zasada brzmi: nigdy nie nadpisuj istniejących wartości.Kolejność pierwszeństwa (od najwyższej → do najniższej)
- Środowisko procesu (to, co proces Gateway już otrzymał z nadrzędnej powłoki/daemona).
.envw bieżącym katalogu roboczym (domyślne dotenv; nie nadpisuje).- Globalny
.envw~/.openclaw/.env(aka$OPENCLAW_STATE_DIR/.env; nie nadpisuje). - Blok Config
envw~/.openclaw/openclaw.json(stosowany tylko, jeśli brakuje wartości). - Opcjonalny import powłoki logowania (
env.shellEnv.enabledlubOPENCLAW_LOAD_SHELL_ENV=1), stosowany wyłącznie dla brakujących oczekiwanych kluczy.
Blok Config env
Dwa równoważne sposoby ustawiania var env (oba nie są nadpisywane):
Import Shell env
env.shellEnv uruchamia Twoją powłokę logowania i importuje tylko brakujące oczekiwane klucze:
OPENCLAW_LOAD_SHELL_ENV=1OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
Podstawienie Env var w konfiguracji
Możesz odwoływać się bezpośrednio do zmiennych środowiskowych w wartościach typu string w konfiguracji, używając składni${VAR_NAME}:
Path-related env vars
| Zmienna | Przeznaczenie |
|---|---|
OPENCLAW_HOME | Nadpisuje katalog domowy używany do rozwiązywania wszystkich wewnętrznych ścieżek (~/.openclaw/, katalogi agentów, sesje, poświadczenia). Useful when running OpenClaw as a dedicated service user. |
OPENCLAW_STATE_DIR | Nadpisuje katalog stanu (domyślnie ~/.openclaw). |
OPENCLAW_CONFIG_PATH | Nadpisuje ścieżkę pliku konfiguracyjnego (domyślnie ~/.openclaw/openclaw.json). |
OPENCLAW_HOME
Po ustawieniu OPENCLAW_HOME zastępuje systemowy katalog domowy ($HOME / os.homedir()) przy rozwiązywaniu wszystkich wewnętrznych ścieżek. Umożliwia to pełną izolację systemu plików dla bezobsługowych kont usługowych.
Kolejność pierwszeństwa: OPENCLAW_HOME > $HOME > USERPROFILE > os.homedir()
Przykład (macOS LaunchDaemon):
OPENCLAW_HOME można również ustawić jako ścieżkę z tyldą (np. ~/svc), która przed użyciem zostanie rozwinięta przy użyciu $HOME.