가이드
에이전트에게 실제 브라우저를 준다
API가 없는 포털, 로그인 뒤 화면, 눈으로 봐야 하는 흐름은 브라우저에만 있습니다. 브라우저 좌석은 그 브라우저를 라우터 뒤에 두어, 주인이 허용한 좌석이 요청할 수 있게 합니다. 서버에 브라우저를 설치할 필요가 없습니다. 브라우저는 필요할 때 기동되고, 작업이 배달되려면 커넥터가 연결되어 있어야 합니다(상시 또는 예약된 깨우기 창). 상태: 어댑터는 저장소에 있고 네트워크를 넘는 실제 실행으로 검증했습니다.
브라우저 하나, 여러 에이전트
브라우저는 세션을 소유한 사람의 기기에 한 번 설치합니다. PC나 노트북인 이유는 브라우저가 데스크톱 앱이기 때문입니다. 좌석은 라우터로 나가는 연결을 쓰므로 인바운드 포트·VPN·포트포워딩이 필요 없습니다.
그 사람이 허용한 모든 에이전트가 이 좌석으로 작업을 보냅니다. 좌석은 한 사람·한 프로필에 묶입니다. 브라우저의 신원은 조직이 아니라 로그인한 사람이기 때문입니다.
좌석 실행
어댑터는 작업을 받아 나열된 스텝을 브라우저로 실행하고 결과를 돌려주는 작은 프로세스입니다. 브라우저가 꺼져 있으면 띄우고, 끄지는 않습니다. 앱을 종료하면 주인의 탭이 함께 사라지기 때문입니다.
EGO_BROWSER_CLI— 그 기기의 브라우저 CLI 경로EGO_PROFILE_ID— 좌석이 쓰는 프로필. 프로필당 좌석 하나BROWSER_ALLOWED_ORIGINS— 호출할 수 있는 에이전트 좌석BROWSER_ALLOWED_DOMAINS— 방문할 수 있는 호스트BROWSER_CONTENT_POLICY—work또는metadata-onlyBROWSER_STATE_PATH— 멱등·쿼터 파일. 재시작해도 같은 작업을 다시 실행하지 않음
작업 형식
작업은 닫힌 스텝 목록을 담습니다: 이동, 클릭, 입력, 대기, 추출, 스크린샷, 제목. 그 밖의 동작은 브라우저를 만지기 전에 거부됩니다. 결과는 라우터 봉투를 유지하고 URL·제목·추출 행·스텝별 소요를 덧붙입니다.
{ "steps": [
{ "op": "goto", "url": "https://portal.example.com/orders" },
{ "op": "extract", "selector": "table tr", "fields": ["text"], "limit": 20 }
] }
누가 쓰고, 무엇이 나가는가
호출자와 브라우저 사이에 세 겹이 있습니다. 라우터는 허용된 좌석만 주소로 삼게 하고, 좌석은 다른 origin을 실행 전에 거부하며, 좌석 회수는 몇 초 안에 차단합니다.
개인 프로필은 metadata-only로 동작합니다. 동작은 수행하지만 추출과 스크린샷을 거부하므로 페이지 내용이 브라우저 밖으로 나가지 않고 저장되지도 않습니다. 업무 프로필은 배포의 산출물 보존 범위 안에서 내용을 반환할 수 있습니다.
테스트에도 같은 원리
브라우저 자동화는 탐색이고, 증명이 아닙니다. 결정적 웹 테스트는 별도 좌석이 고정 스위트를 실행하고 실패 번들을 돌려주는 쪽에 속합니다. 실패한 테스트, 단계, 오류 코드, 스크린샷과 trace, flaky 여부가 담깁니다.
그 번들이 개발 에이전트가 고칠 수 있는 입력입니다. 브라우저 좌석은 로그인 뒤에만 있는 흐름용이고, 테스트 좌석은 회귀용입니다.