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.
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=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}:
{
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.