네이티브 모드 (실험적)

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, WebKitChromium, 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