.env फ़ाइलें कम-विश्वसनीय स्रोत हैं: प्राथमिकता लागू करने से पहले OpenClaw वर्कस्पेस .env से प्रदाता क्रेडेंशियल और संरक्षित रनटाइम नियंत्रणों को अनदेखा करता है।
प्राथमिकता (उच्चतम से निम्नतम)
- प्रक्रिया पर्यावरण (जो Gateway प्रक्रिया को पैरेंट शेल/डेमन से पहले ही मिला हुआ है)।
- वर्तमान कार्यशील डायरेक्टरी में
.env(dotenv डिफ़ॉल्ट; ओवरराइड नहीं करता; प्रदाता क्रेडेंशियल और संरक्षित रनटाइम नियंत्रण अनदेखे किए जाते हैं)। ~/.openclaw/.envपर वैश्विक.env(जिसे$OPENCLAW_STATE_DIR/.envभी कहा जाता है; प्रदाता API कुंजियों के लिए अनुशंसित; ओवरराइड नहीं करता)।~/.openclaw/openclaw.jsonमें कॉन्फ़िगenvब्लॉक (केवल अनुपस्थित होने पर लागू होता है)।- वैकल्पिक लॉगिन-शेल आयात (
env.shellEnv.enabledयाOPENCLAW_LOAD_SHELL_ENV=1), केवल अनुपस्थित अपेक्षित कुंजियों के लिए लागू होता है।
.env के बाद ~/.config/openclaw/gateway.env को संगतता फ़ॉलबैक भी मानता है। यदि दोनों फ़ाइलें मौजूद हों और उनमें अंतर हो, तो OpenClaw ~/.openclaw/.env को बनाए रखता है और चेतावनी प्रिंट करता है।
यदि कॉन्फ़िग फ़ाइल पूरी तरह अनुपस्थित है, तो चरण 4 छोड़ दिया जाता है; सक्षम होने पर शेल आयात फिर भी चलता है।
ऑपरेटर के लिए समर्थित चर
नीचे दिए गए चर ऑपरेटरों के लिए समर्थित पर्यावरण अनुबंध हैं। बिना दस्तावेज़ वालेOPENCLAW_* चर आंतरिक कार्यान्वयन विवरण हैं और बिना सूचना के हट सकते हैं।
पथ और इंस्टेंस
Gateway और प्रमाणीकरण
प्रदाता क्रेडेंशियल
कोर और बंडल किए गए प्रदाता plugins निम्नलिखित क्रेडेंशियल और प्रदाता-चयन चरों को पहचानते हैं। जब आपको पूरी प्रक्रिया में एक ही मान के बजाय सीमित दायरे वाले क्रेडेंशियल चाहिए, तो प्रत्येक प्रदाता के कॉन्फ़िग या SecretRef फ़ील्ड को प्राथमिकता दें।AI_GATEWAY_API_KEY, ANTHROPIC_ADMIN_API_KEY, ANTHROPIC_ADMIN_KEY, ANTHROPIC_API_KEY, ANTHROPIC_OAUTH_TOKEN, ARCEEAI_API_KEY, AZURE_OPENAI_API_KEY, AZURE_SPEECH_API_KEY, AZURE_SPEECH_KEY, AZURE_SPEECH_REGION, BASETEN_API_KEY, BRAVE_API_KEY, BYTEPLUS_API_KEY, BYTEPLUS_SEED_SPEECH_API_KEY, CEREBRAS_API_KEY, CHUTES_API_KEY, CHUTES_OAUTH_TOKEN, CLAWROUTER_API_KEY, CLOUDFLARE_AI_GATEWAY_API_KEY, CODEX_API_KEY, COHERE_API_KEY, COMFY_API_KEY, COMFY_CLOUD_API_KEY, COPILOT_GITHUB_TOKEN, DASHSCOPE_API_KEY, DEEPGRAM_API_KEY, DEEPINFRA_API_KEY, DEEPSEEK_API_KEY, ELEVENLABS_API_KEY, EXA_API_KEY, FAL_API_KEY, FAL_KEY, FEATHERLESS_API_KEY, FIRECRAWL_API_KEY, FIREWORKS_API_KEY, GCLOUD_PROJECT, GEMINI_API_KEY, GH_TOKEN, GITHUB_TOKEN, GMI_API_KEY, GOOGLE_API_KEY, GOOGLE_APPLICATION_CREDENTIALS, GOOGLE_CLOUD_API_KEY, GOOGLE_CLOUD_LOCATION, GOOGLE_CLOUD_PROJECT, GRADIUM_API_KEY, GROQ_API_KEY, HF_TOKEN, HUGGINGFACE_HUB_TOKEN, INWORLD_API_KEY, KILOCODE_API_KEY, KIMICODE_API_KEY, KIMI_API_KEY, LITELLM_API_KEY, LM_API_TOKEN, LONGCAT_API_KEY, MINIMAX_API_KEY, MINIMAX_CODE_PLAN_KEY, MINIMAX_CODING_API_KEY, MINIMAX_OAUTH_TOKEN, MISTRAL_API_KEY, MODELSTUDIO_API_KEY, MODEL_API_KEY, MOONSHOT_API_KEY, NOVITA_API_KEY, NVIDIA_API_KEY, OLLAMA_API_KEY, OPENAI_ADMIN_KEY, OPENAI_API_KEY, OPENCODE_API_KEY, OPENCODE_ZEN_API_KEY, OPENROUTER_API_KEY, PARALLEL_API_KEY, PERPLEXITY_API_KEY, PIXVERSE_API_KEY, QIANFAN_API_KEY, QWEN_API_KEY, QWEN_TOKEN_PLAN_API_KEY, RUNWAYML_API_SECRET, RUNWAY_API_KEY, SENSEAUDIO_API_KEY, SGLANG_API_KEY, SPEECH_KEY, SPEECH_REGION, STEPFUN_API_KEY, SYNTHETIC_API_KEY, TAVILY_API_KEY, TOGETHER_API_KEY, TOKENHUB_API_KEY, TOKENPLAN_API_KEY, VENICE_API_KEY, VLLM_API_KEY, VOLCANO_ENGINE_API_KEY, VOLCENGINE_TTS_API_KEY, VOLCENGINE_TTS_APPID, VOLCENGINE_TTS_TOKEN, VOYAGE_API_KEY, VYDRA_API_KEY, XAI_API_KEY, XIAOMI_API_KEY, XIAOMI_TOKEN_PLAN_API_KEY, XI_API_KEY, ZAI_API_KEY, और Z_AI_API_KEY।
इंस्टॉल किए गए तृतीय-पक्ष plugins अपने plugin मैनिफ़ेस्ट में अतिरिक्त क्रेडेंशियल चर घोषित कर सकते हैं; वे चर उन्हें घोषित करने वाले plugin के अनुबंध हैं, कोर OpenClaw चर नहीं।
लॉगिंग और निदान
सुविधा और रनटाइम टॉगल
प्रदाता क्रेडेंशियल और वर्कस्पेस .env
प्रदाता API कुंजियों को केवल वर्कस्पेस .env में न रखें। OpenClaw वर्कस्पेस .env फ़ाइलों से प्रदाता क्रेडेंशियल और एंडपॉइंट-रीडायरेक्ट कुंजियों के एक बड़े समूह को ब्लॉक करता है, जिसमें हर ज्ञात प्रदाता प्रमाणीकरण env var (उदाहरण के लिए GEMINI_API_KEY, GOOGLE_API_KEY, XAI_API_KEY, MISTRAL_API_KEY, GROQ_API_KEY, DEEPSEEK_API_KEY, PERPLEXITY_API_KEY, BRAVE_API_KEY, TAVILY_API_KEY, EXA_API_KEY, FIRECRAWL_API_KEY), साथ ही _API_HOST, _BASE_URL, _ENDPOINT, या _HOMESERVER पर समाप्त होने वाली कोई भी कुंजी, और संपूर्ण OPENCLAW_*, CLAWHUB_*, ANTHROPIC_API_KEY_*, और OPENAI_API_KEY_* नेमस्पेस शामिल हैं।
इसके बजाय प्रदाता क्रेडेंशियल के लिए इन विश्वसनीय स्रोतों में से किसी एक का उपयोग करें:
- Gateway प्रक्रिया पर्यावरण, जैसे कोई शेल, launchd/systemd यूनिट, कंटेनर सीक्रेट या CI सीक्रेट।
~/.openclaw/.envया$OPENCLAW_STATE_DIR/.envपर वैश्विक रनटाइम dotenv फ़ाइल।~/.openclaw/openclaw.jsonमें कॉन्फ़िगenvब्लॉक।env.shellEnv.enabledयाOPENCLAW_LOAD_SHELL_ENV=1सक्षम होने पर वैकल्पिक लॉगिन-शेल आयात।
.env में संग्रहीत किए थे, तो उन्हें ऊपर दिए गए विश्वसनीय स्रोतों में से किसी एक में ले जाएँ। वर्कस्पेस .env अब भी ऐसे सामान्य प्रोजेक्ट चर प्रदान कर सकता है जो क्रेडेंशियल, एंडपॉइंट रीडायरेक्ट, होस्ट ओवरराइड या OPENCLAW_* रनटाइम नियंत्रण नहीं हैं।
सुरक्षा तर्क के लिए वर्कस्पेस .env फ़ाइलें देखें।
कॉन्फ़िग env ब्लॉक
इनलाइन env vars सेट करने के दो समतुल्य तरीके (दोनों ओवरराइड नहीं करते):
env ब्लॉक केवल शाब्दिक स्ट्रिंग मान स्वीकार करता है। यह
file:... मानों का विस्तार नहीं करता; उदाहरण के लिए, XAI_API_KEY: "file:secrets/xai-api-key.txt"
प्रदाताओं को ठीक उसी स्ट्रिंग के रूप में दिया जाता है।
फ़ाइल-आधारित प्रदाता कुंजियों के लिए, उस क्रेडेंशियल फ़ील्ड पर SecretRef का उपयोग करें जो
इसका समर्थन करता है:
शेल env आयात
env.shellEnv आपका लॉगिन शेल चलाता है और केवल अनुपस्थित अपेक्षित कुंजियाँ आयात करता है:
OPENCLAW_LOAD_SHELL_ENV=1OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000(डिफ़ॉल्ट15000)
Exec शेल स्नैपशॉट
गैर-Windows Gateway होस्ट पर, bash और zshexec कमांड डिफ़ॉल्ट रूप से स्टार्टअप स्नैपशॉट का उपयोग करते हैं।
इस पथ को अक्षम करने के लिए Gateway प्रक्रिया पर्यावरण में OPENCLAW_EXEC_SHELL_SNAPSHOT=0 सेट करें।
false, no, और off मान भी इसे अक्षम करते हैं। प्रति-कॉल exec.env मान
स्नैपशॉट को टॉगल या स्नैपशॉट कैश को रीडायरेक्ट नहीं कर सकते।
रनटाइम द्वारा इंजेक्ट किए गए env vars
OpenClaw प्रारंभ की गई चाइल्ड प्रक्रियाओं में संदर्भ मार्कर भी इंजेक्ट करता है:OPENCLAW_SHELL=exec:execटूल के माध्यम से चलाए गए कमांड के लिए सेट किया जाता है।OPENCLAW_SHELL=acp-client: जबopenclaw acp clientACP ब्रिज प्रक्रिया आरंभ करता है, तब उसके लिए सेट किया जाता है।OPENCLAW_SHELL=tui-local: स्थानीय TUI!शेल कमांड के लिए सेट किया जाता है।OPENCLAW_CLI=1: CLI प्रवेश बिंदु द्वारा आरंभ की गई चाइल्ड प्रक्रियाओं के लिए सेट किया जाता है।
UI परिवेश चर
OPENCLAW_THEME=light: यदि आपके टर्मिनल की पृष्ठभूमि हल्की है, तो हल्की TUI रंग-संयोजना को बाध्य करें।OPENCLAW_THEME=dark: गहरी TUI रंग-संयोजना को बाध्य करें।COLORFGBG: यदि आपका टर्मिनल इसे एक्सपोर्ट करता है, तो OpenClaw TUI रंग-संयोजना को स्वतः चुनने के लिए पृष्ठभूमि रंग संकेत का उपयोग करता है।
कॉन्फ़िगरेशन में परिवेश चर प्रतिस्थापन
आप${VAR_NAME} सिंटैक्स का उपयोग करके कॉन्फ़िगरेशन के स्ट्रिंग मानों में सीधे परिवेश चरों का संदर्भ दे सकते हैं:
सीक्रेट संदर्भ बनाम ${ENV} स्ट्रिंग
OpenClaw परिवेश-आधारित दो प्रतिरूपों का समर्थन करता है:
- कॉन्फ़िगरेशन मानों में
${VAR}स्ट्रिंग प्रतिस्थापन। - सीक्रेट संदर्भों का समर्थन करने वाले फ़ील्ड के लिए SecretRef ऑब्जेक्ट (
{ source: "env", provider: "default", id: "VAR" })।
env ब्लॉक स्वयं SecretRefs या file:...
संक्षिप्त मानों का समाधान नहीं करता।
पथ-संबंधी परिवेश चर
एजेंट सहायक टूल डाउनलोड
OpenClaw को उसके पिन किए गएfd
और ripgrep सहायक बाइनरी डाउनलोड करने से रोकने के लिए OPENCLAW_OFFLINE=1 सेट करें। OpenClaw टूल
डायरेक्टरी के अंतर्गत मौजूदा सहायक और कार्यशील सिस्टम बाइनरी उपयोग के योग्य बने रहते हैं; अनुपलब्ध सहायक
नेटवर्क अनुरोध आरंभ करने के बजाय अनुपलब्ध ही रहता है।
लॉगिंग
OPENCLAW_HOME
सेट होने पर, आंतरिक OpenClaw पथ डिफ़ॉल्ट के लिए OPENCLAW_HOME सिस्टम होम डायरेक्टरी ($HOME / os.homedir()) को प्रतिस्थापित करता है। इसमें डिफ़ॉल्ट स्टेट डायरेक्टरी, कॉन्फ़िगरेशन पथ, एजेंट डायरेक्टरियाँ, क्रेडेंशियल, इंस्टॉलर ऑनबोर्डिंग कार्यस्थान और openclaw update --channel dev द्वारा उपयोग किया जाने वाला डिफ़ॉल्ट डेवलपमेंट चेकआउट शामिल है।
प्राथमिकता: OPENCLAW_HOME > $HOME > USERPROFILE > Android पर Termux PREFIX होम फ़ॉलबैक > os.homedir()
उदाहरण (macOS LaunchDaemon):
OPENCLAW_HOME को टिल्ड पथ (जैसे ~/svc) पर भी सेट किया जा सकता है, जिसे उपयोग से पहले उसी OS होम फ़ॉलबैक शृंखला से विस्तारित किया जाता है।
OPENCLAW_STATE_DIR, OPENCLAW_CONFIG_PATH, और OPENCLAW_GIT_DIR जैसे स्पष्ट पथ चर फिर भी अधिक प्राथमिकता लेते हैं। शेल स्टार्टअप फ़ाइल पहचान, पैकेज-मैनेजर सेटअप और होस्ट ~ विस्तार जैसे OS-अकाउंट कार्य अभी भी वास्तविक सिस्टम होम का उपयोग कर सकते हैं।
nvm उपयोगकर्ता: web_fetch TLS विफलताएँ
यदि Node.js को सिस्टम पैकेज मैनेजर के बजाय nvm के माध्यम से इंस्टॉल किया गया था, तो अंतर्निहितfetch()
nvm के साथ बंडल किए गए CA स्टोर का उपयोग करता है, जिसमें आधुनिक रूट CA (Let’s Encrypt के लिए ISRG Root X1/X2,
DigiCert Global Root G2 आदि) अनुपस्थित हो सकते हैं। इसके कारण अधिकांश HTTPS साइटों पर web_fetch, "fetch failed" के साथ विफल हो जाता है।
Linux पर, OpenClaw स्वचालित रूप से nvm का पता लगाता है और वास्तविक स्टार्टअप परिवेश में सुधार लागू करता है:
openclaw gateway installसिस्टमd सेवा परिवेश मेंNODE_EXTRA_CA_CERTSलिखता हैopenclawCLI प्रवेश बिंदु Node स्टार्टअप से पहलेNODE_EXTRA_CA_CERTSसेट करके स्वयं को फिर से निष्पादित करता है
node ... लॉन्च के लिए):
OpenClaw शुरू करने से पहले चर को एक्सपोर्ट करें:
~/.openclaw/.env में लिखने पर निर्भर न रहें; Node प्रक्रिया स्टार्टअप के समय
NODE_EXTRA_CA_CERTS को पढ़ता है।
पुराने परिवेश चर
OpenClaw केवलOPENCLAW_* परिवेश चर पढ़ता है। पुराने रिलीज़ के
CLAWDBOT_* और MOLTBOT_* उपसर्गों को बिना सूचना के
अनदेखा कर दिया जाता है।
यदि स्टार्टअप के समय Gateway प्रक्रिया पर इनमें से कोई अभी भी सेट है, तो OpenClaw एकल
Node अप्रचलन चेतावनी (OPENCLAW_LEGACY_ENV_VARS) उत्सर्जित करता है, जिसमें पता लगाए गए
उपसर्ग और कुल संख्या सूचीबद्ध होती है। पुराने उपसर्ग को OPENCLAW_ से
प्रतिस्थापित करके प्रत्येक मान का नाम बदलें (उदाहरण के लिए CLAWDBOT_GATEWAY_TOKEN से
OPENCLAW_GATEWAY_TOKEN); पुराने नामों का कोई प्रभाव नहीं पड़ता।