Naar hoofdinhoud gaan

Omgevingsvariabelen

OpenClaw haalt omgevingsvariabelen uit meerdere bronnen. De regel is bestaande waarden nooit overschrijven.

Prioriteit (hoogste → laagste)

  1. Procesomgeving (wat het Gateway-proces al heeft van de bovenliggende shell/daemon).
  2. .env in de huidige werkdirectory (dotenv-standaard; overschrijft niet).
  3. Globale .env op ~/.openclaw/.env (aka $OPENCLAW_STATE_DIR/.env; overschrijft niet).
  4. Config env-blok in ~/.openclaw/openclaw.json (alleen toegepast indien ontbrekend).
  5. Optionele login-shell-import (env.shellEnv.enabled of OPENCLAW_LOAD_SHELL_ENV=1), alleen toegepast voor ontbrekende verwachte sleutels.
Als het configbestand volledig ontbreekt, wordt stap 4 overgeslagen; shell-import wordt nog steeds uitgevoerd indien ingeschakeld.

Config env-blok

Twee gelijkwaardige manieren om inline omgevingsvariabelen in te stellen (beide overschrijven niet):
{
  env: {
    OPENROUTER_API_KEY: "sk-or-...",
    vars: {
      GROQ_API_KEY: "gsk-...",
    },
  },
}

Shell-omgevingsimport

env.shellEnv start je login-shell en importeert alleen ontbrekende verwachte sleutels:
{
  env: {
    shellEnv: {
      enabled: true,
      timeoutMs: 15000,
    },
  },
}
Env var equivalenten:
  • OPENCLAW_LOAD_SHELL_ENV=1
  • OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000

Substitutie van omgevingsvariabelen in config

Je kunt omgevingsvariabelen direct refereren in stringwaarden van de config met de syntaxis ${VAR_NAME}:
{
  models: {
    providers: {
      "vercel-gateway": {
        apiKey: "${VERCEL_GATEWAY_API_KEY}",
      },
    },
  },
}
Zie Configuratie: substitutie van omgevingsvariabelen voor alle details.

Pad-gerelateerde omgevingsvariabelen

VariabeleDoel
OPENCLAW_HOMEOverschrijf de homedirectory die wordt gebruikt voor alle interne padresolutie (~/.openclaw/, agentmappen, sessies, referenties). Handig wanneer OpenClaw wordt uitgevoerd als een speciale servicegebruiker.
OPENCLAW_STATE_DIROverschrijf de state-directory (standaard ~/.openclaw).
OPENCLAW_CONFIG_PATHOverschrijf het pad naar het configuratiebestand (standaard ~/.openclaw/openclaw.json).

OPENCLAW_HOME

Wanneer ingesteld, vervangt OPENCLAW_HOME de systeem-homemap ($HOME / os.homedir()) voor alle interne padresolutie. Dit maakt volledige bestandsysteemisolatie mogelijk voor headless serviceaccounts. Voorrang: OPENCLAW_HOME > $HOME > USERPROFILE > os.homedir() Voorbeeld (macOS LaunchDaemon):
<key>EnvironmentVariables</key>
<dict>
  <key>OPENCLAW_HOME</key>
  <string>/Users/kira</string>
</dict>
OPENCLAW_HOME kan ook worden ingesteld op een tilde-pad (bijv. ~/svc), dat vóór gebruik wordt uitgebreid met $HOME.

Gerelateerd