LLM을 실제 브라우저에 직접 연결해 완전한 자동화를 구현하는 에이전트
Browser Harness는 한 개의 websocket으로 Chrome CDP에 직접 연결해 LLM이 부족한 헬퍼 코드를 실행 중에 생성하고 매 실행마다 허니언이 스스로 개선되는 self-healing 브라우저 에이전트이다.
TL;DR
Browser Harness는 한 개의 websocket으로 Chrome CDP에 직접 연결해 LLM이 부족한 helper 코드를 실행 중에 생성하고 매 실행마다 허니언이 스스로 개선되는 self-healing 브라우저 에이전트이다. 로컬에서는 --remote-debugging-port로 Chrome을 실행하고 BU_CDP_URL로 연결하거나 Browser Use Cloud의 무료 브라우저를 사용해 동일 인터페이스로 운용할 수 있으며, 에이전트가 agent-workspace의 agent_helpers.py와 domain-skills를 편집해 작동을 완결한다고 README에 기록돼 있다. 빠른 평가를 원하면 ./browser-harness 런처로 로컬에서 테스트하고, 배포용으로는 Browser Use Cloud 통합을 고려하면 적합함이 확인됐다.
주요 기능
- 한 개의 websocket으로 Chrome CDP에 직접 연결하는 구조를 사용하며, 이 방식은 중간 서비스 없이 LLM이 페이지 네비게이션·스크립트 실행·파일 업로드 등 브라우저 상의 모든 작업을 실시간으로 수행할 수 있게 한다. 에이전트는 실행 도중에 필요한 helper 파일을 에디트·추가하며 작업을 완료함이 README에 적혀 있다.
- 허니언이 실행할 때마다 수정된 helper 코드를 에이전트 작업공간에 보존하고 다음 실행에서 재사용해 성능과 신뢰성을 높이는 self-healing 메커니즘을 지녔다는 점이 명시돼 있다. 이 메커니즘은 domain-skills 디렉토리의 스킬을 지속적으로 확장할 수 있는 워크플로우와 결합돼 있다.
- 로컬에서 Chrome을 --remote-debugging-port로 띄워 BU_CDP_URL로 연결하거나 Browser Use Cloud의 원격 브라우저를 사용해 동일한 인터페이스로 운영할 수 있으며, README에 무료 티어(동시 3개 브라우저·프록시·captcha 해결)가 기재돼 있어 빠른 프로토타이핑이 가능함이 확인됐다.
어떻게 동작하는가
브라우저 세션에 단 하나의 websocket으로 Chrome CDP에 직접 attach하는 방식으로 동작한다. 입력으로는 LLM의 스킬 호출과 필요 시 에이전트 작업공간의 helper 파일이 주어지고, 처리 과정은 CDP 명령 전송→브라우저 상태 확인→필요 helper 자동 생성·수정→명령 재시도 순서로 진행되며 출력은 페이지 조작 결과와 파일 업로드 성공 같은 작업 완료 결과이다. 로컬에서 --remote-debugging-port로 Chrome을 실행하거나 Browser Use Cloud 브라우저에 연결하는 두 가지 연결 경로가 README에 명시돼 있어 환경에 따라 동일한 런타임 인터페이스로 운용할 수 있음이 확인됐다.
해결 문제
LLM이 브라우저 작업을 수행할 때 인간 개발자가 매번 수작업으로 보충해야 하는 스크립트·헬퍼 코드 불일치 문제를 해소한다고 밝히고 있다. 에이전트는 실행 중 누락된 helper 파일을 직접 작성해 워크플로우를 완결하고, 그 결과 동일한 작업을 반복할 때 점진적으로 필요한 코드가 저장되어 재사용 가능해진다고 README에 적혀 있다. 이로 인해 수동 개입을 최소화하고 LLM이 더 넓은 범위의 브라우저 작업을 자동화할 수 있음이 확인됐다.
지금 주목받는 이유
README는 'One websocket to Chrome, nothing between'라는 설계 철학을 전면에 내세우며 LLM 기반 웹 에이전트의 완전한 자유를 강조하고 있다. 또한 Cloud 브라우저의 무료 티어와 에이전트가 스스로 헬퍼를 추가하는 self-healing 흐름이 결합돼 개발자가 적은 수동 개입으로 복잡한 브라우저 작업을 자동화할 수 있다는 점에서 관심을 끌고 있다. 스타·포크 수치(16336 스타, 1548 포크)가 높은 편으로 커뮤니티 채택 가능성이 높음이 확인됐다.
차별점
- 중간 서비스 없이 한 개의 websocket으로 Chrome CDP에 직접 연결한다는 점이 다른 브라우저 자동화 툴과 다른 핵심 차별점이며, 이 구조는 지연을 줄이고 브라우저 세션의 전체 제어권을 LLM에 부여하는 구현적 선택이다.
- 에이전트 작업공간에 있는 agent_helpers.py와 domain-skills를 실행 중에 에이전트가 수정·추가할 수 있도록 설계되어, 실행 도중 필요한 코드를 직접 생성해 작업을 완료하는 self-healing 허니언 워크플로우를 제공한다.
- Browser Use Cloud와 통합해 무료 티어에서 동시 3개 브라우저·프록시·captcha 해결 기능을 제공하며 README에 카드 없이 사용 가능하다고 명시돼 있어 테스트 환경 확보가 용이하다는 점이 또 다른 차별점이다.
사용 사례
- 웹 기반 폼 자동 제출·파일 업로드·스크린샷 수집 같이 브라우저 상호작용이 필요한 엔드투엔드 자동화 시나리오에서 에이전트가 필요한 helper 코드를 실행 중에 생성해 완결된 작업을 반환할 수 있음이 README에 명시돼 있다.
- 테스트 자동화나 RPA 업무에서 특정 사이트에 특화된 domain-skills를 agent-workspace에 두고 BH_DOMAIN_SKILLS=1로 활성화해 에이전트가 사이트별 스킬을 재사용·확장하는 방식으로 운영할 수 있음이 확인됐다.
- 원격 환경에서 CAPTCHA나 프록시를 요구하는 흐름을 Browser Use Cloud의 브라우저와 결합해 처리하는 용도로 적합하다고 README가 명시하고 있다.
시작하기
체크아웃한 로컬 트리에서 ./browser-harness 런처를 사용해 가상환경 없이 현재 작업 트리를 실행해 빠르게 동작을 확인할 수 있다고 README에 적혀 있다. 최초 설치 및 브라우저 부트스트랩은 install.md를 따라야 하며, 일상 사용은 SKILL.md와 `browser-harness` 명령을 통해 관리하도록 문서가 분리돼 있다. 원격 브라우저 연결은 chrome://inspect/#remote-debugging 페이지의 체크박스 활성화와 per-attach 팝업의 Allow 클릭이 필요하며, 로컬에서는 --remote-debugging-port로 Chrome을 실행하고 BU_CDP_URL을 설정해 연결하면 됨이 확인됐다.
요구사항
- Python 3.12 환경과 uv를 사용해 browser-harness를 설치하거나 업그레이드해야 한다고 README의 Setup prompt에서 명시돼 있다. 이 요구사항은 설치 경로와 스킬 등록 절차와 직접 연결돼 있어 로컬 환경이 해당 Python 버전을 충족해야 함이 확인됐다.
- Chrome 또는 Chromium의 원격 디버깅을 허용할 수 있어야 하며 로컬에서 이를 위해 --remote-debugging-port 옵션으로 브라우저를 실행할 수 있어야 한다고 README에 기재돼 있다. 또한 브라우저 측에서 chrome://inspect/#remote-debugging의 체크박스를 켜고 Allow 팝업을 수락할 수 있는 권한이 필요함이 명시돼 있다.
이미지 분석

16.3k
Stars
1.5k
Forks
+204
Trending
18
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.