पर्यावरण चर
OpenClaw pulls environment variables from multiple sources. The rule is never override existing values.प्राथमिकता (उच्चतम → न्यूनतम)
- प्रोसेस पर्यावरण (जो Gateway प्रक्रिया को उसके पैरेंट शेल/डेमन से पहले से मिला है)।
- वर्तमान कार्यशील निर्देशिका में
.env(dotenv डिफ़ॉल्ट; ओवरराइड नहीं करता)। ~/.openclaw/.envपर वैश्विक.env(उर्फ़$OPENCLAW_STATE_DIR/.env; ओवरराइड नहीं करता)।~/.openclaw/openclaw.jsonमें Configenvब्लॉक (केवल तब लागू होता है जब मान अनुपस्थित हों)।- वैकल्पिक लॉगिन-शेल इम्पोर्ट (
env.shellEnv.enabledयाOPENCLAW_LOAD_SHELL_ENV=1), केवल अपेक्षित कुंजियों के गायब होने पर लागू।
Config env ब्लॉक
इनलाइन env vars सेट करने के दो समकक्ष तरीके (दोनों नॉन-ओवरराइडिंग हैं):
शेल env इम्पोर्ट
env.shellEnv आपका लॉगिन शेल चलाता है और केवल गायब अपेक्षित कुंजियों को इम्पोर्ट करता है:
OPENCLAW_LOAD_SHELL_ENV=1OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
Config में env var प्रतिस्थापन
आप${VAR_NAME} सिंटैक्स का उपयोग करके config स्ट्रिंग मानों में सीधे env vars को संदर्भित कर सकते हैं:
Path-संबंधित env vars
| वेरिएबल | उद्देश्य |
|---|---|
OPENCLAW_HOME | Override 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_DIR | state directory को override करें (डिफ़ॉल्ट ~/.openclaw)। |
OPENCLAW_CONFIG_PATH | config 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):
OPENCLAW_HOME को tilde path (उदाहरण: ~/svc) पर भी सेट किया जा सकता है, जिसे उपयोग से पहले $HOME का उपयोग करके expand किया जाता है।