This is an early release preview. You may encounter bugs.
OpenDroid logo
Unclaimed

Tool interface

OpenDroid

Your Open Autonomous Android Agent — A production-ready, self-planning AI assistant powered by local/remote LLMs and accessibility-driven sc

A 81/100 GitHub score ? This grade is derived from GitHub signals, not user votes. Open for the full breakdown.
No votes yet

01 / About

What OpenDroid is.

OpenDroid is an autonomous agent that runs on an Android phone and carries out multi-step device tasks. It breaks a command into sequential steps with dependency tracking, executes each one, monitors the result, and replans when a step fails. A compound-intent guard detects commands that ask for more than one action, and contact references are resolved through four tiers of matching, including fuzzy matches and relationship aliases such as "call dad".

Device control runs through the Android accessibility service. The agent reads the screen by capturing screenshots for vision-capable models, falling back to accessibility-tree text scraping on older devices, and acts across system settings, messaging and calls, alarms, timers, reminders and calendar events, maps and ride booking, media, UPI payments and bill splitting, and Google Home devices. An offline wake word, speech-to-text, and text-to-speech provide a hands-free path.

Memory is held in four tiers: a temporary active plan, long-term explicit facts, learned patterns inferred from behaviour, and sensitive values encrypted in the Android Keystore. Habit detection mines recurring daily app sequences and offers them as one-click routines and morning briefings.

An on-device model manager downloads LiteRT-LM models in the background with pause, resume, cellular support and speed tracking, stores gated Hugging Face tokens with AES-GCM in the Keystore, computes SHA-256 hashes and checks engine compatibility before marking a model ready, and imports local .task or .litertlm files. The app is Kotlin with Jetpack Compose, Dagger-Hilt dependency injection, and a Room database, and builds against JDK 21 and Android SDK 35.

Provider Models Type
Google Gemini Gemini 2.0 Flash, Pro, Nano Cloud and on-device
Anthropic Claude Claude Sonnet 4, Opus 4 Cloud
OpenAI GPT-4o, GPT-4.1, o3 Cloud
Groq LLaMA 3, Mixtral Cloud
DeepSeek DeepSeek V3, R1 Cloud
Mistral AI Mistral Large, Medium Cloud
OpenRouter 200+ models via one API Cloud
Together AI Open-source model hosting Cloud
Cohere Command R+ Cloud
GitHub Copilot GPT-4.1 and Claude via the Copilot API Cloud
Ollama Any local model Local
Custom OpenAI Any OpenAI-compatible endpoint Self-hosted

Features

  • Self-planning: complex commands are split into sequential steps with dependency tracking
  • Re-evaluation: execution results are monitored and the plan is rewritten when a step fails
  • Provider failover: if the primary provider fails, the next one in the chain is tried
  • Screen understanding: screenshots feed vision models, with accessibility-tree scraping as the fallback
  • Four-tier memory: active plan, long-term facts, learned patterns, and Keystore-encrypted sensitive data
  • Habit detection: recurring daily app sequences become one-click routines
  • Device actions: system toggles, messaging, calls, SMS, alarms, calendar, navigation, media, payments, and smart home
  • On-device models: background LiteRT-LM downloads with pause and resume, hash verification, and local model import
  • Voice interface: offline wake word, speech-to-text, and text-to-speech output

02 / Discussion CREDIBILITY-GATED

Discussion

Reading is open to everyone. Posting and voting need a verified identity or a GitHub grade of B or higher.

  • No discussions yet.

03 / Build

Build with OpenDroid.

Browse the catalogue for frameworks, tools, and harnesses, each scored on real GitHub credibility.

Get OpenDroid →

Browse the catalogue