OpenClaw يسحب متغيرات البيئة من مصادر متعددة. القاعدة هي عدم تجاوز القيم الموجودة مطلقًا.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
الأسبقية (الأعلى → الأدنى)
- بيئة العملية (ما تملكه عملية Gateway بالفعل من الصدفة/الخدمة الأصلية).
.envفي دليل العمل الحالي (إعداد dotenv الافتراضي؛ لا يتجاوز).- ملف
.envعام في~/.openclaw/.env(أي$OPENCLAW_STATE_DIR/.env؛ لا يتجاوز). - كتلة
envفي الإعداد ضمن~/.openclaw/openclaw.json(تُطبّق فقط إذا كانت القيمة مفقودة). - استيراد اختياري من صدفة تسجيل الدخول (
env.shellEnv.enabledأوOPENCLAW_LOAD_SHELL_ENV=1)، يُطبّق فقط للمفاتيح المتوقعة المفقودة.
~/.config/openclaw/gateway.env كخيار توافق احتياطي بعد ملف .env العام. إذا كان الملفان موجودين وتعارضا، يحتفظ OpenClaw بـ ~/.openclaw/.env ويطبع تحذيرًا.
إذا كان ملف الإعداد مفقودًا بالكامل، تُتخطى الخطوة 4؛ ويظل استيراد الصدفة يعمل إذا كان مفعّلًا.
كتلة env في الإعداد
طريقتان متكافئتان لتعيين متغيرات البيئة المضمنة (كلتاهما لا تتجاوزان القيم الموجودة):
استيراد بيئة الصدفة
يشغّلenv.shellEnv صدفة تسجيل الدخول ويستورد فقط المفاتيح المتوقعة المفقودة:
OPENCLAW_LOAD_SHELL_ENV=1OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
متغيرات بيئة محقونة وقت التشغيل
يحقن OpenClaw أيضًا علامات سياق في العمليات الفرعية المنشأة:OPENCLAW_SHELL=exec: يُعيّن للأوامر المشغلة عبر أداةexec.OPENCLAW_SHELL=acp: يُعيّن عند إنشاء عمليات الواجهة الخلفية لوقت تشغيل ACP (مثلacpx).OPENCLAW_SHELL=acp-client: يُعيّن لـopenclaw acp clientعندما ينشئ عملية جسر ACP.OPENCLAW_SHELL=tui-local: يُعيّن لأوامر الصدفة!في TUI المحلي.
متغيرات بيئة الواجهة
OPENCLAW_THEME=light: فرض لوحة TUI الفاتحة عندما تكون خلفية الطرفية فاتحة.OPENCLAW_THEME=dark: فرض لوحة TUI الداكنة.COLORFGBG: إذا صدّرتها الطرفية لديك، يستخدم OpenClaw تلميح لون الخلفية لاختيار لوحة TUI تلقائيًا.
استبدال متغيرات البيئة في الإعداد
يمكنك الإشارة إلى متغيرات البيئة مباشرة في قيم السلاسل النصية للإعداد باستخدام صيغة${VAR_NAME}:
مراجع الأسرار مقابل سلاسل ${ENV}
يدعم OpenClaw نمطين مدفوعين بمتغيرات البيئة:
- استبدال سلسلة
${VAR}في قيم الإعداد. - كائنات SecretRef (
{ source: "env", provider: "default", id: "VAR" }) للحقول التي تدعم مراجع الأسرار.
متغيرات البيئة المتعلقة بالمسارات
| المتغير | الغرض |
|---|---|
OPENCLAW_HOME | تجاوز دليل المنزل المستخدم لكل عمليات حل المسارات الداخلية (~/.openclaw/، أدلة الوكلاء، الجلسات، بيانات الاعتماد). مفيد عند تشغيل OpenClaw كمستخدم خدمة مخصص. |
OPENCLAW_STATE_DIR | تجاوز دليل الحالة (الافتراضي ~/.openclaw). |
OPENCLAW_CONFIG_PATH | تجاوز مسار ملف الإعداد (الافتراضي ~/.openclaw/openclaw.json). |
OPENCLAW_INCLUDE_ROOTS | قائمة مسارات للأدلة التي يمكن لتوجيهات $include حل الملفات منها خارج دليل الإعداد (الافتراضي: لا شيء — يُحصر $include في دليل الإعداد). تُوسّع علامة التلدة. |
التسجيل
| المتغير | الغرض |
|---|---|
OPENCLAW_LOG_LEVEL | تجاوز مستوى السجل لكل من الملف ووحدة التحكم (مثل debug، trace). له الأسبقية على logging.level وlogging.consoleLevel في الإعداد. تُتجاهل القيم غير الصالحة مع تحذير. |
OPENCLAW_DEBUG_MODEL_TRANSPORT | إصدار تشخيصات موجهة لتوقيت طلبات/استجابات النموذج على مستوى info بدون تفعيل سجلات التصحيح العامة. |
OPENCLAW_DEBUG_MODEL_PAYLOAD | تشخيصات حمولة النموذج: summary أو tools أو full-redacted. full-redacted محدود ومنقح لكنه قد يتضمن نص المطالبة/الرسالة. |
OPENCLAW_DEBUG_SSE | تشخيصات البث: events لتوقيت البداية/الانتهاء، وpeek لتضمين أول خمسة أحداث SSE منقحة. |
OPENCLAW_DEBUG_CODE_MODE | تشخيصات سطح النموذج في وضع الكود، بما في ذلك إخفاء أدوات المزوّد وفرض exec/wait-only. |
OPENCLAW_HOME
عند تعيينه، يستبدل OPENCLAW_HOME دليل منزل النظام ($HOME / os.homedir()) لكل عمليات حل المسارات الداخلية. يتيح ذلك عزلًا كاملًا لنظام الملفات لحسابات الخدمة دون واجهة.
الأسبقية: OPENCLAW_HOME > $HOME > USERPROFILE > os.homedir()
مثال (macOS LaunchDaemon):
OPENCLAW_HOME إلى مسار يبدأ بتلدة (مثل ~/svc)، وسيُوسّع باستخدام $HOME قبل الاستخدام.
مستخدمو nvm: فشل TLS في web_fetch
إذا كان Node.js مثبتًا عبر nvm (وليس مدير حزم النظام)، فإنfetch() المضمّن يستخدم
مخزن شهادات CA المرفق مع nvm، والذي قد يفتقد مراجع CA الجذرية الحديثة (ISRG Root X1/X2 لـ Let’s Encrypt،
وDigiCert Global Root G2، إلخ). يؤدي هذا إلى فشل web_fetch برسالة "fetch failed" في معظم مواقع HTTPS.
على Linux، يكتشف OpenClaw وجود nvm تلقائيًا ويطبّق الإصلاح في بيئة بدء التشغيل الفعلية:
- يكتب
openclaw gateway installقيمةNODE_EXTRA_CA_CERTSفي بيئة خدمة systemd - تعيد نقطة دخول CLI الخاصة بـ
openclawتنفيذ نفسها مع تعيينNODE_EXTRA_CA_CERTSقبل بدء Node
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)؛ الأسماء القديمة لا يكون لها أي أثر.