استكشاف أخطاء المتصفح وإصلاحها (Linux)
المشكلة: “Failed to start Chrome CDP on port 18800”
يفشل خادم التحكم بالمتصفح في OpenClaw في تشغيل Chrome/Brave/Edge/Chromium مع الخطأ:السبب الجذري
على Ubuntu (والعديد من توزيعات Linux)، يكون تثبيت Chromium الافتراضي عبارة عن حزمة snap. يتعارض تقييد AppArmor في snap مع الطريقة التي يقوم بها OpenClaw بإنشاء عملية المتصفح ومراقبتها. يقوم الأمرapt install chromium بتثبيت حزمة وسيطة تعيد التوجيه إلى snap:
الحل 1: تثبيت Google Chrome (موصى به)
قم بتثبيت حزمة Google Chrome الرسمية.deb، وهي غير معزولة بواسطة snap:
~/.openclaw/openclaw.json):
الحل 2: استخدام Snap Chromium مع وضع «الارتباط فقط»
إذا كان لا بد من استخدام Chromium بنظام snap، فقم بتهيئة OpenClaw ليرتبط بمتصفح تم تشغيله يدويًا:- تحديث الإعداد:
- شغّل Chromium يدويًا:
- اختياريًا، أنشئ خدمة مستخدم systemd لبدء Chrome تلقائيًا:
systemctl --user enable --now openclaw-browser.service
التحقق من عمل المتصفح
تحقق من الحالة:مرجع التهيئة
| الخيار | الوصف | الافتراضي |
|---|---|---|
browser.enabled | تمكين التحكم بالمتصفح | true |
browser.executablePath | مسار ملف متصفح قائم على Chromium (Chrome/Brave/Edge/Chromium) | يتم الاكتشاف تلقائيًا (يُفضِّل المتصفح الافتراضي إن كان قائمًا على Chromium) |
browser.headless | التشغيل دون واجهة رسومية | false |
browser.noSandbox | إضافة علامة --no-sandbox (مطلوبة لبعض إعدادات Linux) | false |
browser.attachOnly | عدم تشغيل المتصفح، والاكتفاء بالارتباط بمتصفح موجود | false |
browser.cdpPort | منفذ بروتوكول أدوات المطوّر في Chrome | 18800 |
المشكلة: “Chrome extension relay is running, but no tab is connected”
أنت تستخدم ملف التعريفchrome (وسيط الامتداد). وهو يتوقع أن يكون امتداد متصفح OpenClaw مرتبطًا بعلامة تبويب نشطة.
خيارات الإصلاح:
- استخدام المتصفح المُدار:
openclaw browser start --browser-profile openclaw(أو تعيينbrowser.defaultProfile: "openclaw"). - استخدام وسيط الامتداد: ثبّت الامتداد، وافتح علامة تبويب، ثم انقر على أيقونة امتداد OpenClaw لربطه.
- يستخدم ملف التعريف
chromeمتصفح Chromium الافتراضي للنظام متى أمكن. - تقوم ملفات التعريف المحلية
openclawبتعيينcdpPort/cdpUrlتلقائيًا؛ لا تقم بتعيينهما إلا لـ CDP البعيد.