ماحولاتی متغیرات¶
OpenClaw متعدد ذرائع سے environment variables حاصل کرتا ہے۔ اصول یہ ہے کہ موجودہ اقدار کو کبھی override نہ کریں۔
ترجیحی ترتیب (اعلیٰ → ادنیٰ)¶
- پروسیس ماحول (وہ جو Gateway پروسیس کو پہلے ہی والد شیل/ڈیمن سے ملا ہوتا ہے)۔
- موجودہ ورکنگ ڈائریکٹری میں
.env(dotenv ڈیفالٹ؛ اووررائیڈ نہیں کرتا)۔ - عالمی
.envمقام~/.openclaw/.envپر (جسے$OPENCLAW_STATE_DIR/.envبھی کہا جاتا ہے؛ اووررائیڈ نہیں کرتا)۔ - کنفیگ
envبلاک جو~/.openclaw/openclaw.jsonمیں ہے (صرف اس صورت میں لاگو ہوتا ہے جب قدر موجود نہ ہو)۔ - اختیاری لاگ اِن-شیل امپورٹ (
env.shellEnv.enabledیاOPENCLAW_LOAD_SHELL_ENV=1)، جو صرف متوقع مگر غائب کلیدوں کے لیے لاگو ہوتا ہے۔
اگر کنفیگ فائل مکمل طور پر موجود نہ ہو تو مرحلہ 4 چھوڑ دیا جاتا ہے؛ شیل امپورٹ اگر فعال ہو تو پھر بھی چلتا ہے۔
کنفیگ 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=1OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
کنفیگ میں Env var متبادل¶
آپ ${VAR_NAME} نحو استعمال کرتے ہوئے کنفیگ کی اسٹرنگ قدروں میں براہِ راست env vars کا حوالہ دے سکتے ہیں:
{
models: {
providers: {
"vercel-gateway": {
apiKey: "${VERCEL_GATEWAY_API_KEY}",
},
},
},
}
تفصیلات کے لیے Configuration: Env var substitution دیکھیں۔
Path سے متعلق env vars¶
| متغیر | مقصد |
|---|---|
OPENCLAW_HOME |
تمام اندرونی path resolution کے لیے استعمال ہونے والی home directory کو override کریں (~/.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¶
جب سیٹ کیا جائے تو، OPENCLAW_HOME تمام اندرونی path resolution کے لیے سسٹم home directory ($HOME / os.homedir()) کو تبدیل کر دیتا ہے۔ یہ headless service accounts کے لیے مکمل filesystem تنہائی کو ممکن بناتا ہے۔
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 کیا جاتا ہے۔