متغيرات البيئة
يقوم OpenClaw بسحب متغيرات البيئة من مصادر متعددة. القاعدة هي عدم تجاوز القيم الموجودة مسبقًا.
الأولوية (من الأعلى → إلى الأدنى)
- بيئة العملية (ما تمتلكه عملية Gateway بالفعل من shell/daemon الأصل).
.envفي دليل العمل الحالي (الإعداد الافتراضي لـ dotenv؛ لا يتجاوز القيم الموجودة)..envالعام في~/.openclaw/.env(المعروف أيضًا باسم$OPENCLAW_STATE_DIR/.env؛ لا يتجاوز القيم الموجودة).- كتلة
envفي التهيئة في~/.openclaw/openclaw.json(يتم تطبيقها فقط إذا كانت المفاتيح مفقودة). - استيراد shell تسجيل الدخول الاختياري (
env.shellEnv.enabledأوOPENCLAW_LOAD_SHELL_ENV=1)، يتم تطبيقه فقط للمفاتيح المتوقعة المفقودة.
إذا كان ملف التهيئة مفقودًا تمامًا، يتم تخطي الخطوة 4؛ لا يزال استيراد shell يعمل إذا كان مفعلًا.
كتلة env في التهيئة
طريقتان متكافئتان لتعيين متغيرات البيئة المضمنة (كلاهما لا يتجاوز القيم الموجودة):
{
env: {
OPENROUTER_API_KEY: "sk-or-...",
vars: {
GROQ_API_KEY: "gsk-...",
},
},
}
استيراد بيئة Shell
تقوم env.shellEnv بتشغيل shell تسجيل الدخول الخاص بك وتستورد فقط المفاتيح المتوقعة المفقودة:
{
env: {
shellEnv: {
enabled: true,
timeoutMs: 15000,
},
},
}
المتغيرات البيئية المكافئة:
OPENCLAW_LOAD_SHELL_ENV=1OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
متغيرات البيئة المحقونة أثناء التشغيل
يقوم OpenClaw أيضًا بحقن علامات السياق في العمليات الفرعية التي يتم إنشاؤها:
OPENCLAW_SHELL=exec: يتم تعيينه للأوامر التي يتم تشغيلها عبر أداةexec.OPENCLAW_SHELL=acp: يتم تعيينه لعمليات إنشاء وقت تشغيل backend لـ ACP (على سبيل المثالacpx).OPENCLAW_SHELL=acp-client: يتم تعيينه لـopenclaw acp clientعندما يقوم بإنشاء عملية جسر ACP.OPENCLAW_SHELL=tui-local: يتم تعيينه لأوامر shell!المحلية في واجهة المستخدم النصية.
هذه علامات وقت التشغيل (ليست إعدادات مطلوبة من المستخدم). يمكن استخدامها في منطق shell/الملف الشخصي لتطبيق قواعد خاصة بالسياق.
استبدال متغيرات البيئة في التهيئة
يمكنك الإشارة إلى متغيرات البيئة مباشرة في قيم سلسلة التهيئة باستخدام بناء الجملة ${VAR_NAME}:
{
models: {
providers: {
"vercel-gateway": {
apiKey: "${VERCEL_GATEWAY_API_KEY}",
},
},
},
}
راجع التهيئة: استبدال متغيرات البيئة للحصول على التفاصيل الكاملة.
مراجع الأسرار مقابل سلاسل \${ENV}
يدعم OpenClaw نمطين مدفوعين بالبيئة:
- استبدال السلسلة
${VAR}في قيم التهيئة. - كائنات SecretRef (
{ source: "env", provider: "default", id: "VAR" }) للحقول التي تدعم مراجع الأسرار.
كليهما يحلان من بيئة العملية في وقت التنشيط. تم توثيق تفاصيل SecretRef في إدارة الأسرار.
متغيرات البيئة المتعلقة بالمسار
| المتغير | الغرض |
|---|---|
OPENCLAW_HOME | تجاوز دليل الرئيسي المستخدم لجميع عمليات تحديد المسار الداخلية (~/.openclaw/، أدلة الوكيل، الجلسات، بيانات الاعتماد). مفيد عند تشغيل OpenClaw كمستخدم خدمة مخصص. |
OPENCLAW_STATE_DIR | تجاوز دليل الحالة (الافتراضي ~/.openclaw). |
OPENCLAW_CONFIG_PATH | تجاوز مسار ملف التهيئة (الافتراضي ~/.openclaw/openclaw.json). |
التسجيل
| المتغير | الغرض |
|---|---|
OPENCLAW_LOG_LEVEL | تجاوز مستوى التسجيل لكل من الملف ووحدة التحكم (مثل debug، trace). له الأسبقية على logging.level و logging.consoleLevel في التهيئة. يتم تجاهل القيم غير الصالحة مع تحذير. |
OPENCLAW_HOME
عند تعيينه، يحل OPENCLAW_HOME محل دليل الرئيسي للنظام ($HOME / os.homedir()) لجميع عمليات تحديد المسار الداخلية. هذا يمكّن من عزل نظام الملفات بالكامل لحسابات الخدمة بدون واجهة مستخدم. الأولوية: OPENCLAW_HOME > $HOME > USERPROFILE > os.homedir() مثال (macOS LaunchDaemon):
<key>EnvironmentVariables</key>
<dict>
<key>OPENCLAW_HOME</key>
<string>/Users/kira</string>
</dict>
يمكن أيضًا تعيين OPENCLAW_HOME إلى مسار tilde (مثل ~/svc)، والذي يتم توسيعه باستخدام $HOME قبل الاستخدام.