Автономный ИИ-агент прямо в вашем телефоне — разбираем OpenDroid

13 авг 2026
604
84
7
4 недели

Обычные мобильные ассистенты вроде Google Assistant или Siri уже давно уперлись в потолок. Они неплохо ставят таймеры и открывают приложения, но попробуйте попросить телефон сделать цепочку связанных действий: проверить прогноз погоды, отправить жене сообщение в WhatsApp и завести будильник. Обычно в ответ получаешь либо предложение поискать в интернете, либо ошибку распознавания.

Разработчик Яшаб Алам (Yashab Alam) решил подойти к проблеме иначе и выложил на GitHub проект OpenDroid. Это полностью открытый автономный ИИ-агент для Android, который превращает смартфон в исполняемую среду для LLM.

OpenDroid Logo

Зачем нужен ещё один ассистент

Главная идея OpenDroid — дать нейросеть прямое управление устройством через стандартные службы Android. Вместо простых шаблонов система использует полноценный цикл планирования и исполнения действий.

Когда вы даёте сложную команду, агент декомпозирует её на подзадачи, проверяет результаты каждого шага и перестраивает план, если что-то пошло не так. При этом исходный код проекта полностью открыт, а вы сами выбираете, какую модель использовать — облачную или полностью локальную.

Реклама

Проект набрал уже больше 600 звёзд на GitHub и привлекает внимание хорошей архитектурой на Kotlin.

Как устроен агент под капотом

Архитектура OpenDroid выстроена по принципам Clean Architecture с внедрением зависимостей через Dagger-Hilt. Текст и логика разнесены по чётким модулям, а интерфейс написан на Jetpack Compose.

com.opendroid.ai

├── accessibility/      Автоматизация сторонних приложений
├── actions/            60+ исполнителей действий в 10 модулях
├── core/
   ├── agent/          AgentLoop, PlanManager, IntentClassifier
   ├── llm/            Провайдеры LLM, цепочки фоллбеков, промпты
   ├── memory/         4-уровневая система памяти
   └── voice/          Детекция активационного слова, STT, TTS
├── data/               База данных Room и хранилище DataStore
└── ui/                 16 экранов на Jetpack Compose

Внутри работает несколько специализированных движков, каждый из которых отвечает за свой участок работы.

Планировщик действий и реакция на ошибки

За обработку входящих команд отвечает модуль PlanManager. Он принимает текст или голос, отправляет его в ИИ и получает на выходе последовательный план.

Если команда содержала несколько намерений, например «открой WhatsApp и напиши сообщение», движок корректно разобьёт её на шаги с учётом зависимостей. Если на этапе отправки пропал интернет или приложение вылетело, AgentLoop перехватит ошибку и попробует выполнить альтернативное действие.

Понимание экрана через Accessibility API

Один из самых интересных компонентов — Vision Engine. Для анализа происходящего на экране OpenDroid делает скриншоты через службы доступности (Accessibility API) и отправляет их мультимодальной нейросети.

На старых устройствах или при работе с лёгкими локальными моделями ассистент переключается на парсинг дереваAccessibility, вытаскивая текстовую структуру элементов UI без обработки картинок.

Интерфейс OpenDroid Планировщик Система памяти Управление будильником

Четыре уровня памяти

Человеческий контекст редко умещается в рамках одного диалога. В OpenDroid задействована четырёхуровневая система хранения информации:

  • Рабочая память отвечает за текущий контекст выполняемой задачи.
  • Эпизодическая хранит историю прошлых запусков и их результаты.
  • Семантическая запоминает факты о пользователе и его предпочтения.
  • Процедурная содержит пользовательские макросы и готовые сценарии.

Вся локальная информация записывается в базовую БД Room с семью таблицами, а секреты вроде API-ключей хранятся в Android Keystore с шифрованием AES-GCM.

Поддержка 12 провайдеров ИИ

OpenDroid не привязывает разработчика к конкретному сервису. Приложение поддерживает 12 провайдеров нейросетей с возможностью настройки цепочки сбоев. Если приоритетная модель не отвечает, запрос автоматически уходит следующему провайдеру.

В список входят Google Gemini, Anthropic Claude, OpenAI, Groq, DeepSeek, Mistral, OpenRouter, Cohere, Together AI и GitHub Copilot.

Для ценителей приватности есть два варианта локальной работы:

  1. Подключение к локальному серверу Ollama в домашней сети.
  2. Встроенный менеджер LiteRT-LM, который умеет скачивать и запускать модели прямо на смартфоне в офлайн-режиме.

Что ассистент умеет выполнять на практике

Репозиторий включает более 60 готовых экшенов. Они охватывают почти все бытовые сценарии использования смартфона:

  • Системные настройки: переключение Wi-Fi, Bluetooth, фонарика, режима «Не беспокоить», регулировка яркости и громкости.
  • Коммуникация: звонки, отправка SMS, сообщений в WhatsApp, создание черновиков писем.
  • Навигация и транспорт: построение маршрутов в Google Maps, вызов такси.
  • Финансы: быстрые переводы, разделение счетов.
  • Мультимедиа: управление воспроизведением музыки, поиск на YouTube, съемка на камеру.

Как собрать и запустить проект

Для сборки проекта понадобятся Android SDK 35 (Android 15) и JDK 21. Выбор JDK строго фиксирован в конфигурации Gradle.

Сборка стандартная:

git clone https://github.com/yashab-cyber/opendroid.git
cd opendroid

./gradlew assembleDebug

Готовый APK-файл будет лежать в директории app/build/outputs/apk/debug/app-debug.apk.

При первом запуске приложение попросит выдать несколько системных разрешений. Среди них разрешение на работу Accessibility Service, доступ к уведомлениям и запись аудио для отслеживания фразы активации.

После этого остается зайти в настройки и ввести API-ключ нужного провайдера или указать адрес сервера Ollama.

Стоит ли изучать код OpenDroid

Проект будет полезен Android-разработчикам, которые хотят разобраться в создании автономных ИИ-агентов. Здеь можно посмотреть на живую реализацию сложного цикла планирования и парсинга UI прямо на мобильном устройстве.

Из минусов стоит отметить высокий уровень разрешений, требуемый для работы, что вполне естественно для подобного класса утилит. Также для полноценной работы экранного зрения понадобятся флагманские модели или мощное железо смартфона.

OpenDroid демонстрирует, куда двигается мобильная автоматизация, и даёт готовую архитектурную базу для собственных экспериментов.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.