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 – Autonomous AI Agent for Android

What it is – OpenDroid is an Android app that runs a self‑planning AI agent directly on your phone. It can understand natural‑language commands, break them into steps, execute those steps across system settings, apps, and even external services, then verify the outcome and re‑plan if something goes wrong. All of this happens on‑device (or via your chosen LLM provider) without needing a separate server.

Key capabilities

  • Autonomous planning – parses a request like “Check the weather, text my wife I’ll be late, set an alarm for 6 PM” into a dependency‑aware workflow, runs each action, and adapts on failure.
  • On‑device model manager – downloads, verifies (SHA‑256), and loads LiteRT‑LM models from Hugging Face or local .task/.litertlm files, storing credentials securely in Android Keystore.
  • Device control – over 60 actions covering system toggles, communications (WhatsApp, Telegram, SMS, email), calendars, reminders, navigation, media, payments, and smart‑home devices.
  • Vision engine – captures screenshots via Accessibility API (or falls back to the accessibility tree) and feeds them to vision‑capable LLMs for screen‑understanding and “Read & Remember” note extraction.
  • Personal knowledge graph – a four‑tier memory system (temporary plan, long‑term facts, learned patterns, encrypted sensitive data) that persists across sessions.
  • Voice interface – offline wake‑word detection (“OpenDroid”), speech‑to‑text, and optional ElevenLabs TTS for spoken responses.
  • Multi‑provider LLM support – integrates 13 cloud or local providers (Gemini, Claude, OpenAI, Groq, Ollama, etc.) with automatic fallback if the primary model fails.
  • Premium UI – built with Jetpack Compose, glass‑morphic styling, dark mode, and live latency read‑outs for each LLM.

Architecture at a glance

  • Clean architecture with Dagger‑Hilt DI.
  • Core modules (agent, llm, memory, security, service, voice).
  • Actions package contains 60+ executors for Android functions.
  • Data layer uses Room (7 DAOs) and DataStore for persistent settings.
  • UI layer (ui) holds Compose screens, view‑models, and reusable components.

Getting started

  1. Install JDK 21 and Android SDK 35 (Android 15).
  2. Clone the repo and build the debug APK:
    git clone https://github.com/yashab-cyber/opendroid.git
    cd opendroid
    ./gradlew assembleDebug   # APK at app/build/outputs/apk/debug/app-debug.apk
    
  3. Install the APK, grant the required permissions (Accessibility, Write Settings, Audio, Notification Access, Post Notifications).
  4. Open Settings → LLM Providers, add an API key (Gemini, Groq, Ollama, etc.).
  5. Speak “OpenDroid” or type a command to start interacting.

Security – API keys are stored encrypted with Android Keystore (AES‑GCM). Model files are hash‑verified before loading. A SECURITY.md outlines responsible disclosure.

License – Apache 2.0 (permissive, allows commercial use and modification).


Bottom line – OpenDroid brings the emerging class of autonomous AI agents to everyday Android phones, letting users automate complex, multi‑step tasks with natural language while keeping data and model execution largely on‑device.

Related

  • Project
  • Project
  • Project
  • Project
  • Project