프로젝트 소개
agent-browser는 네이티브 Rust 바이너리로 구축된 브라우저 자동화 CLI로, AI 에이전트를 위해 특별히 설계되었습니다. npm, Homebrew 또는 Cargo를 통해 설치되며, 첫 사용 시 Chrome for Testing에서 Chrome을 다운로드합니다. 기존 Chrome, Brave, Playwright 및 Puppeteer 설치가 자동으로 감지됩니다. 데몬에는 Playwright나 Node.js가 필요하지 않습니다.
핵심 워크플로우는 @e1, @e2와 같은 안정적인 요소 참조를 할당하는 접근성 트리 스냅샷을 중심으로 하며, 에이전트는 이를 사용하여 클릭, 입력, 텍스트 읽기를 수행합니다. 전통적인 CSS 선택자와 의미론적 로케이터(ARIA 역할, 텍스트, 레이블, 플레이스홀더, alt, title 또는 data-testid 기준)도 지원됩니다. 다른 요소가 대상을 가리면 클릭이 조기에 실패하며, 가리는 요소를 보고하여 에이전트가 이를 해제하고 재시도할 수 있게 합니다.
주요 기능으로는 페이지 열기 및 탐색, 스크린샷 촬영(주석, 변경 감지, 임계값 옵션 포함), PDF 저장, JavaScript 평가, CDP 연결, WebSocket 스트리밍이 있습니다. read 명령은 Chrome을 실행하지 않고 URL에서 에이전트가 읽을 수 있는 텍스트를 가져오며, llms.txt 발견, 마크다운 추출 및 개요 생성을 지원합니다.
배치 실행은 단일 호출에서 여러 명령을 실행하여 명령별 프로세스 시작 오버헤드를 피합니다. 네트워크 기능에는 요청 인터셉션, 모킹, HAR 기록 및 요청 필터링이 포함됩니다. 탭 관리는 안정적인 탭 ID(t1, t2), 사용자 할당 레이블 및 CDP 대상 ID를 지원합니다. 프레임 전환, 대화 상자 처리, 클립보드 접근, 인간과 유사한 움직임의 마우스 제어, 브라우저 설정(뷰포트, 장치 에뮬레이션, 지리적 위치, 오프라인 모드, 헤더, 자격 증명, 색상 구성표), 쿠키 및 localStorage/sessionStorage 관리가 모두 제공됩니다.
diff 명령은 스냅샷, 스크린샷 또는 URL을 비교하여 시각적 및 구조적 변경을 감지합니다. 디버그 도구에는 추적 기록, Chrome DevTools 프로파일링, 구성 가능한 fps 및 커서 오버레이가 있는 비디오 녹화가 포함됩니다.
WebMCP(실험적)는 페이지 제공 도구를 자동 발견, 스키마 가져오기 및 호출을 통해 지원하며, 신뢰할 수 없는 페이지 콘텐츠에 대한 보안 경계를 제공합니다. AI 채팅 명령은 단일 실행 또는 대화형 REPL 모드에서 자연어 브라우저 제어를 제공합니다.
이 프로젝트는 Vercel Labs에서 개발되었으며 GitHub에서 사용할 수 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.