dev-browser

짧은 스크립트로 크롬을 조종하는 에이전트 스킬

npm install -g dev-browser

코딩 에이전트가 짧은 자바스크립트로 크롬을 조종합니다. 호출 사이에 브라우저가 그대로 열려 있어서 한 번 이동한 뒤 살펴보고 조작하고 결과를 확인하는 흐름이 처음부터 다시 시작되지 않습니다. 이름 붙인 탭이 상태를 이어 갑니다. 화면 정보는 접근성 트리로 압축해 돌려주므로 읽기 좋고 요소 참조가 안정적입니다. 스크립트는 실제 퍼피티어 API 에 에이전트용 보조 함수를 조금 더한 것입니다. 격리된 프로필로 새로 띄우거나 이미 열려 있는 브라우저에 붙습니다. 배포 실행 파일에 런타임이 들어 있어 설치 후에는 노드가 필요 없습니다.

판단

이럴 때 씁니다

  • 에이전트가 웹 화면을 보고 확인해야 할 때
  • 여러 단계를 이어 가며 상태를 유지해야 할 때
  • 이미 열려 있는 브라우저에 붙여야 할 때

이럴 땐 쓰지 마세요

  • 윈도우와 musl 리눅스는 아직 지원하지 않습니다
  • 크롬이 없으면 못 씁니다
  • 대량 크롤링용은 아닙니다

차별점

  • 호출 사이에 브라우저가 열린 채 상태를 유지합니다.
  • 접근성 트리로 압축한 화면 정보를 돌려줍니다.
  • 실제 퍼피티어 API 를 그대로 쓰므로 배울 것이 적습니다.
  • 새로 띄우기와 붙기를 모두 지원합니다.

워크플로

  1. 01전역으로 깝니다.
  2. 02필요하면 크롬 위치를 지정합니다.
  3. 03이름 붙인 탭을 열고 이동합니다.
  4. 04접근성 정보를 읽고 참조로 조작합니다.
  5. 05결과를 확인하고 다음 스크립트로 이어 갑니다.

주요 명령

명령설명
npm install -g dev-browser설치합니다.
dev-browser install크롬을 못 찾을 때만 필요합니다.
dev-browser chrome전용 프로필로 크롬을 띄웁니다.
dev-browser --connect이미 떠 있는 브라우저에 붙습니다.

함정

설치 전에 확인하세요

  • 크롬 136 이상은 기본 프로필에서 원격 디버깅 인자를 무시합니다. 전용 프로필로 띄우는 명령이 그 문제를 처리합니다.
  • 스냅으로 깐 크로미움은 기본 디렉터리를 못 읽습니다. 우분투에서는 설치 명령을 쓰거나 다른 크롬 경로를 지정해야 합니다.
  • 패키지 관리자가 생명주기 스크립트를 막으면 별도 승인 명령이 필요합니다.
  • 윈도우와 musl 기반 리눅스는 아직 지원되지 않습니다.

비교

브라우저 자동화 도구는 대개 호출마다 처음부터 시작해 맥락을 잃습니다. 이쪽은 탭이 살아 있어 살펴보고 고치고 확인하는 순환이 그대로 이어집니다. 대신 지원 플랫폼이 아직 좁습니다.

최근 변경

요청이 무한정 매달리지 않도록 수명을 제한하고 브라우저 동작 속도를 올렸습니다. 관리하는 브라우저를 얼마나 놀린 뒤 정리할지 설정으로 정하는 기능도 들어갔습니다.