원문 캡처 · github.com
원문 캡처 · github.com

pw-repl은 사용자가 쓰던 Chromium 브라우저를 AI 에이전트와 공유하며 명령줄에서 조작하는 Playwright 기반 REPL이다. 에이전트가 보내는 명령과 사용자가 입력하는 명령이 같은 세션에 표시돼 서로의 작업을 확인할 수 있다.

GitHub 저장소에 따르면 Node.js 20 이상이 필요하다. 기존 Chromium 기반 브라우저에 CDP(Chrome DevTools Protocol)로 연결하거나, Playwright의 Chromium을 설치해 사용할 수 있다. 아래 명령은 별도의 헤드리스 Chromium을 실행한다.

text
npx pw-repl@latest run --launch https://example.com

--launch를 쓰면 REPL 전용 브라우저가 시작되고, REPL을 종료할 때 브라우저도 종료된다. --headed를 추가하면 브라우저를 화면에 띄워 직접 조작할 수 있다. 시연 영상의 REPL 창은 실제 도구 화면이 아니라 작업을 보여주기 위해 만든 가상 화면이며, 도구는 터미널에서 실행된다.

페이지 내용을 스냅샷이나 스크린샷으로 확인하고 클릭·입력할 수 있으며, 네트워크 요청과 콘솔 오류를 기록하거나 응답을 지연·변경하는 기능도 있다. watch는 사용자의 조작과 그에 따른 요청을 기록하고, 저장한 명령을 다시 실행할 수 있다. 여러 에이전트가 공유 세션에 접속해도 각자 선택한 탭을 따로 둘 수 있다.

기존 브라우저에 연결하려면 Chrome을 원격 디버깅 포트와 별도 프로필로 실행한다. 최근 Chrome 버전에서는 기본 프로필로 디버깅 포트가 열리지 않을 수 있다고 안내한다.

text
chrome --remote-debugging-port=9222 --user-data-dir="$HOME/.config/chrome-debug"
pw-repl run # connects to localhost:9222

pw-repl은 브라우저 세션을 에이전트마다 분리하는 playwright-cli와 달리 사용자와 에이전트가 한 브라우저를 공유하는 용도다. 에이전트별 격리 세션, 추적 정보, PDF 또는 테스트 코드 생성이 필요하다면 저장소는 playwright-cli가 더 적합하다고 설명한다. 비밀번호는 명령이나 로그에 직접 넣지 않고 변수로 전달할 수 있지만, 페이지 값을 읽는 eval은 비밀번호를 노출할 수 있다고 경고한다.