मुख्य सामग्री पर जाएं

पर्यावरण चर

OpenClaw pulls environment variables from multiple sources. The rule is never override existing values.

प्राथमिकता (उच्चतम → न्यूनतम)

  1. प्रोसेस पर्यावरण (जो Gateway प्रक्रिया को उसके पैरेंट शेल/डेमन से पहले से मिला है)।
  2. वर्तमान कार्यशील निर्देशिका में .env (dotenv डिफ़ॉल्ट; ओवरराइड नहीं करता)।
  3. ~/.openclaw/.env पर वैश्विक .env (उर्फ़ $OPENCLAW_STATE_DIR/.env; ओवरराइड नहीं करता)।
  4. ~/.openclaw/openclaw.json में Config env ब्लॉक (केवल तब लागू होता है जब मान अनुपस्थित हों)।
  5. वैकल्पिक लॉगिन-शेल इम्पोर्ट (env.shellEnv.enabled या OPENCLAW_LOAD_SHELL_ENV=1), केवल अपेक्षित कुंजियों के गायब होने पर लागू।
यदि config फ़ाइल पूरी तरह से अनुपस्थित है, तो चरण 4 छोड़ा जाता है; सक्षम होने पर शेल इम्पोर्ट फिर भी चलता है।

Config env ब्लॉक

इनलाइन env vars सेट करने के दो समकक्ष तरीके (दोनों नॉन-ओवरराइडिंग हैं):
{
  env: {
    OPENROUTER_API_KEY: "sk-or-...",
    vars: {
      GROQ_API_KEY: "gsk-...",
    },
  },
}

शेल env इम्पोर्ट

env.shellEnv आपका लॉगिन शेल चलाता है और केवल गायब अपेक्षित कुंजियों को इम्पोर्ट करता है:
{
  env: {
    shellEnv: {
      enabled: true,
      timeoutMs: 15000,
    },
  },
}
Env var समतुल्य:
  • OPENCLAW_LOAD_SHELL_ENV=1
  • OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000

Config में env var प्रतिस्थापन

आप ${VAR_NAME} सिंटैक्स का उपयोग करके config स्ट्रिंग मानों में सीधे env vars को संदर्भित कर सकते हैं:
{
  models: {
    providers: {
      "vercel-gateway": {
        apiKey: "${VERCEL_GATEWAY_API_KEY}",
      },
    },
  },
}
पूर्ण विवरण के लिए Configuration: Env var substitution देखें।

Path-संबंधित env vars

वेरिएबलउद्देश्य
OPENCLAW_HOMEOverride the home directory used for all internal path resolution (~/.openclaw/, agent dirs, sessions, credentials). Useful when running OpenClaw as a dedicated service user.
OPENCLAW_STATE_DIRstate directory को override करें (डिफ़ॉल्ट ~/.openclaw)।
OPENCLAW_CONFIG_PATHconfig file path को override करें (डिफ़ॉल्ट ~/.openclaw/openclaw.json)।

OPENCLAW_HOME

When set, OPENCLAW_HOME replaces the system home directory ($HOME / os.homedir()) for all internal path resolution. This enables full filesystem isolation for headless service accounts. Precedence: OPENCLAW_HOME > $HOME > USERPROFILE > os.homedir() उदाहरण (macOS LaunchDaemon):
<key>EnvironmentVariables</key>
<dict>
  <key>OPENCLAW_HOME</key>
  <string>/Users/kira</string>
</dict>
OPENCLAW_HOME को tilde path (उदाहरण: ~/svc) पर भी सेट किया जा सकता है, जिसे उपयोग से पहले $HOME का उपयोग करके expand किया जाता है।

संबंधित