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

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.

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

الأسبقية (الأعلى → الأدنى)

  1. بيئة العملية (ما تملكه عملية Gateway بالفعل من الصدفة/الخدمة الأصلية).
  2. .env في دليل العمل الحالي (إعداد dotenv الافتراضي؛ لا يتجاوز).
  3. ملف .env عام في ~/.openclaw/.env (أي $OPENCLAW_STATE_DIR/.env؛ لا يتجاوز).
  4. كتلة env في الإعداد ضمن ~/.openclaw/openclaw.json (تُطبّق فقط إذا كانت القيمة مفقودة).
  5. استيراد اختياري من صدفة تسجيل الدخول (env.shellEnv.enabled أو OPENCLAW_LOAD_SHELL_ENV=1)، يُطبّق فقط للمفاتيح المتوقعة المفقودة.
في تثبيتات Ubuntu الجديدة التي تستخدم دليل الحالة الافتراضي، يتعامل OpenClaw أيضًا مع ~/.config/openclaw/gateway.env كخيار توافق احتياطي بعد ملف .env العام. إذا كان الملفان موجودين وتعارضا، يحتفظ OpenClaw بـ ~/.openclaw/.env ويطبع تحذيرًا. إذا كان ملف الإعداد مفقودًا بالكامل، تُتخطى الخطوة 4؛ ويظل استيراد الصدفة يعمل إذا كان مفعّلًا.

كتلة env في الإعداد

طريقتان متكافئتان لتعيين متغيرات البيئة المضمنة (كلتاهما لا تتجاوزان القيم الموجودة):
{
  env: {
    OPENROUTER_API_KEY: "sk-or-...",
    vars: {
      GROQ_API_KEY: "gsk-...",
    },
  },
}

استيراد بيئة الصدفة

يشغّل env.shellEnv صدفة تسجيل الدخول ويستورد فقط المفاتيح المتوقعة المفقودة:
{
  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: يُعيّن عند إنشاء عمليات الواجهة الخلفية لوقت تشغيل 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}:
{
  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_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):
<key>EnvironmentVariables</key>
<dict>
  <key>OPENCLAW_HOME</key>
  <string>/Users/user</string>
</dict>
يمكن أيضًا تعيين 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:
export NODE_EXTRA_CA_CERTS=/etc/ssl/certs/ca-certificates.crt
openclaw gateway run
لا تعتمد على الكتابة إلى ~/.openclaw/.env فقط لهذا المتغير؛ يقرأ Node NODE_EXTRA_CA_CERTS عند بدء العملية.

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

يقرأ OpenClaw متغيرات البيئة OPENCLAW_* فقط. البادئات القديمة CLAWDBOT_* وMOLTBOT_* من الإصدارات السابقة تُتجاهل بصمت. إذا ظل أي منها معيّنًا في عملية Gateway عند بدء التشغيل، يصدر OpenClaw تحذير إهمال واحدًا من Node (OPENCLAW_LEGACY_ENV_VARS) يسرد البادئات المكتشفة والعدد الإجمالي. أعد تسمية كل قيمة باستبدال البادئة القديمة بـ OPENCLAW_ (مثل CLAWDBOT_GATEWAY_TOKENOPENCLAW_GATEWAY_TOKEN)؛ الأسماء القديمة لا يكون لها أي أثر.

ذات صلة