yashab-cyber/opendroid
Your Open Autonomous Android Agent — A production-ready, self-planning AI assistant powered by local/remote LLMs and accessibility-driven screen automation.
OpenDroid – Android용 자율 AI 에이전트
정의 – OpenDroid는 휴대폰에서 직접 자체 계획 AI 에이전트를 실행하는 Android 앱입니다. 자연어 명령을 이해하고, 단계로 분해하고, 시스템 설정, 앱, 외부 서비스 전반에서 해당 단계를 실행한 다음 결과를 검증하고 문제가 발생하면 다시 계획합니다. 이 모든 작업은 기기에서(또는 선택한 LLM 제공업체를 통해) 이루어지며 별도의 서버가 필요하지 않습니다.
주요 기능
- 자율 계획 – "날씨 확인, 아내에게 늦을 거라고 문자 보내기, 오후 6시 알람 설정" 같은 요청을 종속성 인식 워크플로로 구문 분석하고 각 작업을 실행하며 실패 시 적응합니다.
- 온디바이스 모델 관리자 – Hugging Face 또는 로컬
.task/.litertlm파일에서 LiteRT-LM 모델을 다운로드, 검증(SHA-256), 로드하고 자격 증명을 Android Keystore에 안전하게 저장합니다. - 기기 제어 – 시스템 토글, 통신(WhatsApp, Telegram, SMS, 이메일), 캘린더, 알림, 내비게이션, 미디어, 결제, 스마트 홈 기기를 포함한 60개 이상의 작업.
- 비전 엔진 – Accessibility API를 통해 스크린샷을 캡처하고(또는 접근성 트리로 폴백) 화면 이해 및 "읽고 기억하기" 노트 추출을 위해 비전 지원 LLM에 제공합니다.
- 개인 지식 그래프 – 4계층 메모리 시스템(임시 계획, 장기 사실, 학습된 패턴, 암호화된 민감 데이터)으로 세션 간에 지속됩니다.
- 음성 인터페이스 – 오프라인 웨이크워드 감지("OpenDroid"), 음성-텍스트 변환, 선택적 ElevenLabs TTS 음성 응답.
- 다중 제공업체 LLM 지원 – 13개의 클라우드 또는 로컬 제공업체(Gemini, Claude, OpenAI, Groq, Ollama 등)를 통합하며 기본 모델이 실패하면 자동 폴백합니다.
- 프리미엄 UI – Jetpack Compose로 구축되었으며, 글래스모픽 스타일, 다크 모드, 각 LLM의 실시간 지연 시간 표시를 갖추고 있습니다.
아키텍처 개요
- 클린 아키텍처 및 Dagger-Hilt DI.
- 핵심 모듈(
agent,llm,memory,security,service,voice). - 작업 패키지에는 Android 기능용 60개 이상의 실행기가 포함되어 있습니다.
- 데이터 계층은 영구 설정에 Room(7개 DAO) 및 DataStore를 사용합니다.
- UI 계층(
ui)에는 Compose 화면, 뷰 모델, 재사용 가능한 구성 요소가 포함되어 있습니다.
시작하기
- JDK 21 및 Android SDK 35(Android 15)를 설치합니다.
- 저장소를 클론하고 디버그 APK를 빌드합니다:
git clone https://github.com/yashab-cyber/opendroid.git cd opendroid ./gradlew assembleDebug # APK는 app/build/outputs/apk/debug/app-debug.apk에 있습니다 - APK를 설치하고 필요한 권한(접근성, 설정 쓰기, 오디오, 알림 액세스, 알림 게시)을 부여합니다.
- 설정 → LLM 제공업체를 열고 API 키(Gemini, Groq, Ollama 등)를 추가합니다.
- "OpenDroid"라고 말하거나 명령을 입력하여 상호 작용을 시작합니다.
보안 – API 키는 Android Keystore(AES-GCM)로 암호화되어 저장됩니다. 모델 파일은 로드 전에 해시 검증됩니다. SECURITY.md에 책임 있는 공개가 설명되어 있습니다.
라이선스 – Apache 2.0(허용적이며 상업적 사용 및 수정 허용).
결론 – OpenDroid는 새로운 자율 AI 에이전트 클래스를 일상적인 Android 휴대폰에 제공하여 사용자가 자연어로 복잡한 다단계 작업을 자동화할 수 있게 하면서 데이터와 모델 실행을 대부분 기기에서 유지합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트