>_ DevTrendspt

Idioma

Início

Linguagens

Seções

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarcados Segurança
Kotlin

Um Agente de IA Autônomo no Seu Próprio Telefone — Analisando o OpenDroid

Os assistentes móveis tradicionais como o Google Assistente ou a Siri há muito atingiram um limite. São razoáveis para definir timers e abrir apps, mas tente pedir ao seu telefone para executar uma sequência de ações relacionadas: verificar a previsão do tempo, enviar uma mensagem para sua esposa no WhatsApp e definir um alarme. Geralmente, você recebe uma sugestão para pesquisar na web ou um erro de reconhecimento.

O desenvolvedor Yashab Alam decidiu abordar o problema de forma diferente e lançou o projeto OpenDroid no GitHub. É um agente de IA autônomo totalmente open-source para Android que transforma seu smartphone em um ambiente de execução de LLM.

OpenDroid Logo

Por Que Precisamos de Outro Assistente

A ideia principal por trás do OpenDroid é dar à rede neural controle direto sobre o dispositivo através dos serviços padrão do Android. Em vez de modelos simples, o sistema usa um ciclo completo de planejamento e execução.

Quando você dá um comando complexo, o agente o decompõe em subtarefas, verifica os resultados de cada etapa e reconstrói o plano se algo der errado. O código-fonte do projeto é completamente aberto, e você escolhe qual modelo usar — baseado em nuvem ou totalmente local.

O projeto já acumulou mais de 600 estrelas no GitHub e está atraindo atenção com sua sólida arquitetura baseada em Kotlin.

Como o Agente Funciona nos Bastidores

A arquitetura do OpenDroid segue os princípios da Clean Architecture com injeção de dependência através do Dagger-Hilt. Texto e lógica são separados em módulos claros, e a interface é escrita em 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

Internamente, vários módulos especializados trabalham, cada um responsável por sua própria área de trabalho.

Planejador de Ações e Tratamento de Erros

O módulo PlanManager processa comandos recebidos. Aceita texto ou voz, envia para a IA e recebe um plano sequencial como saída.

Se o comando continha múltiplas intenções, por exemplo "abrir WhatsApp e escrever uma mensagem", o motor divide corretamente em etapas considerando dependências. Se a internet cair ou um app travar durante a execução, AgentLoop intercepta o erro e tenta realizar uma ação alternativa.

Entendendo a Tela Através da Accessibility API

Um dos componentes mais interessantes é o Vision Engine. Para analisar o que está acontecendo na tela, o OpenDroid tira screenshots através de serviços de acessibilidade (Accessibility API) e os envia para uma rede neural multimodal.

Em dispositivos mais antigos ou ao trabalhar com modelos locais leves, o assistente alterna para parsing da Accessibility tree, extraindo a estrutura de texto dos elementos UI sem processamento de imagem.

OpenDroid Interface Planner Memory System Alarm Management

Quatro Níveis de Memória

O contexto humano raramente cabe em uma única conversa. O OpenDroid usa um sistema de armazenamento de informações em quatro níveis:

  • Memória de trabalho gerencia o contexto atual da tarefa sendo executada.
  • Episódica armazena o histórico de execuções passadas e seus resultados.
  • Semântica lembra fatos sobre o usuário e suas preferências.
  • Procedural contém macros do usuário e cenários prontos.

Todas as informações locais são escritas em um banco de dados Room com sete tabelas, e segredos como chaves de API são armazenados no Android Keystore com criptografia AES-GCM.

Suporte para 12 Provedores de IA

O OpenDroid não amarra desenvolvedores a um serviço específico. O app suporta 12 provedores de rede neural com cadeias de fallback configuráveis. Se o modelo principal não responder, a requisição vai automaticamente para o próximo provedor.

A lista inclui Google Gemini, Anthropic Claude, OpenAI, Groq, DeepSeek, Mistral, OpenRouter, Cohere, Together AI e GitHub Copilot.

Para entusiastas de privacidade, há duas opções de operação local:

  1. Conectar a um servidor Ollama local na sua rede doméstica.
  2. Gerenciador LiteRT-LM integrado que pode baixar e executar modelos diretamente no seu smartphone em modo offline.

O Que o Assistente Pode Fazer na Prática

O repositório inclui mais de 60 ações prontas. Elas cobrem quase todos os cenários de uso diário do smartphone:

  • Configurações do sistema: alternar Wi-Fi, Bluetooth, lanterna, modo Não Perturbe, ajustar brilho e volume.
  • Comunicação: chamadas, envio de SMS, mensagens no WhatsApp, criação de rascunhos de e-mail.
  • Navigação e transporte: planejamento de rotas no Google Maps, chamada de táxi.
  • Finanças: transferências rápidas, divisão de contas.
  • Mídia: controle de reprodução de música, busca no YouTube, tirar fotos com a câmera.

Como Compilar e Executar o Projeto

Compilar o projeto requer Android SDK 35 (Android 15) e JDK 21. A versão do JDK é estritamente fixada na configuração do Gradle.

O build é padrão:

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

./gradlew assembleDebug

O arquivo APK pronto estará no diretório app/build/outputs/apk/debug/app-debug.apk.

Na primeira execução, o app vai pedir para conceder várias permissões do sistema. Isso inclui permissão para Accessibility Service, acesso a notificações e gravação de áudio para rastrear a frase de ativação.

Depois disso, basta ir para as configurações e inserir a chave de API do seu provedor escolhido ou especificar o endereço do servidor Ollama.

Vale a Pena Estudar o Código do OpenDroid

O projeto será útil para desenvolvedores Android que querem entender como criar agentes de IA autônomos. Aqui você pode ver uma implementação real de ciclos de planejamento complexos e parsing de UI diretamente em um dispositivo móvel.

As desvantagens incluem o alto nível de permissões necessárias para operação, o que é bastante natural para essa classe de utilitários. Além disso, capacidades completas de visão de tela requerem modelos de flagship ou hardware potente de smartphone.

O OpenDroid demonstra para onde a automação mobile está caminhando e fornece uma base arquitetural pronta para suas próprias experimentações.

Projetos relacionados