AI에게 컴퓨터를 대신 조작시키면 화면을 볼 때마다 큰 모델을 불러서, 클릭 몇 번에도 비용이 쌓입니다. typesafe-computer-use는 화면 글자를 OCR로 읽고 다음 행동은 작은 분류 모델 Jev가 골라, 한 단계에 약 0.0002달러로 맥을 움직이는 오픈소스입니다. 하고 싶은 일을 영어 한 문장으로 적으면 맥을 그 목표까지 조작하고, 큰 글쓰기 모델은 입력창에 자유 문장을 써야 할 때만 부릅니다.
고르는 건 작은 모델, 사실 판단은 코드
분류기가 고르고, 사실은 코드가 정하고, 글쓰기 모델은 자유 문장만 씁니다. 날짜, 입력창 포커스, URL처럼 모델이 따져야 할 값은 코드가 계산해 상태로 넘깁니다. 만든 사람 Aaron Levin은 9월 17일 화면을 보고 에이전트가 행동하는 2분 44초 데모를 공개했습니다.
출처: X @awlevin
한 단계는 다섯 순서로 진행됩니다.
- 화면을 Vision OCR로 읽고 접근성 트리에서 이름이 붙은 컨트롤을 가져옵니다.
- 코드가 날짜, 포커스된 입력칸, URL, 이미 시도한 행동 등 화면에서 계산할 수 있는 사실을 추가합니다.
- TypeSafe 요청 한 번으로 행동 종류, 대상, 사이트를 고르는 Choice 세 가지를 받습니다.
- 선택한 동작을 실행하고 다음 화면을 캡처해 실제 결과를 확인합니다.
- 분류기가 멈추면 글쓰기 모델이 화면을 읽어 답하거나 사용자에게 넘깁니다. 글쓰기 모델은 행동을 고르지 않습니다.
Claude Opus 5보다 155배 싸고 빠르다
같은 화면과 목표에서 결정 한 번씩 비교한 수치입니다. 비용은 Jev가 결정당 0.0002달러, Claude Opus 5가 0.032달러로 155배 차이가 납니다.
| 측정 항목 | typesafe (Jev) | Claude Opus 5 | 차이 |
|---|---|---|---|
| 입력 토큰 | 4,882 | 4,785 | 비슷 |
| 결정당 비용 | $0.0002 | $0.032 | 155배 저렴 |
| 기록 포함 실제 루프 | $0.0002 | $0.035~$0.08 | 170~390배 저렴 |
| 12단계 과업 | $0.003 | $0.40~$0.90 | 130~300배 저렴 |
| 모델 지연시간 | 0.13~0.38초 | 5.2초 | 14~40배 빠름 |
| 캡처·OCR 포함 한 단계 | 약 1.5초 | 약 5.5초 | 3.7배 빠름 |
12단계 과업의 Jev 비용은 0.003달러, 약 1.5초입니다. Opus 5는 약 0.5달러, 5.5초입니다.
출처: X @awlevin
Jev는 최대 255개 선택지에서 확률 분포와 신뢰도를 수백 밀리초 안에 돌려주며, 출력 토큰은 무료입니다. TypeSafe의 Choice 문서에서 선택지 형식과 사용법을 볼 수 있습니다. Opus는 화면 픽셀에서 날짜를 바로 읽지만, Jev가 판단할 때는 코드가 날짜를 계산해 상태에 넘깁니다.
설치와 사용법
준비물은 macOS 14 이상, Python 3.12 이상, uv입니다. 저장소를 복제해 의존성을 설치하고 환경 파일을 만듭니다.
git clone https://github.com/awlevin/typesafe-computer-use
cd typesafe-computer-use
uv sync
cp .env.example .envTypeSafe quickstart에서 API 키를 발급받아 루트 .env에 넣습니다. 필요한 환경 변수는 다음과 같습니다.
| 환경 변수 | 필수 여부 | 용도 |
|---|---|---|
TYPESAFE_API_KEY | 필수 | 모든 결정 요청 |
ANTHROPIC_API_KEY | 선택 | type_text, writer가 제안하는 URL, 최종 답변 |
CLICKER_EMAIL | 선택 | type_email 동작 활성화 |
CLICKER_BROWSER | 선택 | 브라우저 지정, 기본값 Google Chrome |
시스템 설정의 개인정보 보호 및 보안에서 터미널에 화면 기록과 손쉬운 사용 권한을 줍니다. 화면 기록 권한이 없으면 캡처는 배경화면만 나오고, 손쉬운 사용 권한이 없으면 클릭이 무시되며 --act가 시작되지 않습니다.
첫 실행은 실제 클릭을 하지 않는 dry run으로 시작합니다. 아래 첫 명령은 한 단계에서 할 동작을 출력합니다. --act를 붙이면 실제로 컴퓨터를 조작하며 최대 100단계까지 진행합니다.
uv run clicker "open the Playground"
uv run clicker "open the Playground" --act
uv run clicker "log in" --act --steps 20 --delay 3
uv run clicker "log in" --act --handoffs 0
uv run clicker-inspect "any goal"목표는 영어 한 문장으로 적습니다. 실행 전 터미널을 비우세요. 터미널에 남은 글자도 OCR 입력에 포함됩니다. 실행을 멈추려면 터미널에서 Ctrl-C를 누르거나 마우스를 화면 왼쪽 위 구석으로 가져갑니다. 매 실행은 runs/<timestamp>/에 저장되며, 멈춘 과정을 오프라인에서 다시 살펴볼 수 있습니다.
지원 환경과 더 볼 문서
기본 지원 환경은 macOS이고, Windows 10·11은 실험 지원입니다. 자세한 내용은 Windows 문서에 있습니다.
Chrome DevTools를 이용하는 브라우저 백엔드는 화면 기록 권한 없이 DOM을 읽습니다. OSWorld 데스크톱 벤치마크 실행 방법도 제공하며 Linux와 KVM이 필요합니다. 브라우저 백엔드와 OSWorld는 각 문서에, 글쓰기 모델을 LM Studio·Ollama 같은 다른 모델로 바꾸는 방법은 writer endpoints 문서에 있습니다.
저장소는 MIT 라이선스이고, 최신 릴리스는 0.2.0 beta(9월 23일 07:45 KST)이며, GitHub 별은 1,118개(10월 2일 기준)입니다. 0.x 버전에서는 설정과 동작이 바뀔 수 있고 실제 마우스와 키보드를 움직이므로 dry run부터 시작합니다.



