Gateway

تصدير بيانات التشخيص

يمكن لـ OpenClaw إنشاء ملف تشخيصات محلي بصيغة .zip لإرفاقه بتقارير الأخطاء، ويتضمن حالة Gateway بعد تنقيحها، ومعلومات الصحة، والسجلات، وبنية الإعدادات، وأحداث الاستقرار الحديثة الخالية من الحمولات.

تعامل مع حزم التشخيصات كما تتعامل مع الأسرار إلى أن تتم مراجعتها. تُنقَّح الحمولات وبيانات الاعتماد بحكم التصميم، لكن الحزمة تظل تلخّص سجلات Gateway المحلية وحالة وقت التشغيل على مستوى المضيف.

البدء السريع

bash
openclaw gateway diagnostics export

يطبع مسار ملف zip الذي تمت كتابته. لاختيار مسار إخراج:

bash
openclaw gateway diagnostics export --output openclaw-diagnostics.zip

للأتمتة:

bash
openclaw gateway diagnostics export --json

أمر المحادثة

يمكن للمالكين تشغيل /diagnostics [note] في أي محادثة لطلب تصدير محلي من Gateway في صورة تقرير دعم واحد قابل للنسخ واللصق:

  1. أرسل /diagnostics، ويمكنك اختياريًا إرفاق ملاحظة قصيرة (/diagnostics bad tool choice).
  2. يرسل OpenClaw تمهيدًا ويطلب موافقة صريحة واحدة على التنفيذ، والتي تشغّل openclaw gateway diagnostics export --json. لا توافق على التشخيصات عبر قاعدة تسمح بكل شيء.
  3. بعد الموافقة، يرد OpenClaw بمسار الحزمة المحلية وملخص البيان وملاحظات الخصوصية ومعرّفات الجلسات ذات الصلة.

في المحادثات الجماعية، يظل بإمكان المالك تشغيل /diagnostics، لكن OpenClaw يرسل نتيجة التصدير ومطالبات الموافقة وتفاصيل جلسات/سلاسل Codex إلى المالك على نحو خاص. لا ترى المجموعة سوى إشعار قصير يفيد بأن التشخيصات أُرسلت بشكل خاص. إذا لم يتوفر مسار خاص إلى المالك، يفشل الأمر بشكل مغلق ويطلب من المالك تشغيله من رسالة مباشرة.

عندما تستخدم الجلسة النشطة بيئة OpenAI Codex الأصلية، تغطي موافقة التنفيذ نفسها أيضًا رفع ملاحظات إلى OpenAI بشأن سلاسل Codex التي يعرفها OpenClaw. يكون هذا الرفع منفصلًا عن ملف zip المحلي الخاص بـ Gateway، ولا يحدث إلا لجلسات بيئة Codex. توضّح مطالبة الموافقة أن الموافقة ترسل أيضًا ملاحظات Codex، من دون إدراج معرّفات جلسات Codex أو سلاسلها. بعد الموافقة، يسرد الرد القنوات ومعرّفات جلسات OpenClaw ومعرّفات سلاسل Codex وأوامر الاستئناف المحلية للسلاسل التي أُرسلت إلى OpenAI. يؤدي رفض الموافقة أو تجاهلها إلى تخطي التصدير ورفع ملاحظات Codex وقائمة معرّفات Codex.

وهذا يجعل دورة تصحيح أخطاء Codex قصيرة: لاحظ السلوك السيئ في قناة، وشغّل /diagnostics، ووافق مرة واحدة، وشارك التقرير، ثم شغّل أمر codex resume <thread-id> المطبوع محليًا إذا أردت فحص السلسلة بنفسك. راجع بيئة Codex.

محتويات التصدير

  • summary.md: نظرة عامة قابلة للقراءة البشرية لأغراض الدعم.
  • diagnostics.json: ملخص قابل للقراءة آليًا للإعدادات والسجلات والحالة والصحة وبيانات الاستقرار.
  • manifest.json: بيانات التصدير الوصفية وقائمة الملفات.
  • بنية إعدادات منقّحة وتفاصيل إعدادات غير سرية.
  • ملخصات سجلات منقّحة وأسطر سجلات حديثة بعد حجب البيانات الحساسة.
  • لقطات لحالة Gateway وصحته وفق أفضل جهد ممكن.
  • stability/latest.json: أحدث حزمة استقرار محفوظة، عند توفرها.

يظل التصدير مفيدًا حتى عندما يكون Gateway في حالة غير سليمة: فإذا فشلت طلبات الحالة/الصحة، تظل السجلات المحلية وبنية الإعدادات وأحدث حزمة استقرار تُجمع عند توفرها.

نموذج الخصوصية

يُحتفظ بما يلي: أسماء الأنظمة الفرعية، ومعرّفات Plugin، ومعرّفات المزوّدين، ومعرّفات القنوات، والأوضاع المُعدّة، ورموز الحالة، والمدد، وأعداد البايتات، وحالة قوائم الانتظار، وقراءات الذاكرة، وبيانات السجلات الوصفية المنقّحة، والرسائل التشغيلية المحجوبة، وبنية الإعدادات، وإعدادات الميزات غير السرية.

يُحذف أو يُنقّح ما يلي: نصوص المحادثات، والمطالبات، والتعليمات، ومحتويات Webhook، ومخرجات الأدوات، وبيانات الاعتماد، ومفاتيح API، والرموز المميزة، وملفات تعريف الارتباط، والقيم السرية، والمحتويات الأولية للطلبات/الاستجابات، ومعرّفات الحسابات، ومعرّفات الرسائل، ومعرّفات الجلسات الأولية، وأسماء المضيفين، وأسماء المستخدمين المحليين.

عندما تبدو رسالة سجل كنص حمولة لمستخدم أو محادثة أو مطالبة أو أداة، لا يحتفظ التصدير إلا بإشارة إلى حذف الرسالة وعدد بايتاتها.

مسجّل الاستقرار

يسجّل Gateway افتراضيًا تدفق استقرار محدودًا وخاليًا من الحمولات عندما تكون التشخيصات مفعّلة. وهو يلتقط الحقائق التشغيلية لا المحتوى.

تأخذ إشارة Heartbeat نفسها أيضًا عينات من الحيوية عندما تبدو حلقة الأحداث أو وحدة المعالجة المركزية مشبعة، وتصدر أحداث diagnostic.liveness.warning التي تتضمن تأخر حلقة الأحداث، واستخدام حلقة الأحداث، ونسبة أنوية وحدة المعالجة المركزية، وأعداد الجلسات النشطة/المنتظرة/المصطفة، ومرحلة بدء التشغيل/وقت التشغيل الحالية (عندما تكون معروفة)، وفترات المراحل الحديثة، وتسميات العمل المحدودة. لا تتحول هذه إلى أسطر سجلات بمستوى warn في Gateway إلا عندما يكون هناك عمل منتظر أو مصطف، أو عندما يتزامن العمل النشط مع تأخر مستمر في حلقة الأحداث؛ وإلا فتُسجّل بالمستوى debug. تظل عينات الحيوية في حالة الخمول مسجّلة كأحداث تشخيصية، لكنها لا ترتقي إلى تحذير من تلقاء نفسها.

تصدر مراحل بدء التشغيل أحداث diagnostic.phase.completed مع توقيت الساعة الفعلي وتوقيت وحدة المعالجة المركزية. وتضع تشخيصات التشغيل المضمّن المتوقف القيمة terminalProgressStale=true عندما يبدو آخر تقدم للجسر نهائيًا (مثل عنصر استجابة أولي أو حدث اكتمال استجابة)، لكن Gateway لا يزال يعتبر التشغيل المضمّن نشطًا.

لفحص المسجّل المباشر:

bash
openclaw gateway stabilityopenclaw gateway stability --type payload.largeopenclaw gateway stability --json

لفحص أحدث حزمة محفوظة بعد خروج فادح أو انتهاء مهلة إيقاف التشغيل أو فشل بدء التشغيل بعد إعادة التشغيل:

bash
openclaw gateway stability --bundle latest

لإنشاء ملف zip للتشخيصات من أحدث حزمة محفوظة:

bash
openclaw gateway stability --bundle latest --export

توجد الحزم المحفوظة ضمن ~/.openclaw/logs/stability/ عند وجود أحداث.

خيارات مفيدة

bash
openclaw gateway diagnostics export \  --output openclaw-diagnostics.zip \  --log-lines 5000 \  --log-bytes 1000000
العلامة الافتراضي الوصف
--output <path> $OPENCLAW_STATE_DIR/logs/support/openclaw-diagnostics-<timestamp>-<pid>.zip الكتابة إلى مسار ملف zip محدد (أو دليل).
--log-lines <count> 5000 الحد الأقصى لأسطر السجل المنقّحة المراد تضمينها.
--log-bytes <bytes> 1000000 الحد الأقصى لبايتات السجل المراد فحصها.
--url <url> - عنوان URL لـ WebSocket الخاص بـ Gateway لأخذ لقطات الحالة/الصحة.
--token <token> - الرمز المميز لـ Gateway لأخذ لقطات الحالة/الصحة.
--password <password> - كلمة مرور Gateway لأخذ لقطات الحالة/الصحة.
--timeout <ms> 3000 مهلة لقطة الحالة/الصحة.
--no-stability-bundle متوقف تخطي البحث عن حزمة استقرار محفوظة.
--json متوقف طباعة بيانات التصدير الوصفية القابلة للقراءة آليًا.

تعطيل التشخيصات

تكون التشخيصات مفعّلة افتراضيًا. لتعطيل مسجّل الاستقرار وجمع أحداث التشخيص:

json5
{  diagnostics: {    enabled: false,  },}

يقلل تعطيل التشخيصات من تفاصيل تقارير الأخطاء، ولا يؤثر في تسجيل Gateway المعتاد.

تكون لقطات ضغط الذاكرة الحرج متوقفة افتراضيًا. لالتقاط لقطة الاستقرار السابقة لنفاد الذاكرة بالإضافة إلى أحداث التشخيصات المعتادة:

json5
{  diagnostics: {    memoryPressureSnapshot: true,  },}

لا تستخدم هذا إلا على المضيفين القادرين على تحمّل الفحص الإضافي لنظام الملفات وكتابة اللقطة أثناء ضغط الذاكرة الحرج. تظل أحداث ضغط الذاكرة العادية تسجّل حقائق RSS والكومة والعتبة والنمو (rss_threshold، heap_threshold، وrss_growth) عندما تكون اللقطة متوقفة.

ذو صلة

Was this useful?
On this page

On this page