Startmodul: Chrome + Relay + Playwright
Architektur
Windows Chrome (--remote-debugging-port=9222)
↕ Relay2.exe (0.0.0.0:9255 → 127.0.0.1:9222)
Windows IP (172.24.48.1:9255)
↕ WSL chrome_relay.py (127.0.0.1:19223 → 172.24.48.1:9255)
↕ Playwright connect_over_cdp('http://127.0.0.1:19223')
Schritt A: Chrome starten (Windows)
# Alte Chrome-Prozesse beenden
taskkill /F /IM chrome.exe
# Chrome mit Debug-Port starten
cmd.exe /c start "" "C:\Program Files\Google\Chrome\Application\chrome.exe" \
--remote-debugging-port=9222 \
--user-data-dir="C:\Users\[DEIN_WINDOWS_BENUTZERNAME]\Desktop\chrome-debug"
⚠️ Es muss ein separates --user-data-dir (z. B. chrome-debug) verwendet werden. Das Standardprofil kann Port 9222 nicht binden.
Schritt B: Relay2 starten (Windows)
Relay2.exe sollte automatisch beim Windows-Start ausgeführt werden:
C:\Users\[DEIN_WINDOWS_BENUTZERNAME]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\hermes-gateway.vbs
Manueller Start: Doppelklick auf Relay2.exe.
Schritt C: WSL-Relay starten
cd ~/.hermes/scripts && python3 chrome_relay.py &
Schritt D: Verbindungskette prüfen
# WSL-Relay überprüfen
curl -s http://127.0.0.1:19223/json | head -5
# Sollte JSON mit Chrome-Tab-Liste zurückgeben
Schritt E: Playwright-Verbindung
from playwright.async_api import async_playwright
async with async_playwright() as p:
browser = await p.chromium.connect_over_cdp('http://127.0.0.1:19223')
pages = browser.contexts[0].pages
# Bereits geöffnete Tabs überprüfen
Anmeldeüberprüfung
Anmeldung bei Dianxiaomi (店小秘)
Navigiere zu Dianxiaomi → Überprüfe, ob du bereits angemeldet bist (suche auf der Seite nach [DEIN_DIANXIAOMI_BENUTZERNAME]):
document.body.innerText.includes('[DEIN_DIANXIAOMI_BENUTZERNAME]')
Falls nicht angemeldet, QR-Code-Login verwenden: In Dianxiaomi oben rechts → QR-Code scannen.
Anmeldung bei 1688
Überprüfe den 1688-Anmeldestatus: Öffne eine beliebige 1688-Produktseite → Prüfe, ob ein "Login"-Button vorhanden ist.
document.body.innerText.includes('登录')
Falls nicht angemeldet, manuell anmelden (Der 1688-Captcha kann nicht automatisiert werden).
Fehlerbehebung
Wiederverbindung nach Gateway-Abbrüchen
Schwerwiegender Fehler: Ein direkter Aufruf von browser_navigate erstellt einen neuen Tab und verliert alle bereits eingegebenen Daten.
Korrekte Vorgehensweise:
1. browser_cdp → Target.getTargets # Alle Tabs auflisten
2. Bearbeitungsseite von Dianxiaomi finden (title="店小秘--编辑速卖通产品")
3. Runtime.evaluate zum Auslesen des Seitenstatus (Titel/Hash/bodyText)
4. Bestätigen, welcher Tab bereits eingegebene Daten enthält
5. Target.closeTarget – leere/doppelte Tabs schließen
6. Target.activateTarget – den richtigen Tab aktivieren
7. browser_snapshot sollte jetzt die eingegebenen Daten anzeigen
Komplettausfall
# WSL-Seite
pkill -f chrome_relay.py
cd ~/.hermes/scripts && python3 chrome_relay.py &
# Windows-Seite (manuell oder per WSL auslösen)
taskkill /F /IM chrome.exe
# Chrome neu starten (Schritt A)
Autor: Southern Spark (南方星火) | Xiaohongshu @Southern Spark (南方星火) | KI-Automatisierungsexperten-Workflow