opendroid  by yashab-cyber

Autonomous AI agent for Android device automation

Created 2 months ago
412 stars

Top 70.4% on SourcePulse

GitHubView on GitHub
Project Summary

OpenDroid is an open-source, autonomous AI agent for Android that executes complex tasks by breaking them into steps, adapting to failures, and interacting with the device through accessibility services and LLMs. It targets power users and developers seeking a self-planning AI assistant for their Android devices, offering enhanced productivity and device control.

How It Works

The core is an Autonomous Agent Engine featuring self-planning, re-evaluation upon failure, compound intent detection, and advanced contact disambiguation. It utilizes a Vision Engine that captures screenshots via the Accessibility API for LLM analysis or falls back to text scraping. A multi-tier memory system (Working, Episodic, Semantic, Procedural) stores context, past results, facts, and user-defined workflows.

Quick Start & Requirements

  • Build & Install: Clone the repository, then run ./gradlew assembleDebug to build a debug APK.
  • Prerequisites: JDK 17+, Android SDK 34 (Android 14).
  • Required Permissions: Accessibility Service (UI automation), Write Settings (toggles), Record Audio (voice commands), Notification Access (auto-reply), Post Notifications (service status).
  • LLM Configuration: API keys for supported providers (Gemini, Groq, Ollama recommended) are configured in settings.
  • Links: GitHub repository: https://github.com/yashab-cyber/opendroid

Highlighted Details

  • Supports over 60 actions across 10 modules, including system controls, communication, productivity, navigation, media, finance, and smart home.
  • Integrates with 12 LLM providers (e.g., Gemini, Claude, GPT-4o, Groq, Ollama) with automatic failover.
  • Features a multi-tier memory system (Working, Episodic, Semantic, Procedural) for context, history, and long-term knowledge.
  • Includes an offline voice interface with wake word detection ("OpenDroid") and support for ElevenLabs premium TTS.

Maintenance & Community

The project is maintained by a solo developer, Yashab Alam. Contributions are welcome via pull requests. Details are available in CONTRIBUTING.md.

Licensing & Compatibility

Licensed under the Apache License, Version 2.0. This license permits commercial use and integration into closed-source projects, provided the license terms are followed.

Limitations & Caveats

Requires significant device permissions (Accessibility, Notification Access, etc.) for full functionality. LLM integration necessitates API keys for cloud providers or local setup (Ollama). Functionality is dependent on the LLM provider's capabilities and availability.

Health Check
Last Commit

2 days ago

Responsiveness

Inactive

Pull Requests (30d)
3
Issues (30d)
1
Star History
359 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.