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

البدء السريع

openclaw gateway diagnostics export
يطبع الأمر مسار ملف ZIP المكتوب. لاختيار مسار:
openclaw gateway diagnostics export --output openclaw-diagnostics.zip
للأتمتة:
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 لا ينشر تفاصيل التشخيصات مرة أخرى في الدردشة المشتركة. يرسل التمهيد، ومطالبات الموافقة، ونتيجة تصدير Gateway، وتفصيل جلسة/سلسلة Codex إلى المالك عبر مسار الموافقة الخاص. لا تحصل المجموعة إلا على إشعار قصير بأن تدفق التشخيصات أُرسل بشكل خاص. إذا لم يتمكن OpenClaw من العثور على مسار مالك خاص، يفشل الأمر بإغلاق آمن ويطلب من المالك تشغيله من رسالة مباشرة. عندما تستخدم جلسة OpenClaw النشطة حزمة OpenAI Codex الأصلية، تغطي موافقة التنفيذ نفسها أيضًا رفع ملاحظات OpenAI لسلاسل وقت تشغيل Codex التي يعرفها OpenClaw. هذا الرفع منفصل عن ملف ZIP المحلي لـ Gateway ولا يظهر إلا لجلسات حزمة Codex. قبل الموافقة، يوضح المطلب أن الموافقة على التشخيصات سترسل أيضًا ملاحظات Codex، لكنه لا يسرد معرّفات جلسات Codex أو السلاسل. بعد الموافقة، يسرد رد الدردشة القنوات، ومعرّفات جلسات OpenClaw، ومعرّفات سلاسل Codex، وأوامر الاستئناف المحلية للسلاسل التي أُرسلت إلى خوادم OpenAI. إذا رفضت الموافقة أو تجاهلتها، فلن يشغّل OpenClaw التصدير، ولن يرسل ملاحظات Codex، ولن يطبع معرّفات Codex. يجعل ذلك حلقة تصحيح أخطاء Codex الشائعة قصيرة: لاحظ السلوك السيئ في Telegram أو Discord أو قناة أخرى، وشغّل /diagnostics، ووافق مرة واحدة، وشارك التقرير مع الدعم، ثم شغّل الأمر المطبوع codex resume <thread-id> محليًا إذا كنت تريد فحص سلسلة Codex الأصلية بنفسك. راجع حزمة Codex للاطلاع على سير عمل الفحص هذا.

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

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

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

صُممت التشخيصات لتكون قابلة للمشاركة. يحتفظ التصدير ببيانات تشغيلية تساعد في تصحيح الأخطاء، مثل:
  • أسماء الأنظمة الفرعية، ومعرّفات plugins، ومعرّفات المزوّدين، ومعرّفات القنوات، والأوضاع المهيأة
  • رموز الحالة، والمدد، وعدد البايتات، وحالة الطابور، وقراءات الذاكرة
  • بيانات تعريف السجلات المنقّحة والرسائل التشغيلية المنقّحة
  • شكل الإعدادات وإعدادات الميزات غير السرية
يحذف التصدير أو ينقّح:
  • نص الدردشة، والمطالبات، والتعليمات، وأجسام Webhook، ومخرجات الأدوات
  • بيانات الاعتماد، ومفاتيح API، والرموز، وملفات تعريف الارتباط، والقيم السرية
  • أجسام الطلبات أو الاستجابات الخام
  • معرّفات الحسابات، ومعرّفات الرسائل، ومعرّفات الجلسات الخام، وأسماء المضيفين، وأسماء المستخدمين المحليين
عندما تبدو رسالة سجل كنص مستخدم أو دردشة أو مطالبة أو حمولة أداة، فإن التصدير يحتفظ فقط بأن رسالة حُذفت وعدد البايتات.

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

تسجل Gateway تدفق استقرار محدودًا وخاليًا من الحمولة افتراضيًا عندما تكون التشخيصات مفعلة. وهو مخصص للحقائق التشغيلية، وليس للمحتوى. يسجل Heartbeat التشخيصي نفسه عينات الحيوية عندما تستمر Gateway في العمل لكن تبدو حلقة أحداث Node.js أو CPU مشبعة. تتضمن أحداث diagnostic.liveness.warning هذه تأخير حلقة الأحداث، واستخدام حلقة الأحداث، ونسبة أنوية CPU، وعدد الجلسات النشطة/المنتظرة/المصفوفة، ومرحلة بدء التشغيل/وقت التشغيل الحالية عندما تكون معروفة، وامتدادات المراحل الحديثة، وتسميات العمل النشط/المصفوف المحدودة. تبقى عينات الخمول في القياسات عن بُعد عند مستوى info. تصبح عينات الحيوية تحذيرات Gateway فقط عندما يكون العمل منتظرًا أو مصفوفًا، أو عندما يتداخل العمل النشط مع تأخير مستمر في حلقة الأحداث. تبقى طفرات الحد الأقصى للتأخير العابرة أثناء عمل الخلفية السليم بخلاف ذلك في سجلات التصحيح. لا تعيد تشغيل Gateway من تلقاء نفسها. تُصدر مراحل بدء التشغيل أيضًا أحداث diagnostic.phase.completed مع توقيت ساعة الحائط و CPU. تعلّم تشخيصات التشغيل المضمّن المتوقفة terminalProgressStale=true عندما يبدو آخر تقدم للجسر نهائيًا، مثل عنصر استجابة خام أو حدث اكتمال استجابة، لكن Gateway لا تزال تعتبر التشغيل المضمّن نشطًا. افحص المسجل الحي:
openclaw gateway stability
openclaw gateway stability --type payload.large
openclaw gateway stability --json
افحص أحدث حزمة استقرار محفوظة بعد خروج فادح، أو مهلة إيقاف تشغيل، أو فشل بدء تشغيل بعد إعادة التشغيل:
openclaw gateway stability --bundle latest
أنشئ ملف ZIP تشخيصات من أحدث حزمة محفوظة:
openclaw gateway stability --bundle latest --export
توجد الحزم المحفوظة تحت ~/.openclaw/logs/stability/ عند وجود أحداث.

خيارات مفيدة

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

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

التشخيصات مفعلة افتراضيًا. لتعطيل مسجل الاستقرار وجمع أحداث التشخيصات:
{
  diagnostics: {
    enabled: false,
  },
}
يقلل تعطيل التشخيصات تفاصيل تقارير الأخطاء. لا يؤثر ذلك في تسجيل Gateway العادي. لقطات ضغط الذاكرة الحرج معطلة افتراضيًا. للاحتفاظ بأحداث التشخيصات والتقاط لقطة الاستقرار قبل OOM أيضًا:
{
  diagnostics: {
    memoryPressureSnapshot: true,
  },
}
استخدم هذا فقط على المضيفين الذين يمكنهم تحمل فحص نظام الملفات الإضافي وكتابة اللقطة أثناء ضغط الذاكرة الحرج. لا تزال أحداث ضغط الذاكرة العادية تسجل RSS، والكومة، والعتبة، وحقائق النمو عندما تكون اللقطة معطلة.

ذات صلة