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 文件下载、验证(SHA-256)并加载 LiteRT-LM 模型,将凭据安全存储在 Android Keystore 中。
  • 设备控制 – 超过 60 个操作,涵盖系统开关、通信(WhatsApp、Telegram、SMS、电子邮件)、日历、提醒、导航、媒体、支付和智能家居设备。
  • 视觉引擎 – 通过 Accessibility API 捕获屏幕截图(或回退到无障碍树),并将其提供给支持视觉的 LLM,用于屏幕理解和“阅读并记住”笔记提取。
  • 个人知识图谱 – 四层记忆系统(临时计划、长期事实、学习模式、加密敏感数据),跨会话持久化。
  • 语音界面 – 离线唤醒词检测(“OpenDroid”)、语音转文本,以及可选的 ElevenLabs TTS 用于语音响应。
  • 多提供商 LLM 支持 – 集成 13 个云或本地提供商(Gemini、Claude、OpenAI、Groq、Ollama 等),如果主要模型失败,则自动回退。
  • 高级 UI – 使用 Jetpack Compose 构建,具有玻璃拟态风格、深色模式和每个 LLM 的实时延迟读数。

架构概览

  • 干净架构,使用 Dagger-Hilt 依赖注入。
  • 核心模块(agent、llm、memory、security、service、voice)。
  • 操作包 包含 60 多个 Android 功能执行器。
  • 数据层 使用 Room(7 个 DAO)和 DataStore 进行持久化设置。
  • UI 层(ui)包含 Compose 屏幕、视图模型和可重用组件。

入门指南

  1. 安装 JDK 21 和 Android SDK 35(Android 15)。
  2. 克隆仓库并构建调试 APK:
    git clone https://github.com/yashab-cyber/opendroid.git
    cd opendroid
    ./gradlew assembleDebug   # APK 位于 app/build/outputs/apk/debug/app-debug.apk
    
  3. 安装 APK,授予所需权限(无障碍、写入设置、音频、通知访问、发布通知)。
  4. 打开设置 → LLM 提供商,添加 API 密钥(Gemini、Groq、Ollama 等)。
  5. 说出“OpenDroid”或输入命令开始交互。

安全性 – API 密钥使用 Android Keystore(AES-GCM)加密存储。模型文件在加载前进行哈希验证。SECURITY.md 概述了负责任披露。

许可证 – Apache 2.0(宽松,允许商业使用和修改)。


底线 – OpenDroid 将新兴的自主 AI 代理类别带到日常 Android 手机上,让用户能够使用自然语言自动化复杂的多步骤任务,同时将数据和模型执行大部分保留在设备端。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目