AIHawk

실제 브라우저를 사람처럼 조작하는 웹 자동화 에이전트

uvx aihawk ui --openrouter-key <YOUR_KEY>

패치한 파이어폭스를 실제로 띄워 놓고 사람이 하듯 클릭하고 입력하며 페이지를 읽는 브라우저 에이전트입니다. 자바스크립트로 폼 값을 바로 채우는 편법을 쓰지 않고 포인터를 움직이고 키를 누르는데, 페이지가 그 차이를 구분할 수 있기 때문입니다. 쓰는 방법이 두 가지입니다. MCP 서버로 등록해 이미 쓰는 어시스턴트에 브라우저만 얹거나, 자체 웹 UI 를 띄워 왼쪽 대화와 오른쪽 실시간 브라우저를 함께 보는 방식입니다. 어느 쪽이든 같은 브라우저를 같은 MCP 경로로 씁니다. 달력 위젯을 날짜별로 눌러 보게 하는 식의 판단이 필요한 작업이 대상입니다.

판단

이럴 때 씁니다

  • API 가 없는 사이트를 실제 브라우저로 다뤄야 할 때
  • 페이지를 보고 판단해야 하는 반복 조회 작업이 있을 때
  • 이미 쓰는 어시스턴트에 브라우저 능력만 얹고 싶을 때

이럴 땐 쓰지 마세요

  • 맥에서는 돌지 않습니다. 엔진 빌드가 파이어폭스 20 에서 멈췄습니다
  • 대상 사이트의 약관과 로봇 정책을 먼저 확인해야 합니다
  • 구조화된 API 가 있는 대상이면 브라우저를 띄울 이유가 없습니다

차별점

  • 폼 값을 자바스크립트로 채우지 않고 포인터와 키 입력으로 조작합니다.
  • MCP 경로와 자체 UI 가 같은 브라우저를 같은 방식으로 씁니다.
  • 프록시를 지정하면 시간대와 로케일, 나가는 트래픽이 함께 따라갑니다.

워크플로

  1. 01uv 를 설치합니다.
  2. 02브라우저 엔진을 미리 받아 둡니다. 첫 요청 때 받으면 오래 걸리고 느린 연결에서는 이유를 알기 어려운 오류로 끝납니다.
  3. 03어시스턴트에 MCP 서버로 등록하거나 자체 웹 UI 를 띄웁니다.
  4. 04하고 싶은 일을 자연어로 말합니다.
  5. 05필요하면 프록시나 모델, 엔진 바이너리를 옵션으로 바꿉니다.

주요 명령

명령설명
uvx invisible-playwright fetch약 250메가바이트짜리 브라우저 엔진을 미리 받습니다.
claude mcp add --scope user stealth -- uvx invisible-playwright-mcp클로드 코드에 브라우저를 붙입니다.
uvx aihawk ui --openrouter-key <YOUR_KEY>자체 웹 UI 를 포트 8765 에 띄웁니다.

함정

설치 전에 확인하세요

  • 맥OS 를 지원하지 않습니다. 윈도우 x86_64 나 리눅스 x86_64·arm64 에서만 돕니다.
  • 브라우저 엔진이 약 250메가바이트짜리 별도 다운로드입니다. 설치 때가 아니라 첫 페이지 요청 때 받으므로 첫 지시가 한참 멈춰 있고 느린 연결에서는 다운로드와 무관해 보이는 오류로 끊깁니다.
  • 자체 UI 는 OpenRouter 키가 필요하고 기본 모델이 정해져 있습니다. 다른 모델을 쓰려면 옵션이나 환경 변수로 지정해야 합니다.

비교

브라우저 자동화 라이브러리는 스크립트를 짜야 하고, 브라우저 MCP 는 대개 헤드리스 크로미움을 그대로 씁니다. 이쪽은 패치한 파이어폭스를 사람처럼 조작하는 데 초점을 둡니다. 그만큼 느리고 지원 플랫폼이 좁은 대신 페이지가 자동화를 구분하려 드는 환경에서 차이가 납니다.

최근 변경

v0.6.0 은 런타임을 바꾸지 않고 문서와 테스트가 실제와 어긋나 있던 부분을 고쳤습니다. 범위 지정 플래그를 축약형이 아니라 전체 형태로 통일했는데, 잘 알려진 MCP 서버 열두 개의 공식 문서를 조사해 보니 전부 전체 형태로 쓰고 있었기 때문입니다.