시작 모듈: Chrome + Relay + Playwright
아키텍처
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')
Step A: Chrome 실행 (Windows)
# 먼저 기존 Chrome 프로세스 종료
taskkill /F /IM chrome.exe
# 디버그 포트로 Chrome 실행
cmd.exe /c start "" "C:\Program Files\Google\Chrome\Application\chrome.exe" \
--remote-debugging-port=9222 \
--user-data-dir="C:\Users\[사용자 Windows 사용자명]\Desktop\chrome-debug"
⚠️ 기본 프로필은 9222를 바인딩할 수 없으므로 반드시 별도의 --user-data-dir(예: chrome-debug)을 사용해야 합니다.
Step B: Relay2 실행 (Windows)
Relay2.exe는 Windows 시작 프로그램에 자동 등록되어 실행됩니다:
C:\Users\[사용자 Windows 사용자명]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\hermes-gateway.vbs
수동 실행: Relay2.exe를 더블클릭합니다.
Step C: WSL Relay 실행
cd ~/.hermes/scripts && python3 chrome_relay.py &
Step D: 연결 확인
# WSL relay 확인
curl -s http://127.0.0.1:19223/json | head -5
# Chrome 탭 목록의 JSON이 반환되어야 합니다
Step E: Playwright 연결
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
# 열려 있는 탭 확인
로그인 확인
店小秘 로그인
店小秘로 이동 → 로그인 상태 확인(페이지에 [사용자 店小秘 사용자명] 사용자명이 있는지 확인):
document.body.innerText.includes('[사용자 店小秘 사용자명]')
로그인되지 않은 경우 QR 코드로 로그인: 店小秘 오른쪽 상단 → QR 코드 스캔 로그인.
1688 로그인
1688 로그인 상태 확인: 1688 임의 상품 페이지 열기 → "로그인" 버튼이 있는지 확인.
document.body.innerText.includes('登录')
로그인되지 않은 경우 수동 로그인 (1688 인증번호는 자동화 불가).
장애 복구
Gateway 연결 끊김 후 재연결 철칙
치명적 오류: browser_navigate를 직접 호출하면 새 탭이 생성되어 입력된 데이터가 손실됩니다.
올바른 절차:
1. browser_cdp → Target.getTargets # 모든 탭 나열
2. 店小秘 편집 탭 찾기 (title="店小秘--编辑速卖通产品")
3. Runtime.evaluate로 페이지 상태 읽기 (제목/hash/bodyText)
4. 어떤 탭에 입력 데이터가 있는지 확인
5. Target.closeTarget으로 빈/중복 탭 닫기
6. Target.activateTarget으로 올바른 탭 활성화
7. 이제 browser_snapshot에 입력 데이터가 표시되어야 함
전체 연결 실패
# WSL 측
pkill -f chrome_relay.py
cd ~/.hermes/scripts && python3 chrome_relay.py &
# Windows 측 (수동 또는 WSL에서 트리거)
taskkill /F /IM chrome.exe
# Chrome 재시작 (Step A)
작성자: 南方星火 SouthernSpark | Xiaohongshu @南方星火 SouthernSpark | AI 자동화 전문가 워크플로우