Skip to main content

A framework for controlling Android devices through LLM agents

Project description

GitHub stars Discord Documentation Benchmark Twitter Follow

DroidRun is a powerful framework for controlling Android and iOS devices through LLM agents. It allows you to automate device interactions using natural language commands. Checkout our benchmark results

  • 🤖 Control Android and iOS devices with natural language commands
  • 🔀 Supports multiple LLM providers (OpenAI, Anthropic, Gemini, Ollama, DeepSeek)
  • 🧠 Planning capabilities for complex multi-step tasks
  • 💻 Easy to use CLI with enhanced debugging features
  • 🐍 Extendable Python API for custom automations
  • 📸 Screenshot analysis for visual understanding of the device
  • 🫆 Execution tracing with Arize Phoenix

📦 Installation

pip install droidrun

🚀 Quickstart

Read on how to get droidrun up and running within seconds in our docs!

🎬 Demo Videos

  1. Shopping Assistant: Watch how DroidRun searches Amazon for headphones and sends the top 3 products to a colleague on WhatsApp.

    Prompt: "Go to Amazon, search for headphones and write the top 3 products to my colleague on WhatsApp."

    Shopping Assistant Demo

  2. Social Media Automation: See DroidRun open X (Twitter) and post "Hello World".

    Prompt: "Open up X and post Hello World."

    Social Media Automation Demo

💡 Example Use Cases

  • Automated UI testing of mobile applications
  • Creating guided workflows for non-technical users
  • Automating repetitive tasks on mobile devices
  • Remote assistance for less technical users
  • Exploring mobile UI with natural language commands

🗺️ Roadmap

🤖 Agent:

  • Improve memory: Enhance context retention for complex multi-step tasks
  • Expand planning capabilities: Add support for more complex reasoning strategies
  • Add Integrations: Support more LLM providers and agent frameworks (LangChain, Agno etc.)

⚙️ Automations:

  • Create Automation Scripts: Generate reusable scripts from agent actions that can be scheduled or shared

☁️ Cloud:

  • Hosted version: Remote device control via web interface without local setup
  • Add-Ons: Marketplace for extensions serving specific use cases
  • Proxy Hours: Cloud compute time with tiered pricing for running automations
  • Droidrun AppStore: Simple installation of Apps on your hosted devices

👥 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Security Checks

To ensure the security of the codebase, we have integrated security checks using bandit and safety. These tools help identify potential security issues in the code and dependencies.

Running Security Checks

Before submitting any code, please run the following security checks:

  1. Bandit: A tool to find common security issues in Python code.

    bandit -r droidrun
    
  2. Safety: A tool to check your installed dependencies for known security vulnerabilities.

    safety scan
    

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

droidrun-0.3.1.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

droidrun-0.3.1-py3-none-any.whl (76.1 kB view details)

Uploaded Python 3

File details

Details for the file droidrun-0.3.1.tar.gz.

File metadata

  • Download URL: droidrun-0.3.1.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for droidrun-0.3.1.tar.gz
Algorithm Hash digest
SHA256 e13747888d956422fa9dfb5cbbc8b0f246ece7e672e8477f14623f1487e08ea1
MD5 90bfb7b5083fdc3dd86d82e52b858853
BLAKE2b-256 574f98529cefeaae8a70ae490df93f9ba2de8db9141fc82e9c8b777e3db9afb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for droidrun-0.3.1.tar.gz:

Publisher: publish.yml on droidrun/droidrun

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file droidrun-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: droidrun-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 76.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for droidrun-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e13548420d7c129ef9d6252e0c1db963dcd970260607a2e140d9ce8b3e672333
MD5 f23120f2da5b56207f332ff45859cd59
BLAKE2b-256 e1d626d507381ebd04cd99d2acc67416d7a6d4355f41d59bcd862b80f58dac30

See more details on using hashes here.

Provenance

The following attestation bundles were made for droidrun-0.3.1-py3-none-any.whl:

Publisher: publish.yml on droidrun/droidrun

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page