في إعداد المضيف المنقسم الشائع، يعمل OpenClaw Gateway داخل WSL2، ويعمل Chrome على Windows، ويجب أن يعبر التحكم في المتصفح الحد الفاصل بين WSL2 وWindows. يعني نمط الفشل الطبقي من المشكلة #39369 أن عدة مشكلات مستقلة يمكن أن تظهر في الوقت نفسه، مما يجعل الطبقة الخطأ تبدو معطلة أولا.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
اختر وضع المتصفح الصحيح أولا
لديك نمطان صالحان:الخيار 1: CDP بعيد خام من WSL2 إلى Windows
استخدم ملف متصفح بعيد يشير من WSL2 إلى نقطة نهاية Chrome CDP على Windows. اختر هذا عندما:- يبقى Gateway داخل WSL2
- يعمل Chrome على Windows
- تحتاج إلى أن يعبر التحكم في المتصفح حد WSL2/Windows
الخيار 2: Chrome MCP محلي على المضيف
استخدمexisting-session / user فقط عندما يعمل Gateway نفسه على المضيف نفسه الذي يعمل عليه Chrome.
اختر هذا عندما:
- يكون OpenClaw وChrome على الجهاز نفسه
- تريد حالة المتصفح المحلي المسجل الدخول
- لا تحتاج إلى نقل متصفح عبر المضيفين
- لا تحتاج إلى مسارات متقدمة مدارة أو مخصصة لـ raw-CDP فقط مثل
responsebody، أو تصدير PDF، أو اعتراض التنزيلات، أو إجراءات الدُفعات
البنية العاملة
الشكل المرجعي:- يشغل WSL2 الـ Gateway على
127.0.0.1:18789 - يفتح Windows واجهة التحكم في متصفح عادي على
http://127.0.0.1:18789/ - يعرّض Windows Chrome نقطة نهاية CDP على المنفذ
9222 - يستطيع WSL2 الوصول إلى نقطة نهاية Windows CDP تلك
- يوجّه OpenClaw ملف متصفح إلى العنوان الذي يمكن الوصول إليه من WSL2
لماذا هذا الإعداد مربك
يمكن أن تتداخل عدة حالات فشل:- لا يستطيع WSL2 الوصول إلى نقطة نهاية Windows CDP
- تُفتح واجهة التحكم من أصل غير آمن
- لا يطابق
gateway.controlUi.allowedOriginsأصل الصفحة - الرمز أو الاقتران مفقود
- يشير ملف المتصفح إلى العنوان الخطأ
قاعدة حاسمة لواجهة التحكم
عندما تُفتح الواجهة من Windows، استخدم localhost الخاص بـ Windows ما لم يكن لديك إعداد HTTPS مقصود. استخدم:http://127.0.0.1:18789/
لا تجعل عنوان LAN IP هو الافتراضي لواجهة التحكم. يمكن أن يؤدي HTTP العادي على عنوان LAN أو tailnet إلى سلوك أصل غير آمن/مصادقة جهاز لا علاقة له بـ CDP نفسه. راجع واجهة التحكم.
تحقق على طبقات
اعمل من الأعلى إلى الأسفل. لا تتخطَّ الخطوات.الطبقة 1: تحقق من أن Chrome يقدّم CDP على Windows
ابدأ Chrome على Windows مع تفعيل تصحيح الأخطاء عن بُعد:الطبقة 2: تحقق من أن WSL2 يستطيع الوصول إلى نقطة نهاية Windows تلك
من WSL2، اختبر العنوان الدقيق الذي تخطط لاستخدامه فيcdpUrl:
- يعيد
/json/versionملف JSON يحتوي على بيانات Browser / Protocol-Version الوصفية - يعيد
/json/listملف JSON (لا بأس بالمصفوفة الفارغة إذا لم تكن هناك صفحات مفتوحة)
- لا يعرّض Windows المنفذ لـ WSL2 بعد
- العنوان خطأ من جهة WSL2
- لا يزال جدار الحماية / توجيه المنفذ / الوكيل المحلي مفقودا
الطبقة 3: اضبط ملف المتصفح الصحيح
بالنسبة إلى raw remote CDP، وجّه OpenClaw إلى العنوان الذي يمكن الوصول إليه من WSL2:- استخدم العنوان الذي يمكن لـ WSL2 الوصول إليه، وليس ما يعمل فقط على Windows
- أبقِ
attachOnly: trueللمتصفحات المدارة خارجيا - يمكن أن يكون
cdpUrlأحدhttp://أوhttps://أوws://أوwss:// - استخدم HTTP(S) عندما تريد من OpenClaw اكتشاف
/json/version - استخدم WS(S) فقط عندما يزودك مزود المتصفح بعنوان URL مباشر لمقبس DevTools
- اختبر عنوان URL نفسه باستخدام
curlقبل توقع نجاح OpenClaw
الطبقة 4: تحقق من طبقة واجهة التحكم بشكل منفصل
افتح الواجهة من Windows:http://127.0.0.1:18789/
ثم تحقق من:
- أن أصل الصفحة يطابق ما يتوقعه
gateway.controlUi.allowedOrigins - أن مصادقة الرمز أو الاقتران مضبوطة بشكل صحيح
- أنك لا تصحح مشكلة مصادقة واجهة التحكم كما لو كانت مشكلة متصفح
الطبقة 5: تحقق من التحكم في المتصفح من البداية إلى النهاية
من WSL2:- تُفتح علامة التبويب في Windows Chrome
- يعيد
openclaw browser tabsالهدف - تعمل الإجراءات اللاحقة (
snapshot،screenshot،navigate) من الملف نفسه
أخطاء شائعة مضللة
تعامل مع كل رسالة كدليل خاص بطبقة:control-ui-insecure-auth- مشكلة أصل الواجهة / السياق الآمن، وليست مشكلة نقل CDP
token_missing- مشكلة في إعداد المصادقة
pairing required- مشكلة موافقة الجهاز
Remote CDP for profile "remote" is not reachable- لا يستطيع WSL2 الوصول إلى
cdpUrlالمضبوط
- لا يستطيع WSL2 الوصول إلى
Browser attachOnly is enabled and CDP websocket for profile "remote" is not reachable- استجابت نقطة نهاية HTTP، لكن تعذر فتح DevTools WebSocket
- تجاوزات منفذ عرض / وضع داكن / لغة / اتصال غير متزامنة بعد جلسة بعيدة
- شغّل
openclaw browser stop --browser-profile remote - يغلق هذا جلسة التحكم النشطة ويحرر حالة محاكاة Playwright/CDP دون إعادة تشغيل Gateway أو المتصفح الخارجي
- شغّل
gateway timeout after 1500ms- غالبا ما يزال السبب قابلية الوصول إلى CDP أو نقطة نهاية بعيدة بطيئة/غير قابلة للوصول
No Chrome tabs found for profile="user"- تم اختيار ملف Chrome MCP محلي بينما لا توجد علامات تبويب محلية على المضيف متاحة
قائمة فرز سريعة
- Windows: هل يعمل
curl http://127.0.0.1:9222/json/version؟ - WSL2: هل يعمل
curl http://WINDOWS_HOST_OR_IP:9222/json/version؟ - إعداد OpenClaw: هل يستخدم
browser.profiles.<name>.cdpUrlذلك العنوان الدقيق القابل للوصول من WSL2؟ - واجهة التحكم: هل تفتح
http://127.0.0.1:18789/بدلا من عنوان LAN IP؟ - هل تحاول استخدام
existing-sessionعبر WSL2 وWindows بدلا من raw remote CDP؟
الخلاصة العملية
عادة ما يكون الإعداد قابلا للعمل. الجزء الصعب هو أن نقل المتصفح، وأمان أصل واجهة التحكم، والرمز/الاقتران يمكن أن يفشل كل منها بشكل مستقل مع أنها تبدو متشابهة من جهة المستخدم. عند الشك:- تحقق من نقطة نهاية Windows Chrome محليا أولا
- تحقق من نقطة النهاية نفسها من WSL2 ثانيا
- بعد ذلك فقط صحح إعداد OpenClaw أو مصادقة واجهة التحكم