30일 챌린지 오픈 알림 받기
← 모든 가이드

AI 코딩

젭 브라우저 설치 가이드: 클릭 한 번 0.3초로 내 크롬을 조종하는 Claude Code·Codex 스킬

Claude Code
지금 다 못 읽겠다면 · 이 가이드 링크를 메일로 받기

목차 · 9개 섹션

브라우저를 AI에게 맡겨보면 클릭 한 번마다 한참 멈춘다. 대화형 AI가 화면을 읽고, 글로 생각하고, 그다음에야 누르기 때문이다. 네이버에서 뉴스 기사 하나 여는 데 브라우저 AI 에이전트로 53.6초, 78.2초가 걸렸다.

같은 일을 젭(Jev)으로 시켰더니 명령부터 끝까지 11.6초, 12.4초였다. 이 글은 그 스킬(jev-browser)을 Claude Code나 Codex에 설치하고 쓰는 법을 정리했다.

sdkfilejev-browserRepository

MIT · Claude Code · Codex 플러그인 겸 스킬 · v0.1.1 (2026-09-27 기준)

어떻게 빠른가

젭은 TypeSafe가 만든 판단 전용 모델이다. 글을 쓰지 않고 예/아니오, 분류, 점수만 낸다. 답마다 확률이 붙는다.

jev-browser는 이걸 브라우저 조종에 쓴다.

  1. 지금 화면에 보이는 버튼·링크·입력칸을 목록으로 만든다(보통 50~70개)
  2. 젭에게 “다음에 뭘 할지(클릭·입력·스크롤·끝)“와 “어느 걸 누를지”를 한 번에 묻는다
  3. 고른 것을 진짜 마우스·키보드로 실행하고 다시 1번으로

한 번 고르는 데 0.29~0.37초, 기사 하나 여는 데 약 $0.002(3원 안쪽)였다. 브라우저는 Aside의 aside repl로 움직인다. 이미 로그인해 둔 내 크롬 그대로다.

직접 돌려본 결과

2026-09-27, 같은 맥·같은 크롬 프로필에서 쟀다.

과제성공판단 구간판단 1회
위키백과 → Jevons paradox 문서2/22.3초0.36초
나무위키 → 제번스의 역설3/32.5초0.29초
네이버 팝업스토어 → 뉴스 탭 → 첫 기사3/33.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 33번 돌려 성공률 보기
--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)에서 가져왔다.

browser-usejev-ultrafastRepository

스킬 설명서 원문은 여기 있다.

sdkfile/jev-browserSKILL.mdskills/jev-browser · mainMarkdown

FOR TEAMS

이 가이드, 우리 팀에 적용하려면?

회사명과 업무 한 줄만 남겨주시면 널포인터스튜디오가 직접 검토해 회신드립니다.