Спочатку виберіть правильний режим браузера
Варіант 1: прямий віддалений CDP із WSL2 до Windows
Використовуйте профіль віддаленого браузера, спрямований із WSL2 на кінцеву точку CDP Chrome у Windows. Вибирайте цей варіант, коли Gateway залишається всередині WSL2, Chrome працює у Windows, а керування браузером має перетинати межу WSL2/Windows.Варіант 2: локальний для хоста Chrome MCP
Використовуйте драйверexisting-session (профіль user) лише тоді, коли Gateway працює на тому самому хості, що й Chrome, вам потрібен локальний стан браузера з виконаним входом, вам не потрібен міжхостовий транспорт браузера та не потрібні responsebody, експорт PDF, перехоплення завантажень або пакетні дії (профілі Chrome MCP їх не підтримують).
Для WSL2 Gateway + Windows Chrome використовуйте прямий віддалений CDP. Chrome MCP є локальним для хоста, а не мостом між WSL2 і Windows.
Робоча архітектура
- WSL2 запускає Gateway на
127.0.0.1:18789 - Windows відкриває Control UI у звичайному браузері за адресою
http://127.0.0.1:18789/ - Chrome у Windows надає кінцеву точку CDP на порту
9222 - WSL2 може звертатися до цієї кінцевої точки CDP у Windows
- OpenClaw спрямовує профіль браузера на адресу, доступну з WSL2
Критичне правило для Control UI
Коли інтерфейс відкривається з Windows, використовуйте localhost Windows, якщо у вас немає свідомо налаштованого HTTPS:Перевіряйте за рівнями
Рухайтеся згори вниз; не перестрибуйте наперед. Виправлення одного рівня все одно може залишити видимою іншу помилку з нижчого рівня.Рівень 1: переконайтеся, що Chrome надає CDP у Windows
Діагностуйте IPv4 та IPv6, перш ніж змінювати portproxy
Chromium спочатку намагається прив’язати віддалене налагодження до127.0.0.1 і переходить на [::1], лише якщо прив’язка IPv4 не вдається. Постійне правило v4tov4, що прослуховує 127.0.0.1:9222, може зайняти цю кінцеву точку до запуску Chrome. Тоді Chrome переходить на [::1]:9222, а старе правило переспрямовує трафік IPv4 назад на власний прослуховувач і повертає порожню відповідь.
Перевірте фактичні прослуховувачі та правила проксі у Windows замість того, щоб робити висновки на основі версії Chrome:
tasklist /fi "PID eq <PID>" для кожного PID із netstat.
-
Якщо
chrome.exeвідповідає на127.0.0.1, видаліть усі правила portproxy, які також прослуховують127.0.0.1:9222. Переспрямовуйте лише адресу адаптера Windows, доступну з WSL2, на127.0.0.1. -
Якщо
chrome.exeвідповідає лише на[::1], спрямуйте доступний із WSL2 прослуховувач на::1за допомогоюv4tov6замість переспрямування на невикористовувану адресу IPv4:
0.0.0.0, адресі локальної мережі чи адресі tailnet: CDP надає контроль над сеансом браузера.
Рівень 2: переконайтеся, що WSL2 може звертатися до цієї кінцевої точки Windows
Із WSL2 перевірте точну адресу, яку плануєте використовувати вcdpUrl:
/json/versionповертає JSON із метаданими Browser / Protocol-Version/json/listповертає JSON (порожній масив допустимий, якщо немає відкритих сторінок)
Рівень 3: налаштуйте правильний профіль браузера
Спрямуйте OpenClaw на адресу, доступну з WSL2:- використовуйте адресу, доступну з WSL2, а не ту, що працює лише у Windows
- залишайте
attachOnly: trueдля браузерів із зовнішнім керуванням cdpUrlможе мати схемуhttp://,https://,ws://абоwss://- використовуйте HTTP(S), якщо потрібно, щоб OpenClaw виявляв
/json/version - використовуйте WS(S) лише тоді, коли постачальник браузера надає пряму URL-адресу сокета DevTools
- перевірте ту саму URL-адресу за допомогою
curl, перш ніж очікувати успішної роботи OpenClaw
Рівень 4: окремо перевірте рівень Control UI
Відкрийтеhttp://127.0.0.1:18789/ із Windows, а потім перевірте:
- джерело сторінки відповідає очікуванню
gateway.controlUi.allowedOrigins - автентифікацію за токеном або сполучення налаштовано правильно
- ви не діагностуєте проблему автентифікації Control UI як проблему браузера
Рівень 5: перевірте наскрізне керування браузером
Із WSL2:- вкладка відкривається в Chrome у Windows
browser tabsповертає ціль- подальші дії (
snapshot,screenshot,navigate) працюють із того самого профілю
Поширені оманливі помилки
Контрольний список швидкої діагностики
- Windows: яка з адрес —
127.0.0.1чи[::1]— відповідає на/json/version, і чи належить цей прослуховувач процесуchrome.exe? - WSL2: чи працює
curl http://WINDOWS_HOST_OR_IP:9222/json/version? - Конфігурація OpenClaw: чи використовує
browser.profiles.<name>.cdpUrlсаме цю адресу, доступну з WSL2? - Control UI: чи відкриваєте ви
http://127.0.0.1:18789/замість IP-адреси локальної мережі? - Чи не намагаєтеся ви використовувати
existing-sessionміж WSL2 і Windows замість прямого віддаленого CDP?