Zmienne srodowiskowe

OpenClaw pobiera zmienne srodowiskowe z wielu zrodel. Zasada: nigdy nie nadpisuj istniejacych wartosci.

Priorytet (od najwyzszego do najnizszego)

  1. Srodowisko procesu (co proces Gateway juz ma od nadrzednej powloki/demona).
  2. .env w biezacym katalogu roboczym (domyslne zachowanie dotenv; nie nadpisuje).
  3. Globalny .env w ~/.openclaw/.env (alias $OPENCLAW_STATE_DIR/.env; nie nadpisuje).
  4. Blok env w konfiguracji w ~/.openclaw/openclaw.json (stosowany tylko jesli brakuje).
  5. Opcjonalny import powloki logowania (env.shellEnv.enabled lub OPENCLAW_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=1
  • OPENCLAW_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 narzedzie exec.
  • OPENCLAW_SHELL=acp: ustawiane dla uruchomien procesow backendu ACP (na przyklad acpx).
  • OPENCLAW_SHELL=acp-client: ustawiane dla openclaw acp client podczas 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

ZmiennaCel
OPENCLAW_HOMENadpisac katalog domowy uzywany do calego wewnetrznego rozwiazywania sciezek (~/.openclaw/, katalogi agentow, sesje, dane uwierzytelniajace). Przydatne gdy OpenClaw dziala jako dedykowany uzytkownik uslugowy.
OPENCLAW_STATE_DIRNadpisac katalog stanu (domyslnie ~/.openclaw).
OPENCLAW_CONFIG_PATHNadpisac sciezke pliku konfiguracji (domyslnie ~/.openclaw/openclaw.json).

Logowanie

ZmiennaCel
OPENCLAW_LOG_LEVELNadpisac 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.

Powiazane