컴퓨터 사용

CLI-JAW는 브라우저 DOM에는 CDP를, 데스크톱 상호작용에는 Computer Use를 사용합니다. Computer Use는 직원이 아닌 MCP 도구입니다.

두 가지 접근 방식

접근 방식방법적합한 용도
CDP (Chrome DevTools Protocol)src/browser/를 통한 브라우저 자동화웹 페이지, 정밀한 DOM 상호작용
Computer Use (CU)jaw-computer-use MCP 또는 Codex 기본 플러그인으로 데스크톱 자동화네이티브 앱, 데스크톱 UI 상호작용

CDP 브라우저 자동화

CLI-JAW는 CDP를 통해 Chrome을 실행하고 제어합니다:

# Start browser
jaw browser start

# Take a screenshot
jaw browser screenshot

# Take a DOM snapshot with ref attributes
jaw browser snapshot

# Click an element by ref
jaw browser click ref123

# Type text into an element
jaw browser type ref456 "Hello World" --submit

# Navigate to a URL
jaw browser navigate https://example.com

# Get page text
jaw browser text

비전 클릭 파이프라인

DOM ref 속성이나 직접 좌표 지정이 적합하지 않은 경우, 비전 클릭 파이프라인은 AI 비전을 사용하여 UI 요소를 찾고 클릭합니다:

jaw browser vision-click "Submit button" --provider codex

파이프라인 흐름: 스크린샷 촬영 → AI 비전으로 좌표 추출 → DPR 보정 → 클릭 → 검증.

명시적 $computer-use 요청에는 노출된 Computer Use 도구를 사용하며 CDP로 대체하지 않습니다. Jaw는 Codex 외 MCP 지원 CLI에 jaw-computer-use 서버(js 도구, Claude에서는 mcp__jaw-computer-use__js)를 등록합니다. Codex는 기본 플러그인을 사용합니다. 첫 도구 호출이 반환한 문서에서 cua.getApp(name), app.getAXState(), app.click(index|[x,y]) 등 지원 동작을 확인합니다.

macOS TCC 권한

Computer Use가 포함된 ChatGPT 데스크톱 앱을 설치하고 연 뒤 jaw를 다시 시작합니다. macOS에서는 jaw 서비스를 실행한 프로세스/바이너리에 다른 앱 데이터 접근 권한(TCC App Data, ChatGPT Computer Use 컨테이너)이 필요할 수 있습니다. 개인정보 보호 및 보안의 정확한 패널 이름은 macOS 버전에 따라 다릅니다. 권한 없는 Terminal 실행 jaw는 첫 앱 호출에서 멈출 수 있습니다. 다른 TCC 권한은 다음으로 확인합니다:

# Check TCC permissions
jaw doctor --tcc

Jaw는 실행 권한 정책에 따라 앱 승인 요청에 답합니다. auto는 승인하고 safe는 거절하며 not approved로 보고합니다. 도구가 없으면 precondition failed: no Computer Use surface, 첫 앱 호출이 막히면 precondition failed: computer-use app access blocked로 보고합니다. Windows에도 Codex 데스크톱 플러그인 캐시가 필요합니다. Linux, WSL, Docker에는 호스트 Computer Use 표면이 없으며 DOM 작업에는 CDP를 사용할 수 있습니다.

Safari 팁

Safari 자동화를 사용하려면 Safari의 개발자 메뉴에서 "원격 자동화 허용"을 활성화하세요. 다만, CDP를 통한 Chrome이 권장되는 최적의 경로입니다.

브라우저 API 엔드포인트

메서드경로설명
POST/api/browser/start브라우저 시작
POST/api/browser/stop브라우저 중지
GET/api/browser/status브라우저 상태 확인
GET/api/browser/snapshotref가 포함된 DOM 스냅샷
POST/api/browser/screenshot스크린샷 촬영
POST/api/browser/act클릭, 입력, 키 누르기, 호버
POST/api/browser/vision-click비전 기반 클릭
POST/api/browser/navigateURL로 이동

런타임 진단

# Check browser runtime health
jaw browser status

# Doctor check for orphan processes
GET /api/browser/doctor

# Cleanup orphan runtimes
POST /api/browser/cleanup-runtimes