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

فحوصات السلامة (CLI)

دليل مختصر للتحقق من اتصال القنوات من دون تخمين.

فحوصات سريعة

  • openclaw status — ملخص محلي: إمكانية الوصول إلى البوابة/وضعها، وتلميح التحديث، وعمر مصادقة القناة المرتبطة، والجلسات + النشاط الأخير.
  • openclaw status --all — تشخيص محلي كامل (للقراءة فقط، ملوّن، وآمن للنسخ من أجل التصحيح).
  • openclaw status --deep — يطلب من البوابة قيد التشغيل فحص سلامة مباشرًا (health مع probe:true)، بما في ذلك فحوصات القنوات لكل حساب عند دعمها.
  • openclaw health — يطلب من البوابة قيد التشغيل لقطة السلامة الخاصة بها (WS فقط؛ ولا توجد مقابس قنوات مباشرة من CLI).
  • openclaw health --verbose — يفرض فحص سلامة مباشرًا ويطبع تفاصيل اتصال البوابة.
  • openclaw health --json — إخراج لقطة سلامة بصيغة JSON قابلة للقراءة آليًا.
  • أرسل /status كرسالة مستقلة في WhatsApp/WebChat للحصول على رد حالة من دون استدعاء الوكيل.
  • السجلات: تتبّع /tmp/openclaw/openclaw-*.log وصفِّ حسب web-heartbeat وweb-reconnect وweb-auto-reply وweb-inbound.

تشخيصات متعمقة

  • بيانات الاعتماد على القرص: ls -l ~/.openclaw/credentials/whatsapp/<accountId>/creds.json (يجب أن يكون mtime حديثًا).
  • مخزن الجلسات: ls -l ~/.openclaw/agents/<agentId>/sessions/sessions.json (يمكن تجاوز المسار في الإعداد). ويتم إظهار عدد الجلسات والمستلمين الأخيرين عبر status.
  • تدفق إعادة الربط: openclaw channels logout && openclaw channels login --verbose عندما تظهر رموز الحالة 409–515 أو loggedOut في السجلات. (ملاحظة: يعيد تدفق تسجيل الدخول عبر QR التشغيل تلقائيًا مرة واحدة عند الحالة 515 بعد الاقتران.)

إعداد مراقب السلامة

  • gateway.channelHealthCheckMinutes: عدد المرات التي تتحقق فيها البوابة من سلامة القناة. الافتراضي: 5. اضبطه على 0 لتعطيل عمليات إعادة التشغيل الخاصة بمراقب السلامة عالميًا.
  • gateway.channelStaleEventThresholdMinutes: المدة التي يمكن أن تظل فيها القناة المتصلة خاملة قبل أن يعاملها مراقب السلامة على أنها قديمة ويعيد تشغيلها. الافتراضي: 30. اجعل هذه القيمة أكبر من أو مساوية لـ gateway.channelHealthCheckMinutes.
  • gateway.channelMaxRestartsPerHour: حد متجدد لمدة ساعة واحدة لعمليات إعادة التشغيل التي ينفذها مراقب السلامة لكل قناة/حساب. الافتراضي: 10.
  • channels.<provider>.healthMonitor.enabled: تعطيل عمليات إعادة التشغيل الخاصة بمراقب السلامة لقناة معينة مع إبقاء المراقبة العامة مفعلة.
  • channels.<provider>.accounts.<accountId>.healthMonitor.enabled: تجاوز للحسابات المتعددة تكون له الأولوية على الإعداد على مستوى القناة.
  • تنطبق هذه التجاوزات الخاصة بكل قناة على مراقبات القنوات المضمنة التي تكشفها حاليًا: Discord وGoogle Chat وiMessage وMicrosoft Teams وSignal وSlack وTelegram وWhatsApp.

عند فشل شيء ما

  • logged out أو الحالة 409–515 ← أعد الربط باستخدام openclaw channels logout ثم openclaw channels login.
  • تعذر الوصول إلى البوابة ← ابدأ تشغيلها: openclaw gateway --port 18789 (استخدم --force إذا كان المنفذ مشغولًا).
  • لا توجد رسائل واردة ← تأكد من أن الهاتف المرتبط متصل بالإنترنت وأن المرسل مسموح له (channels.whatsapp.allowFrom)؛ وبالنسبة إلى دردشات المجموعات، تأكد من تطابق قائمة السماح + قواعد الإشارة (channels.whatsapp.groups, agents.list[].groupChat.mentionPatterns).

أمر “health” المخصص

يطلب openclaw health من البوابة قيد التشغيل لقطة السلامة الخاصة بها (من دون مقابس قنوات مباشرة من CLI). وبشكل افتراضي يمكنه إرجاع لقطة بوابة حديثة مخزنة مؤقتًا؛ ثم تقوم البوابة بتحديث ذلك التخزين المؤقت في الخلفية. أما openclaw health --verbose فيفرض فحصًا مباشرًا بدلًا من ذلك. ويعرض الأمر عمر بيانات الاعتماد/المصادقة المرتبطة عند توفرها، وملخصات الفحص لكل قناة، وملخص مخزن الجلسات، ومدة الفحص. ويخرج بحالة غير صفرية إذا تعذر الوصول إلى البوابة أو إذا فشل الفحص/انتهت مهلته. الخيارات:
  • --json: إخراج JSON قابل للقراءة آليًا
  • --timeout <ms>: تجاوز مهلة الفحص الافتراضية البالغة 10 ثوانٍ
  • --verbose: فرض فحص مباشر وطباعة تفاصيل اتصال البوابة
  • --debug: اسم مستعار لـ --verbose
تتضمن لقطة السلامة: ok ‏(قيمة منطقية)، وts ‏(طابع زمني)، وdurationMs ‏(زمن الفحص)، وحالة كل قناة، وتوفر الوكيل، وملخص مخزن الجلسات.