agent-browser

AI 에이전트를 위한 브라우저 자동화 CLI. 짧은 텍스트 출력으로 컨텍스트 사용을 최소화합니다. 빠른 루스트 기반 CLI와 노드.js 대체 옵션을 제공합니다.

npm install -g agent-browser      # 모든 플랫폼 (가장 빠르고 네이티브 루스타 클라이언트)
brew install agent-browser        # macOS

# 설치 없이도 시도해 보세요
npx agent-browser open example.com

기능

  • 에이전트 중심 - 짧은 텍스트 출력은 JSON보다 토큰 수가 적어, 인공지능의 컨텍스트 효율성에 최적화됨
  • 참조 기반 - 스크래핑 결과는 참조(레퍼런스)가 포함된 접근성 트리 형태로 반환되어 결정론적인 요소 선택 가능
  • 빠름 - 즉시 명령어 파싱이 가능한 네이티브 루스트 기반 클라이언트
  • 완전함 - 탐색, 폼, 스크린샷, 네트워크, 저장소 등 50개 이상의 명령어 지원
  • 세션 - 별도 인증 정보를 가진 고립된 브라우저 인스턴스 다중 지원
  • 크로스 플랫폼 - 맥OS, 리눅스, 윈도우에서 네이티브 바이너리로 동작

호환되는 도구

클로드 코드, 커서, 깃허브 커피лот, 오픈애이 코덱스, 구글 제미니, 오픈코드, 그리고 쉘 명령어를 실행할 수 있는 모든 에이전트와 호환됩니다.

예제

# 탐색 및 스냅샷 획득
agent-browser open example.com
agent-browser snapshot -i

# 출력:
# - 제목 "예제 도메인" [참조=e1]
# - 링크 "자세한 정보..." [참조=e2]

# 참조를 사용한 상호작용
agent-browser click @e2
agent-browser screenshot page.png
agent-browser close

왜 참조(Ref)인가요?

snapshot 명령어는 각 요소에 고유한 참조(@e1, @e2 등)를 부여하는 간결한 접근성 트리를 반환합니다. 이 방식의 장점은 다음과 같습니다:

  • 컨텍스트 효율적 - 전체 DOM에 비해 약 200~400토큰 사용, 약 3000~5000토큰보다 훨씬 적음
  • 결정론적 - 참조는 스냅샷에서 정확한 요소를 지칭함
  • 빠름 - 다시 DOM을 질의할 필요 없음
  • 인공지능 친화적 - 언어 모델이 텍스트 출력을 자연스럽게 해석함

아키텍처

최적의 성능을 위한 클라이언트-데몬 아키텍처:

  1. 루스타 클라이언트 - 명령어를 파싱하고, 데몬과 통신
  2. 노드.js 데몬 (기본값) - 플레이월라이트 브라우저 인스턴스를 관리
  3. 네이티브 데몬 (실험적, --native 옵션 사용) - 직접적인 CDP를 사용하는 순수 루스트 데몬, 노드.js 필요 없음

데몬은 자동으로 시작되며, 명령어 간에도 유지됩니다.

플랫폼

맥OS (ARM64, x64), 리눅스 (ARM64, x64), 윈도우 (x64)용 네이티브 루스트 바이너리 제공