AI 코딩
젭 브라우저 설치 가이드: 클릭 한 번 0.3초로 내 크롬을 조종하는 Claude Code·Codex 스킬
지금 다 못 읽겠다면 · 이 가이드 링크를 메일로 받기
목차 · 9개 섹션
브라우저를 AI에게 맡겨보면 클릭 한 번마다 한참 멈춘다. 대화형 AI가 화면을 읽고, 글로 생각하고, 그다음에야 누르기 때문이다. 네이버에서 뉴스 기사 하나 여는 데 브라우저 AI 에이전트로 53.6초, 78.2초가 걸렸다.
같은 일을 젭(Jev)으로 시켰더니 명령부터 끝까지 11.6초, 12.4초였다. 이 글은 그 스킬(jev-browser)을 Claude Code나 Codex에 설치하고 쓰는 법을 정리했다.
MIT · Claude Code · Codex 플러그인 겸 스킬 · v0.1.1 (2026-09-27 기준)
어떻게 빠른가
젭은 TypeSafe가 만든 판단 전용 모델이다. 글을 쓰지 않고 예/아니오, 분류, 점수만 낸다. 답마다 확률이 붙는다.
jev-browser는 이걸 브라우저 조종에 쓴다.
- 지금 화면에 보이는 버튼·링크·입력칸을 목록으로 만든다(보통 50~70개)
- 젭에게 “다음에 뭘 할지(클릭·입력·스크롤·끝)“와 “어느 걸 누를지”를 한 번에 묻는다
- 고른 것을 진짜 마우스·키보드로 실행하고 다시 1번으로
한 번 고르는 데 0.29~0.37초, 기사 하나 여는 데 약 $0.002(3원 안쪽)였다. 브라우저는 Aside의 aside repl로 움직인다. 이미 로그인해 둔 내 크롬 그대로다.
직접 돌려본 결과
2026-09-27, 같은 맥·같은 크롬 프로필에서 쟀다.
| 과제 | 성공 | 판단 구간 | 판단 1회 |
|---|---|---|---|
| 위키백과 → Jevons paradox 문서 | 2/2 | 2.3초 | 0.36초 |
| 나무위키 → 제번스의 역설 | 3/3 | 2.5초 | 0.29초 |
| 네이버 팝업스토어 → 뉴스 탭 → 첫 기사 | 3/3 | 3.9초 | 0.36초 |
명령부터 끝까지 전체 시간(탭 열기 포함)은 네이버 기준 11.612.4초다. 탭 여는 데만 15초가 들쭉날쭉하게 걸린다.
설치 후 Claude Code와 Codex에 각각 “젭 브라우저 스킬로 나무위키에서 제번스의 역설 열어줘”라고만 말해봤다. 둘 다 스킬을 스스로 찾아 점검 → 실행까지 해서 성공했다.
1. 준비물
- macOS, Python 3.9 이상 (맥 기본
python3도 된다) - Aside 앱과 CLI — 브라우저를 코드로 움직이는 통로다. Aside 설치·로그인은 Aside 설치 가이드를 먼저 본다.
- OpenRouter 키 — 젭은 OpenRouter의
typesafe/jev-1.13으로 부른다. openrouter.ai/keys에서 발급한다.
# Aside CLI (없으면)
curl -fsSL https://releases.aside.com/install.sh | bash
# OpenRouter 키 — ~/.zshrc 에 넣어두면 매번 안 쳐도 된다
export OPENROUTER_API_KEY=sk-or-...
2. 설치
Claude Code
claude plugin marketplace add sdkfile/jev-browser
claude plugin install jev-browser@jev-browser
Codex
codex plugin marketplace add sdkfile/jev-browser
codex plugin add jev-browser@jev-browser
설치 후 Claude Code·Codex를 새로 열면 스킬이 잡힌다.
플러그인 없이 스킬만
Claude Code와 Codex 모두 SKILL.md 형식을 그대로 읽으므로 폴더만 복사해도 된다.
git clone https://github.com/sdkfile/jev-browser
cp -r jev-browser/skills/jev-browser ~/.claude/skills/ # Claude Code
cp -r jev-browser/skills/jev-browser ~/.agents/skills/ # Codex
3. 설치 확인
에이전트에게 “젭 브라우저 설치됐는지 확인해줘”라고 해도 되고, 직접 쳐도 된다.
python3 ~/.claude/plugins/cache/jev-browser/jev-browser/0.1.1/skills/jev-browser/scripts/jev_browser.py check
✓ python 3.9.6
✓ aside CLI /Users/.../.local/bin/aside
✓ aside 브라우저 연결 (repl)
✓ OPENROUTER_API_KEY
✓ 젭 판단 1회 472ms (링크 원함 확률 0.98)
READY
마지막 줄이 READY면 끝이다. Aside에 프로필이 여러 개면 --account u0처럼 붙인다. ✗가 뜬 줄에는 고치는 법이 →로 같이 나온다.
함정: Aside 앱이 꺼져 있으면 aside 브라우저 연결에서 실패한다. 앱을 켜고 다시 돌린다.
4. 쓰는 법
에이전트에게 말로 시키기
젭 브라우저로 네이버에서 팝업스토어 검색해서 뉴스 탭 첫 기사 열어줘
에이전트가 스킬을 읽고 명령을 만들어 실행한 뒤 결과를 보고한다. 판단마다 한 줄씩 찍힌다.
[1. 1] TYPE_TEXT p=1.00 263ms (69개 중) 검색어를 입력해 주세요.
[1. 2] CLICK p=0.97 264ms (106개 중) Search / submit "팝업스토어"
[1. 3] CLICK p=0.98 315ms (67개 중) 뉴스
[1. 4] CLICK p=0.96 285ms (56개 중) 팝업만 있는 줄 알았는데…
[1. 5] DONE p=0.81 311ms (42개 중)
RUN 1: 성공 status=done loop=3802ms ...
p=는 젭이 그 선택을 얼마나 확신했는지, (69개 중)은 그 화면에서 고를 수 있던 버튼·링크 수다.
직접 명령으로
python3 scripts/jev_browser.py run \
--url https://www.naver.com/ \
--goal "Search Naver for '팝업스토어'. On the results page click the '뉴스' tab, then open the first news article in the list. Stop when a news article page is visible." \
--type "팝업스토어" --expect "팝업"
| 옵션 | 뜻 |
|---|---|
--url | 시작 페이지. 사이트 첫 화면이나 검색 화면으로 준다 |
--goal | 목표. 영어로, 거쳐 갈 탭·버튼 이름까지, 끝은 Stop when … |
--type | 입력칸에 넣을 글자. 젭은 글을 못 쓴다 |
--expect | 끝난 페이지에 있어야 할 글자. 성공 확인용 |
--runs 3 | 3번 돌려 성공률 보기 |
--overlay | 화면 왼쪽 아래에 판단·확신·시간 배지 + 누르는 곳 초록 테두리 (녹화용) |
--hold 5 | 끝나고 탭을 5초 더 띄워두기 |
5. 목표 쓰는 요령 — 여기서 성공률이 갈린다
거쳐 갈 탭·버튼 이름까지 쓴다
“팝업스토어 검색해서 첫 뉴스 결과 열어줘”만 주면 3번 중 2번은 결과 화면 옆의 실시간 인기 연예 뉴스를 눌렀다. “‘뉴스’ 탭을 누르고 목록의 첫 기사”라고 경로를 적자 3번 모두 성공했다.
판단: 젭은 목록에서 목표와 가장 비슷한 걸 고른다. “뉴스”라는 글자가 들어간 링크가 여럿이면 엉뚱한 걸 고를 수 있으니, 누를 이름을 직접 알려준다.
목적지 주소로 바로 시작하지 않는다
문서 주소를 --url로 바로 주면 젭이 할 일이 없다. 이미 목표 페이지인데도 그 페이지의 제목 링크를 계속 누르다 3번째에 멈췄다(blocked_repeat). 사이트 첫 화면에서 시작하게 하자 바로 성공했다.
입력할 글자는 --type으로 준다
젭은 판단만 한다. 검색어처럼 칸에 넣을 글자는 사람이 정해서 넘긴다.
성공은 --expect로 확인한다
젭의 “끝났다”는 판단은 확신이 낮을 때가 많다. 맞는 페이지에서도 DONE 확률이 0.37로 나온 적이 있다. 끝난 페이지에 있어야 할 글자를 주면 스크립트가 직접 확인해 성공/실패를 가른다.
6. 한계와 주의
- 읽고 이동하는 일만 맡긴다. 목표 끝에 “로그인·전송·게시·댓글·구매·설정 변경 금지” 문장이 자동으로 붙는다. 하지만 이건 모델에게 주는 지시일 뿐 기술적으로 막는 장치가 아니다. 로그인된 실제 브라우저이므로 쓰기·결제 작업은 시키지 않는다.
- 쉬운 사이트에서 안정적이다. 날짜 선택기, 여러 단계 폼은 실패가 잦다.
- API 키는 브라우저로 들어가지 않는다. 파이썬이 내 맥 안(
127.0.0.1)에 작은 중계기를 띄워 키를 붙이고, 브라우저로 보내는 스크립트에 키가 없는지 실행 전에 확인한다.
검색 버튼이 안 보이는 사이트
네이버는 특정 창 너비에서 일반 검색 버튼 크기가 0이라 젭에게 “AI 검색” 버튼만 보였다. 그래서 AI 탭으로 들어가 막혔다(0/3). jev-browser는 입력칸에 글자가 있으면 “입력한 걸로 검색(엔터)“을 버튼 목록에 끼워 넣는다. 이걸로 3/3이 됐다.
출처
화면 목록 만드는 코드와 판단 규칙은 Browser Use의 jev-ultrafast(MIT)에서 가져왔다.
스킬 설명서 원문은 여기 있다.
FOR TEAMS
이 가이드, 우리 팀에 적용하려면?
회사명과 업무 한 줄만 남겨주시면 널포인터스튜디오가 직접 검토해 회신드립니다.