Community translations by veiseule.ai — Help improve them on Crowdin
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):

{
  env: {
    OPENROUTER_API_KEY: "sk-or-...",
    vars: {
      GROQ_API_KEY: "gsk-...",
    },
  },
}

Import Shell env

env.shellEnv uruchamia Twoją powłokę logowania i importuje tylko brakujące oczekiwane klucze:

{
  env: {
    shellEnv: {
      enabled: true,
      timeoutMs: 15000,
    },
  },
}

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}:

{
  models: {
    providers: {
      "vercel-gateway": {
        apiKey: "${VERCEL_GATEWAY_API_KEY}",
      },
    },
  },
}

Zobacz Konfiguracja: podstawianie zmiennych środowiskowych, aby poznać pełne szczegóły.

Zmienne środowiskowe związane ze ścieżkami

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):

<key>EnvironmentVariables</key>
<dict>
  <key>OPENCLAW_HOME</key>
  <string>/Users/kira</string>
</dict>

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