Wählen Sie zuerst den richtigen Browsermodus
Option 1: direktes Remote-CDP von WSL2 zu Windows
Verwenden Sie ein Remote-Browserprofil, das von WSL2 auf einen Chrome-CDP- Endpunkt unter Windows verweist. Wählen Sie dies, wenn das Gateway innerhalb von WSL2 bleibt, Chrome unter Windows läuft und die Browsersteuerung die WSL2/Windows-Grenze überqueren muss.Option 2: hostlokales Chrome MCP
Verwenden Sie denexisting-session-Treiber (Profil user) nur, wenn das Gateway
auf demselben Host wie Chrome läuft, Sie den lokalen angemeldeten Browserstatus verwenden möchten,
keinen hostübergreifenden Browsertransport benötigen und weder responsebody,
PDF-Export, Download-Abfangung noch Batch-Aktionen benötigen (Chrome-MCP-Profile
unterstützen diese nicht).
Verwenden Sie für WSL2 Gateway + Windows Chrome direktes Remote-CDP. Chrome MCP ist
hostlokal und keine Brücke zwischen WSL2 und Windows.
Funktionsfähige Architektur
- WSL2 führt das Gateway auf
127.0.0.1:18789aus - Windows öffnet die Control UI in einem normalen Browser unter
http://127.0.0.1:18789/ - Chrome unter Windows stellt einen CDP-Endpunkt auf Port
9222bereit - WSL2 kann diesen Windows-CDP-Endpunkt erreichen
- OpenClaw richtet ein Browserprofil auf die von WSL2 erreichbare Adresse
Kritische Regel für die Control UI
Wenn die UI unter Windows geöffnet wird, verwenden Sie Windows-Localhost, sofern Sie nicht bewusst HTTPS eingerichtet haben:Validierung nach Ebenen
Arbeiten Sie von oben nach unten; überspringen Sie keine Schritte. Nach der Behebung einer Ebene kann weiterhin ein anderer Fehler aus einer tieferen Ebene sichtbar sein.Ebene 1: Prüfen, ob Chrome unter Windows CDP bereitstellt
IPv4 und IPv6 diagnostizieren, bevor portproxy geändert wird
Chromium versucht zuerst, Remote-Debugging an127.0.0.1 zu binden, und weicht nur dann auf
[::1] aus, wenn die IPv4-Bindung fehlschlägt. Eine dauerhafte v4tov4-Regel, die auf
127.0.0.1:9222 lauscht, kann diesen Endpunkt belegen, bevor Chrome startet. Chrome
weicht dann auf [::1]:9222 aus, während die alte Regel IPv4-Datenverkehr an
ihren eigenen Listener zurückleitet und eine leere Antwort zurückgibt.
Prüfen Sie die tatsächlichen Listener und Proxyregeln unter Windows, anstatt sie
aus der Chrome-Version abzuleiten:
tasklist /fi "PID eq <PID>" für jede PID aus netstat.
-
Wenn
chrome.exeunter127.0.0.1antwortet, entfernen Sie jede portproxy-Regel, die ebenfalls auf127.0.0.1:9222lauscht. Leiten Sie nur die von WSL2 erreichbare Windows-Adapteradresse an127.0.0.1weiter. -
Wenn
chrome.exenur unter[::1]antwortet, richten Sie den von WSL2 erreichbaren Listener mitv4tov6auf::1, anstatt an eine ungenutzte IPv4-Adresse weiterzuleiten:
0.0.0.0, einer LAN-Adresse oder einer Tailnet-Adresse bereit: CDP gewährt die Kontrolle über
die Browsersitzung.
Ebene 2: Prüfen, ob WSL2 diesen Windows-Endpunkt erreichen kann
Testen Sie in WSL2 genau die Adresse, die Sie incdpUrl verwenden möchten:
/json/versiongibt JSON mit Browser-/Protocol-Version-Metadaten zurück/json/listgibt JSON zurück (ein leeres Array ist in Ordnung, wenn keine Seiten geöffnet sind)
Ebene 3: Das richtige Browserprofil konfigurieren
Richten Sie OpenClaw auf die von WSL2 erreichbare Adresse:- Verwenden Sie die von WSL2 erreichbare Adresse, nicht eine, die nur unter Windows funktioniert
- Behalten Sie
attachOnly: truefür extern verwaltete Browser bei cdpUrlkannhttp://,https://,ws://oderwss://sein- Verwenden Sie HTTP(S), wenn OpenClaw
/json/versionermitteln soll - Verwenden Sie WS(S) nur, wenn der Browser-Provider Ihnen eine direkte DevTools- Socket-URL bereitstellt
- Testen Sie dieselbe URL mit
curl, bevor Sie erwarten, dass OpenClaw erfolgreich arbeitet
Ebene 4: Die Control-UI-Ebene separat prüfen
Öffnen Siehttp://127.0.0.1:18789/ unter Windows und prüfen Sie anschließend:
- Der Ursprung der Seite entspricht den Erwartungen von
gateway.controlUi.allowedOrigins - Token-Authentifizierung oder Kopplung ist korrekt konfiguriert
- Sie untersuchen kein Authentifizierungsproblem der Control UI fälschlicherweise als Browser- Problem
Ebene 5: Durchgängige Browsersteuerung prüfen
Unter WSL2:- Der Tab wird in Chrome unter Windows geöffnet
browser tabsgibt das Ziel zurück- Spätere Aktionen (
snapshot,screenshot,navigate) funktionieren mit demselben Profil
Häufige irreführende Fehler
Checkliste für eine schnelle Fehlerdiagnose
- Windows: Welche der Adressen
127.0.0.1oder[::1]antwortet auf/json/version, und gehört dieser Listener zuchrome.exe? - WSL2: Funktioniert
curl http://WINDOWS_HOST_OR_IP:9222/json/version? - OpenClaw-Konfiguration: Verwendet
browser.profiles.<name>.cdpUrlgenau diese von WSL2 erreichbare Adresse? - Control UI: Öffnen Sie
http://127.0.0.1:18789/statt einer LAN-IP? - Versuchen Sie,
existing-sessionüber WSL2 und Windows hinweg zu verwenden, anstatt direktes Remote-CDP einzusetzen?