DroidClaw: 오래된 안드로이드 폰을 AI 에이전트로 변환

자연어로 목표를 주면 스스로 탭, 타입, 스와이프를 수행하는 안드로이드 AI 에이전트.

핵심 아이디어

과거에는 미리 정의된 플로우로 안드로이드를 자동화했다. 이제 그 자동화 레이어에 LLM 뇌를 붙인 것.

  • 어떤 화면이든 읽고 이해
  • API 불필요 — 앱만 설치하면 됨
  • 인간처럼 앱을 사용

작동 원리

Perception → Reasoning → Action 루프
  1. Perceive: ADB로 접근성 트리 덤프 → XML 파싱 → UI 요소 식별
  2. Reason: 화면 상태 + 목표 + 히스토리를 LLM에 전송 → { think, plan, action } 반환
  3. Act: ADB로 tap, type, swipe 실행

특징

기능설명
API 키 불필요ChatGPT, Gemini, Google Search 앱을 인간처럼 사용
스크린샷 폴백접근성 트리가 비어있을 때(WebView, Flutter, 게임) 스크린샷으로 대체
루프 감지3단계 동안 화면 변화 없으면 복구 힌트 주입
반복 추적같은 좌표 3회 이상 탭하면 다른 방법 시도
드리프트 감지탐색 액션만 반복하면 직접 행동 유도
멀티턴 메모리대화 히스토리 유지로 이미 시도한 것 기억

사용 예시

$ bun run src/kernel.ts
enter your goal: open youtube and search for "lofi hip hop"
 
--- step 1/30 ---
think: i'm on the home screen. launching youtube.
action: launch (842ms)
 
--- step 2/30 ---
think: youtube is open. tapping search icon.
action: tap (623ms)
...

설치

curl -fsSL https://droidclaw.ai/install.sh | sh

필요 조건

  • bun (node/npm 불가 — Bun 전용 API 사용)
  • adb (Android Debug Bridge)
  • 안드로이드 기기 (USB 디버깅 활성화)

의미

오래된 안드로이드 폰을 버리지 말고 AI 에이전트 노드로 활용할 수 있다. 물리적 기기를 조작하는 에이전트의 새로운 형태.