Diagnostics

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

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

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

  1. بيئة العملية (ما تملكه عملية Gateway بالفعل من الصدفة/الخدمة الأصلية).
  2. .env في دليل العمل الحالي (إعداد dotenv الافتراضي؛ لا يتجاوز).
  3. ملف .env عام في ~/.OmeniaClaw/.env (أي $OmeniaClaw_STATE_DIR/.env؛ لا يتجاوز).
  4. كتلة env في الإعداد ضمن ~/.OmeniaClaw/OmeniaClaw.json (تُطبّق فقط إذا كانت القيمة مفقودة).
  5. استيراد اختياري من صدفة تسجيل الدخول (env.shellEnv.enabled أو OmeniaClaw_LOAD_SHELL_ENV=1)، يُطبّق فقط للمفاتيح المتوقعة المفقودة.

في تثبيتات Ubuntu الجديدة التي تستخدم دليل الحالة الافتراضي، يتعامل OmeniaClaw أيضًا مع ~/.config/OmeniaClaw/gateway.env كخيار توافق احتياطي بعد ملف .env العام. إذا كان الملفان موجودين وتعارضا، يحتفظ OmeniaClaw بـ ~/.OmeniaClaw/.env ويطبع تحذيرًا.

إذا كان ملف الإعداد مفقودًا بالكامل، تُتخطى الخطوة 4؛ ويظل استيراد الصدفة يعمل إذا كان مفعّلًا.

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

طريقتان متكافئتان لتعيين متغيرات البيئة المضمنة (كلتاهما لا تتجاوزان القيم الموجودة):

json5
{  env: {    OPENROUTER_API_KEY: "sk-or-...",    vars: {      GROQ_API_KEY: "gsk-...",    },  },}

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

يشغّل env.shellEnv صدفة تسجيل الدخول ويستورد فقط المفاتيح المتوقعة المفقودة:

json5
{  env: {    shellEnv: {      enabled: true,      timeoutMs: 15000,    },  },}

مكافئات متغيرات البيئة:

  • OmeniaClaw_LOAD_SHELL_ENV=1
  • OmeniaClaw_SHELL_ENV_TIMEOUT_MS=15000

متغيرات بيئة محقونة وقت التشغيل

يحقن OmeniaClaw أيضًا علامات سياق في العمليات الفرعية المنشأة:

  • OmeniaClaw_SHELL=exec: يُعيّن للأوامر المشغلة عبر أداة exec.
  • OmeniaClaw_SHELL=acp: يُعيّن عند إنشاء عمليات الواجهة الخلفية لوقت تشغيل ACP (مثل acpx).
  • OmeniaClaw_SHELL=acp-client: يُعيّن لـ OmeniaClaw acp client عندما ينشئ عملية جسر ACP.
  • OmeniaClaw_SHELL=tui-local: يُعيّن لأوامر الصدفة ! في TUI المحلي.

هذه علامات وقت تشغيل (وليست إعدادًا مطلوبًا من المستخدم). يمكن استخدامها في منطق الصدفة/الملف الشخصي لتطبيق قواعد خاصة بالسياق.

متغيرات بيئة الواجهة

  • OmeniaClaw_THEME=light: فرض لوحة TUI الفاتحة عندما تكون خلفية الطرفية فاتحة.
  • OmeniaClaw_THEME=dark: فرض لوحة TUI الداكنة.
  • COLORFGBG: إذا صدّرتها الطرفية لديك، يستخدم OmeniaClaw تلميح لون الخلفية لاختيار لوحة TUI تلقائيًا.

استبدال متغيرات البيئة في الإعداد

يمكنك الإشارة إلى متغيرات البيئة مباشرة في قيم السلاسل النصية للإعداد باستخدام صيغة ${VAR_NAME}:

json5
{  models: {    providers: {      "vercel-gateway": {        apiKey: "${VERCEL_GATEWAY_API_KEY}",      },    },  },}

راجع الإعداد: استبدال متغيرات البيئة للحصول على التفاصيل الكاملة.

مراجع الأسرار مقابل سلاسل ${ENV}

يدعم OmeniaClaw نمطين مدفوعين بمتغيرات البيئة:

  • استبدال سلسلة ${VAR} في قيم الإعداد.
  • كائنات SecretRef ({ source: "env", provider: "default", id: "VAR" }) للحقول التي تدعم مراجع الأسرار.

كلاهما يُحلّ من بيئة العملية عند وقت التفعيل. تفاصيل SecretRef موثقة في إدارة الأسرار.

متغيرات البيئة المتعلقة بالمسارات

المتغير الغرض
OmeniaClaw_HOME تجاوز دليل المنزل المستخدم لكل عمليات حل المسارات الداخلية (~/.OmeniaClaw/، أدلة الوكلاء، الجلسات، بيانات الاعتماد). مفيد عند تشغيل OmeniaClaw كمستخدم خدمة مخصص.
OmeniaClaw_STATE_DIR تجاوز دليل الحالة (الافتراضي ~/.OmeniaClaw).
OmeniaClaw_CONFIG_PATH تجاوز مسار ملف الإعداد (الافتراضي ~/.OmeniaClaw/OmeniaClaw.json).
OmeniaClaw_INCLUDE_ROOTS قائمة مسارات للأدلة التي يمكن لتوجيهات $include حل الملفات منها خارج دليل الإعداد (الافتراضي: لا شيء — يُحصر $include في دليل الإعداد). تُوسّع علامة التلدة.

التسجيل

المتغير الغرض
OmeniaClaw_LOG_LEVEL تجاوز مستوى السجل لكل من الملف ووحدة التحكم (مثل debug، trace). له الأسبقية على logging.level وlogging.consoleLevel في الإعداد. تُتجاهل القيم غير الصالحة مع تحذير.
OmeniaClaw_DEBUG_MODEL_TRANSPORT إصدار تشخيصات موجهة لتوقيت طلبات/استجابات النموذج على مستوى info بدون تفعيل سجلات التصحيح العامة.
OmeniaClaw_DEBUG_MODEL_PAYLOAD تشخيصات حمولة النموذج: summary أو tools أو full-redacted. full-redacted محدود ومنقح لكنه قد يتضمن نص المطالبة/الرسالة.
OmeniaClaw_DEBUG_SSE تشخيصات البث: events لتوقيت البداية/الانتهاء، وpeek لتضمين أول خمسة أحداث SSE منقحة.
OmeniaClaw_DEBUG_CODE_MODE تشخيصات سطح النموذج في وضع الكود، بما في ذلك إخفاء أدوات المزوّد وفرض exec/wait-only.

OmeniaClaw_HOME

عند تعيينه، يستبدل OmeniaClaw_HOME دليل منزل النظام ($HOME / os.homedir()) لكل عمليات حل المسارات الداخلية. يتيح ذلك عزلًا كاملًا لنظام الملفات لحسابات الخدمة دون واجهة.

الأسبقية: OmeniaClaw_HOME > $HOME > USERPROFILE > os.homedir()

مثال (macOS LaunchDaemon):

xml
<key>EnvironmentVariables</key><dict>  <key>OmeniaClaw_HOME</key>  <string>/Users/user</string></dict>

يمكن أيضًا تعيين OmeniaClaw_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، يكتشف OmeniaClaw وجود nvm تلقائيًا ويطبّق الإصلاح في بيئة بدء التشغيل الفعلية:

  • يكتب OmeniaClaw gateway install قيمة NODE_EXTRA_CA_CERTS في بيئة خدمة systemd
  • تعيد نقطة دخول CLI الخاصة بـ OmeniaClaw تنفيذ نفسها مع تعيين NODE_EXTRA_CA_CERTS قبل بدء Node

إصلاح يدوي (للإصدارات الأقدم أو عمليات تشغيل node ... المباشرة):

صدّر المتغير قبل بدء OmeniaClaw:

bash
export NODE_EXTRA_CA_CERTS=/etc/ssl/certs/ca-certificates.crtOmeniaClaw gateway run

لا تعتمد على الكتابة إلى ~/.OmeniaClaw/.env فقط لهذا المتغير؛ يقرأ Node NODE_EXTRA_CA_CERTS عند بدء العملية.

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

يقرأ OmeniaClaw متغيرات البيئة OmeniaClaw_* فقط. البادئات القديمة CLAWDBOT_* وMOLTBOT_* من الإصدارات السابقة تُتجاهل بصمت.

إذا ظل أي منها معيّنًا في عملية Gateway عند بدء التشغيل، يصدر OmeniaClaw تحذير إهمال واحدًا من Node (OmeniaClaw_LEGACY_ENV_VARS) يسرد البادئات المكتشفة والعدد الإجمالي. أعد تسمية كل قيمة باستبدال البادئة القديمة بـ OmeniaClaw_ (مثل CLAWDBOT_GATEWAY_TOKENOmeniaClaw_GATEWAY_TOKEN)؛ الأسماء القديمة لا يكون لها أي أثر.

ذات صلة

Was this useful?
On this page

On this page