Skip to main content

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)

  1. Środowisko procesu (to, co proces Gateway już otrzymał z nadrzędnej powłoki/daemona).
  2. .env w bieżącym katalogu roboczym (domyślne dotenv; nie nadpisuje).
  3. Globalny .env w ~/.openclaw/.env (aka $OPENCLAW_STATE_DIR/.env; nie nadpisuje).
  4. Blok Config env w ~/.openclaw/openclaw.json (stosowany tylko, jeśli brakuje wartości).
  5. Opcjonalny import powłoki logowania (env.shellEnv.enabled lub OPENCLAW_LOAD_SHELL_ENV=1), stosowany wyłącznie dla brakujących oczekiwanych kluczy.
Jeśli plik konfiguracji jest całkowicie nieobecny, krok 4 jest pomijany; import powłoki nadal jest wykonywany, jeśli jest włączony.

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:
Ekwiwalenty Env var:
  • OPENCLAW_LOAD_SHELL_ENV=1
  • OPENCLAW_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}:
Zobacz Konfiguracja: podstawianie zmiennych środowiskowych, aby poznać pełne szczegóły.

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.

Powiązane