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 屏幕、视图模型和可重用组件。
入门指南
- 安装 JDK 21 和 Android SDK 35(Android 15)。
- 克隆仓库并构建调试 APK:
git clone https://github.com/yashab-cyber/opendroid.git cd opendroid ./gradlew assembleDebug # APK 位于 app/build/outputs/apk/debug/app-debug.apk - 安装 APK,授予所需权限(无障碍、写入设置、音频、通知访问、发布通知)。
- 打开设置 → LLM 提供商,添加 API 密钥(Gemini、Groq、Ollama 等)。
- 说出“OpenDroid”或输入命令开始交互。
安全性 – API 密钥使用 Android Keystore(AES-GCM)加密存储。模型文件在加载前进行哈希验证。SECURITY.md 概述了负责任披露。
许可证 – Apache 2.0(宽松,允许商业使用和修改)。
底线 – OpenDroid 将新兴的自主 AI 代理类别带到日常 Android 手机上,让用户能够使用自然语言自动化复杂的多步骤任务,同时将数据和模型执行大部分保留在设备端。
相关
- 项目
- 项目
- 项目
- 项目
- 项目