네이티브 모드 (실험적)
agent-browser는 실험적인 네이티브 Rust 데몬을 포함하며, 이 데몬은 Chrome DevTools Protocol (CDP)를 통해 직접 Chrome과 통신하여 완전히 Node.js 및 Playwright 종속성을 제거합니다.
네이티브 모드 사용하기
네이티브 모드는 선택 사항입니다. --native 플래그 또는 AGENT_BROWSER_NATIVE 환경 변수로 활성화할 수 있습니다.
CLI 플래그
agent-browser --native open example.com
agent-browser --native snapshot
agent-browser --native close환경 변수
매번 명령어에 플래그를 전달하지 않기 위해 AGENT_BROWSER_NATIVE=1을 설정하세요:
export AGENT_BROWSER_NATIVE=1
agent-browser open example.com
agent-browser snapshot
agent-browser close구성 파일
agent-browser.json에 "native": true를 추가하세요:
{"native": true}아키텍처 비교
| 기본 (Node.js) | 네이티브 (--native) | |
|---|---|---|
| 실행 환경 | Node.js + Playwright | 순수한 Rust 바이너리 |
| 프로토콜 | Playwright 프로토콜 | 직접적인 CDP / WebDriver |
| 설치 크기 | 크다 (Node.js + npm 종속성) | 작다 (단일 바이너리) |
| 브라우저 지원 | Chromium, Firefox, WebKit | Chromium, Safari (WebDriver를 통해) |
| 안정성 | 안정적 | 실험적 |
작동하는 기능
네이티브 모드에서는 모든 핵심 명령어가 지원됩니다:
- 탐색:
open,back,forward,reload - 상호작용:
click,fill,type,press,hover,select,check,uncheck,scroll,focus,clear,upload,drag - 관찰:
snapshot,screenshot,eval,get text/html/value/attr/count/box/styles,is visible/enabled/checked - 상태:
cookies get/set/clear,storage local/session,state save/load/list - 탭:
tab new/list/close, 탭 전환 - 시뮬레이션:
set viewport,set device,set geo, 사용자 에이전트, 시간대, 지역 설정 - 스트리밍: WebSocket 스크린캐스트 및 원격 입력
- 차이점 검사:
diff snapshot,diff url - 기록:
record start/stop - 프로파일링:
profiler start/stop,trace start/stop
알려진 제한 사항
- Firefox와 WebKit는 아직 지원되지 않습니다 (현재는 Chromium과 Safari만 지원)
- Playwright 추적 형식은 사용 불가 (네이티브 추적은 Chrome 내장 추적 기능 사용)
- HAR 내보내기는 사용 불가
- 네트워크 라우트 가로채기는 Playwright의 라우트 API 대신 CDP Fetch 도메인을 사용
모드 전환
네이티브 데몬과 Node.js 데몬은 동일한 세션 소켓을 공유합니다. 동일한 세션에서 둘 다 동시에 실행할 수 없습니다. 전환하기 전에 현재 데몬을 종료하세요:
agent-browser close
export AGENT_BROWSER_NATIVE=1
agent-browser open example.com