الانتقال إلى المحتوى الرئيسي

البيئة وتصحيح الأخطاء

متغيرات البيئة

يقوم OpenClaw بسحب متغيرات البيئة من مصادر متعددة. القاعدة هي عدم تجاوز القيم الموجودة مسبقًا.

الأولوية (من الأعلى → إلى الأدنى)​

  1. بيئة العملية (ما تمتلكه عملية Gateway بالفعل من shell/daemon الأصل).
  2. .env في دليل العمل الحالي (الإعداد الافتراضي لـ dotenv؛ لا يتجاوز القيم الموجودة).
  3. .env العام في ~/.openclaw/.env (المعروف أيضًا باسم $OPENCLAW_STATE_DIR/.env؛ لا يتجاوز القيم الموجودة).
  4. كتلة env في التهيئة في ~/.openclaw/openclaw.json (يتم تطبيقها فقط إذا كانت المفاتيح مفقودة).
  5. استيراد 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=1
  • OPENCLAW_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 قبل الاستخدام.

ذات صلة​

أساطير OpenClawتصحيح الأخطاء