Skip to main content

المشكلة: تعذّر بدء Chrome CDP على المنفذ 18800

السبب الجذري

على Ubuntu ومعظم توزيعات Linux، يثبّت الأمر apt install chromium غلاف snap بدلاً من متصفح فعلي:
يتداخل عزل AppArmor الخاص بـ snap مع الطريقة التي يستخدمها OpenClaw لتشغيل عملية المتصفح ومراقبتها. أعطال التشغيل الشائعة الأخرى على Linux:
  • The profile appears to be in use by another Chromium process: ملفات قفل Singleton* قديمة في دليل ملف التعريف المُدار. يزيل OpenClaw هذه الأقفال ويعيد المحاولة مرة واحدة عندما يشير القفل إلى عملية متوقفة أو عملية على مضيف مختلف.
  • Missing X server or $DISPLAY: طُلب متصفح مرئي صراحةً على مضيف لا يحتوي على جلسة سطح مكتب. تعود ملفات التعريف المحلية المُدارة إلى الوضع عديم الواجهة على Linux عندما لا يكون كل من DISPLAY وWAYLAND_DISPLAY معيّنًا. إذا عيّنت OPENCLAW_BROWSER_HEADLESS=0 أو browser.headless: false أو browser.profiles.<name>.headless: false، فأزل تجاوز وضع الواجهة هذا، أو عيّن OPENCLAW_BROWSER_HEADLESS=1، أو شغّل Xvfb، أو نفّذ openclaw browser start --headless لعملية تشغيل مُدارة لمرة واحدة، أو شغّل OpenClaw ضمن جلسة سطح مكتب فعلية.

الحل 1: تثبيت Google Chrome (موصى به)

حدّث ~/.openclaw/openclaw.json:

الحل 2: استخدام Chromium من snap في وضع الإرفاق فقط

إذا كان عليك الاحتفاظ بـ Chromium من snap، فاضبط OpenClaw ليتصل بمتصفح مشغّل يدويًا بدلاً من تشغيله:
شغّل Chromium يدويًا:
يمكنك اختياريًا تشغيله تلقائيًا باستخدام خدمة مستخدم systemd:

التحقق من عمل المتصفح

مرجع الإعدادات

يجب أن تكون قيمتا المهلة عددين صحيحين موجبين لا يتجاوزان 120000 مللي ثانية؛ وتُرفض القيم الأخرى عند تحميل الإعدادات. على Raspberry Pi أو مضيفات VPS الأقدم أو وحدات التخزين البطيئة، ارفع browser.localLaunchTimeoutMs عندما يحتاج Chrome إلى مزيد من الوقت لإتاحة نقطة نهاية HTTP الخاصة بـ CDP. ارفع browser.localCdpReadyTimeoutMs عندما ينجح التشغيل، لكن يظل openclaw browser start يعرض not reachable after start.

المشكلة: لم يُعثر على علامات تبويب Chrome لملف التعريف profile="user"

أنت تستخدم ملف التعريف user ‏(existing-session / Chrome MCP)، ولا توجد علامات تبويب مفتوحة يمكن الاتصال بها. خيارات الإصلاح:
  1. استخدم المتصفح المُدار بدلاً من ذلك: openclaw browser --browser-profile openclaw start (أو عيّن browser.defaultProfile: "openclaw").
  2. أبقِ Chrome المحلي قيد التشغيل مع علامة تبويب مفتوحة واحدة على الأقل، ثم أعد المحاولة باستخدام --browser-profile user.
ملاحظات:
  • ملف التعريف user مخصص للمضيف فقط. على خوادم Linux أو الحاويات أو المضيفات البعيدة، يُفضّل استخدام ملفات تعريف CDP بدلاً منه.
  • يشترك user وملفات تعريف existing-session الأخرى في القيود الحالية لـ Chrome MCP: الإجراءات المعتمدة على المراجع فقط، وملف واحد لكل عملية رفع، وعدم السماح بتجاوزات timeoutMs لمربعات الحوار، وعدم دعم wait --load networkidle، وكذلك عدم دعم responsebody أو تصدير PDF أو اعتراض التنزيلات أو الإجراءات المجمّعة.
  • تُسند ملفات تعريف برنامج التشغيل المحلي openclaw قيمتي cdpPort وcdpUrl تلقائيًا؛ لا تضبطهما يدويًا إلا لـ CDP البعيد.
  • تقبل ملفات تعريف CDP البعيدة البروتوكولات http:// وhttps:// وws:// وwss://. استخدم HTTP(S) لاكتشاف /json/version، أو WS(S) عندما توفر خدمة المتصفح عنوان URL مباشرًا لمقبس DevTools.

ذو صلة