استكشاف أخطاء Gateway وإصلاحها
هذه الصفحة هي دليل التشغيل المتعمّق. ابدأ من /help/troubleshooting إذا كنت تريد مسار الفرز السريع أولًا.سلّم الأوامر
شغّل هذه أولًا، وبهذا الترتيب:openclaw gateway statusيعرضRuntime: runningوRPC probe: ok.openclaw doctorيبلّغ عن عدم وجود مشكلات تهيئة/خدمة حاجبة.openclaw channels status --probeيعرض قنوات متصلة/جاهزة.
لا توجد ردود
إذا كانت القنوات تعمل ولكن لا يصل أي رد، فتحقّق من التوجيه والسياسات قبل إعادة توصيل أي شيء.- الإقران معلق للمرسلين DM.
- بوابة الإشارة في المجموعات (
requireMention،mentionPatterns). - عدم تطابق قوائم السماح للقناة/المجموعة.
drop guild message (mention required→ تجاهل رسالة المجموعة حتى تتم الإشارة.pairing request→ يحتاج المرسل إلى موافقة.blocked/allowlist→ تمّت تصفية المرسل/القناة بواسطة السياسة.
اتصال واجهة التحكم في لوحة المعلومات
عندما لا تتصل لوحة المعلومات/واجهة التحكم، تحقّق من عنوان URL، ووضع المصادقة، وافتراضات السياق الآمن.- عنوان URL الصحيح للفحص وعنوان URL الصحيح للوحة المعلومات.
- عدم تطابق وضع/رمز المصادقة بين العميل و Gateway.
- استخدام HTTP حيث تكون هوية الجهاز مطلوبة.
device identity required→ سياق غير آمن أو مصادقة جهاز مفقودة.unauthorized/ حلقة إعادة الاتصال → عدم تطابق الرمز/كلمة المرور.gateway connect failed:→ هدف مضيف/منفذ/عنوان URL خاطئ.
خدمة Gateway لا تعمل
استخدم هذا عندما تكون الخدمة مثبّتة لكن العملية لا تبقى قيد التشغيل.Runtime: stoppedمع تلميحات الخروج.- عدم تطابق تهيئة الخدمة (
Config (cli)مقابلConfig (service)). - تعارضات المنافذ/المستمعين.
Gateway start blocked: set gateway.mode=local→ لم يتم تمكين وضع Gateway المحلي. الإصلاح: عيّنgateway.mode="local"في ملف الإعدادات (أو شغّلopenclaw configure). إذا كنت تشغّل OpenClaw عبر Podman باستخدام المستخدم المخصصopenclaw، فسيكون ملف الإعدادات في~openclaw/.openclaw/openclaw.json.refusing to bind gateway ... without auth→ ربط غير loopback بدون رمز/كلمة مرور.another gateway instance is already listening/EADDRINUSE→ تعارض منفذ.
القناة متصلة لكن الرسائل لا تتدفّق
إذا كانت حالة القناة «متصلة» لكن تدفّق الرسائل متوقف، فركّز على السياسات والأذونات وقواعد التسليم الخاصة بالقناة.- سياسة الرسائل المباشرة (
pairing،allowlist،open،disabled). - قائمة السماح للمجموعات ومتطلبات الإشارة.
- أذونات/نطاقات واجهة برمجة التطبيقات الخاصة بالقناة المفقودة.
mention required→ تم تجاهل الرسالة بسبب سياسة الإشارة في المجموعة.pairing/ آثار موافقة معلّقة → المرسل غير معتمد.missing_scope،not_in_channel،Forbidden،401/403→ مشكلة مصادقة/أذونات القناة.
تسليم Cron وHeartbeat
إذا لم يعمل cron أو heartbeat أو لم يتم التسليم، فتحقّق أولًا من حالة المُجَدول ثم من هدف التسليم.- تمكين Cron ووجود وقت الاستيقاظ التالي.
- حالة سجل تشغيل المهام (
ok،skipped،error). - أسباب تخطّي Heartbeat (
quiet-hours،requests-in-flight،alerts-disabled).
cron: scheduler disabled; jobs will not run automatically→ Cron معطّل.cron: timer tick failed→ فشل نبضة المُجَدول؛ تحقّق من أخطاء الملفات/السجلات/وقت التشغيل.heartbeat skippedمعreason=quiet-hours→ خارج نافذة الساعات النشطة.heartbeat: unknown accountId→ معرّف حساب غير صالح لهدف تسليم Heartbeat.
فشل أداة عُقدة مقترنة
إذا كانت العُقدة مقترنة لكن الأدوات تفشل، فاعزل حالة المقدّمة، والأذونات، والموافقة.- عقد على الإنترنت مع القدرات المتوقعة.
- منح أذونات نظام التشغيل للكاميرا/الميكروفون/الموقع/الشاشة.
- موافقات التنفيذ وحالة قائمة السماح.
NODE_BACKGROUND_UNAVAILABLE→ يجب أن يكون تطبيق العُقدة في الواجهة الأمامية.*_PERMISSION_REQUIRED/LOCATION_PERMISSION_REQUIRED→ إذن نظام تشغيل مفقود.SYSTEM_RUN_DENIED: approval required→ موافقة التنفيذ معلّقة.SYSTEM_RUN_DENIED: allowlist miss→ تم حظر الأمر بواسطة قائمة السماح.
فشل أداة المتصفح
استخدم هذا عندما تفشل إجراءات أداة المتصفح رغم أن Gateway نفسه سليم.- مسار صالح لتنفيذ المتصفح.
- إمكانية الوصول إلى ملف تعريف CDP.
- إرفاق علامة تبويب ترحيل الامتداد لـ
profile="chrome".
Failed to start Chrome CDP on port→ فشل تشغيل عملية المتصفح.browser.executablePath not found→ المسار المُهيّأ غير صالح.Chrome extension relay is running, but no tab is connected→ لم يتم إرفاق ترحيل الامتداد.Browser attachOnly is enabled ... not reachable→ ملف تعريف «attach-only» لا يحتوي على هدف قابل للوصول.
إذا قمت بالترقية وتعطّل شيء فجأة
معظم الأعطال بعد الترقية ناتجة عن انجراف التهيئة أو فرض افتراضات افتراضية أكثر صرامة الآن.1. تغيّر سلوك تجاوز المصادقة وعنوان URL
- إذا كان
gateway.mode=remote، فقد تستهدف استدعاءات CLI خدمة بعيدة بينما خدمتك المحلية سليمة. - الاستدعاءات الصريحة
--urlلا تعود إلى بيانات الاعتماد المخزّنة.
gateway connect failed:→ هدف URL خاطئ.unauthorized→ نقطة النهاية قابلة للوصول لكن المصادقة خاطئة.
2. أصبحت ضوابط الربط والمصادقة أكثر صرامة
- الروابط غير loopback (
lan،tailnet،custom) تتطلب تهيئة المصادقة. - المفاتيح القديمة مثل
gateway.tokenلا تستبدلgateway.auth.token.
refusing to bind gateway ... without auth→ عدم تطابق الربط+المصادقة.RPC probe: failedبينما وقت التشغيل يعمل → Gateway حيّ لكنه غير قابل للوصول بالمصادقة/عنوان URL الحاليين.
3. تغيّرت حالة الاقتران وهوية الجهاز
- موافقات الأجهزة المعلّقة للوحة المعلومات/العُقد.
- موافقات اقتران الرسائل المباشرة المعلّقة بعد تغييرات السياسة أو الهوية.
device identity required→ لم يتم استيفاء مصادقة الجهاز.pairing required→ يجب اعتماد المرسل/الجهاز.