놀고 있던 Antigravity CLI를 Aside 브라우저에 붙여 브라우저 자동화를 만들었다
API 키 없이 Google AI 구독만으로 Aside 브라우저 에이전트를 돌린다. 설정은 agy에게 가이드 URL 하나 던져서 시켰다.
놀고 있던 Antigravity CLI(agy)를 Aside 브라우저의 AI 모델로 연결했다. 결과적으로 API 키 한 장 발급하지 않고, 이미 결제 중인 Google AI 구독으로 브라우저 자동화 에이전트가 돌아간다. 설정은 agy에게 가이드 URL 하나 던져서 시켰고, 사람이 한 일은 확인 질문에 "묻지 말고 계속해"라고 답한 것뿐이다.
왜 했나
Google AI 구독을 쓰고 있으면 Antigravity CLI(agy)가 딸려온다. 터미널에서 Gemini를 쓰는 코딩 에이전트인데, 솔직히 자주 열지 않았다. 코딩은 Claude Code로 하고 있으니 agy는 구독료만 내고 놀리는 셈이었다.
한편 Aside는 AI가 직접 조작하는 브라우저다. 페이지를 열고, 읽고, 클릭하고, 글을 쓰는 것까지 에이전트가 한다. 문제는 Aside가 모델 Provider로 HTTP API만 받는다는 것. 그러니까 OpenRouter나 OpenAI 키를 새로 사야 한다.
두 개를 붙이면 된다. 놀고 있는 agy가 뇌, Aside가 손발.
구조
비유하면 집에 정수기(agy 구독)가 있는데 새로 들인 커피머신(Aside)이 수도 직결만 받는 상황이다. 중간에 배관(로컬 브리지) 하나만 놓으면 된다.
Aside (브라우저·도구 실행)
→ http://127.0.0.1:8787/v1/chat/completions (OpenAI 형식)
→ aside-agy-provider (Node.js, 외부 패키지 0개)
→ agy --input-format stream-json --output-format stream-json --sandbox
→ Google AI 구독 할당량
브리지는 로그인 토큰을 건드리지 않는다. 터미널에서 agy 로그인이 되어 있으면, 요청이 올 때마다 agy 프로세스를 새로 띄워서 답을 받아 OpenAI 형식으로 되돌려준다. Aside가 보내는 도구 정의(브라우저 열기, 페이지 읽기 등)는 JSON Schema로 바꿔 agy --json-schema에 넘기고, agy가 돌려준 structured output을 다시 tool_calls로 변환한다. 그래서 텍스트 대화만이 아니라 브라우저 도구 호출 루프까지 Gemini가 돈다.
127.0.0.1 전용이고, 바깥에서는 접근이 안 된다.
설정은 agy가 직접 했다
가이드 페이지가 하나 있었다. 브리지 ZIP 위치, config 예시, Aside models.json에 넣을 Provider JSON, 검증 명령, 로그인 시 자동 실행 예약 작업 스크립트까지 다 적혀 있는 페이지다.
이걸 agy에게 그대로 줬다.
agy --dangerously-skip-permissions
> https://.../ 이거 따라서 설정해줘. 어사이드도 설치하고
처음엔 --dangerously-skip-permissions 없이 시작했다가 매 명령마다 확인을 물어서 "묻지 말고 계속하는 방법을 알려줘"라고 했고, 플래그를 알려주길래 그걸로 재시작했다. 그 뒤로는 손을 안 댔다.
agy가 12시 07분에 시작해서 한 일(파일 타임스탬프 기준):
| 시각 | 작업 |
|---|---|
| 12:10 | 브리지 ZIP 다운로드 → C:\Tools\aside-agy-provider 압축 해제 |
| 12:10 | Aside 브라우저 설치 |
| 12:12 | config.local.json 작성 — agy 절대경로, 모델 gemini-3.8-flash-medium, sandbox on |
| 12:12 | 브리지 서버 기동 (node src/index.js, 포트 8787) |
| 12:12 | ~/.aside/u/0/models.json에 antigravity-local Provider 등록 |
| 12:13 | 로그인 시 자동 실행 예약 작업 Aside-AGY-Provider-Bridge 등록 |
| ~12:20 | 검증 테스트 2건 실행 |
15분 남짓. LLM 턴은 50번 넘게 돌았다.
검증
가이드가 요구한 테스트 두 개를 agy가 그대로 돌렸고, Aside 세션 로그에 결과가 남아 있다.
1. 기본 연결
aside --account u0 -m antigravity-local/agy-default --effort off "Reply with exactly: ASIDE_AGY_OK"
→ ASIDE_AGY_OK
2. 브라우저 도구 호출 (이게 진짜)
aside ... "Open https://example.com, read the page title, and reply with only the title."
→ [repl] tabs[0] navigated to: Example Domain (https://example.com/)
→ Example Domain
Gemini가 repl 도구를 호출해서 탭을 열고, 페이지 구조를 읽고, 제목만 골라 답했다. Agent 루프가 끝까지 붙었다는 뜻이다.
그 다음엔 내가 Aside한테 "카페에 글 써달라고" 시켜봤다. 네이버 카페 글쓰기 페이지까지 열고 편집기 요소를 잡아내는 것까지 확인했다.
정리
- 비용: 추가 0원. 이미 내던 Google AI 구독으로 브라우저 에이전트가 돈다.
- 설치: agy에게 가이드 URL 하나. 사람 개입은 플래그 한 번.
- 한계: 요청마다 agy 프로세스를 새로 띄우니 첫 토큰이 느리다. 스트리밍도 다 받은 뒤 잘라 보내는 buffered 방식. 이미지 입력은 안 된다. 그리고 이건 공식 API가 아니라 로컬 CLI 어댑터라, 약관은 각자 확인.
환경: Windows 11 · agy 1.2.4 · Aside 1.26 · Node 20.
놀고 있던 도구 하나에 배관 하나 붙였더니 브라우저가 알아서 움직인다. 이런 게 요즘 제일 재미있다.