>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
Kotlin

Un Agente de IA Autónomo Directamente en Tu Teléfono — Desglosando OpenDroid

Los asistentes móviles tradicionales como Google Assistant o Siri hace tiempo que alcanzaron un techo. Son decentes para configurar temporizadores y abrir aplicaciones, pero intenta pedirle a tu teléfono que realice una cadena de acciones relacionadas: consultar el pronóstico del clima, enviar un mensaje a tu esposa por WhatsApp y configurar una alarma. Por lo general, obtienes una sugerencia para buscar en la web o un error de reconocimiento.

El desarrollador Yashab Alam decidió abordar el problema de manera diferente y lanzó el proyecto OpenDroid en GitHub. Es un agente de IA autónomo completamente de código abierto para Android que convierte tu smartphone en un entorno de ejecución de LLM.

OpenDroid Logo

¿Por Qué Se Necesita Otro Asistente

La idea principal detrás de OpenDroid es darle a la red neuronal control directo sobre el dispositivo a través de los servicios estándar de Android. En lugar de plantillas simples, el sistema utiliza un ciclo completo de planificación y ejecución.

Cuando le das un comando complejo, el agente lo descompone en subtareas, verifica los resultados de cada paso y reconstruye el plan si algo sale mal. El código fuente del proyecto es completamente abierto, y tú eliges qué modelo usar — basado en la nube o completamente local.

El proyecto ya ha recopilado más de 600 estrellas en GitHub y está llamando la atención con su sólida arquitectura basada en Kotlin.

Cómo Funciona el Agente Internamente

La arquitectura de OpenDroid sigue los principios de Clean Architecture con inyección de dependencias a través de Dagger-Hilt. El texto y la lógica están separados en módulos claros, y la interfaz está escrita en 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

En su interior trabajan varios motores especializados, cada uno responsable de su propia área de trabajo.

Planificador de Acciones y Manejo de Errores

El módulo PlanManager maneja los comandos entrantes. Acepta texto o voz, lo envía a la IA y recibe como salida un plan secuencial.

Si el comando contenía múltiples intenciones, por ejemplo "abrir WhatsApp y escribir un mensaje", el motor lo descompone correctamente en pasos considerando las dependencias. Si la conexión a internet se cae o una aplicación falla durante la ejecución, AgentLoop intercepta el error e intenta realizar una acción alternativa.

Comprensión de Pantalla a través de Accessibility API

Uno de los componentes más interesantes es el Vision Engine. Para analizar lo que está sucediendo en la pantalla, OpenDroid toma capturas de pantalla a través de servicios de accesibilidad (Accessibility API) y las envía a una red neuronal multimodal.

En dispositivos más antiguos o cuando se trabaja con modelos locales ligeros, el asistente cambia al análisis del árbol de Accessibility, extrayendo la estructura de texto de los elementos de la interfaz sin procesamiento de imágenes.

OpenDroid Interface Planner Memory System Alarm Management

Cuatro Niveles de Memoria

El contexto humano rara vez cabe en un solo diálogo. OpenDroid utiliza un sistema de almacenamiento de información de cuatro niveles:

  • La memoria de trabajo maneja el contexto actual de la tarea que se está ejecutando.
  • La episódica almacena el historial de ejecuciones pasadas y sus resultados.
  • La semántica recuerda hechos sobre el usuario y sus preferencias.
  • La procedimental contiene macros del usuario y escenarios listos para usar.

Toda la información local se escribe en una base de datos Room con siete tablas, y los secretos como las claves API se almacenan en Android Keystore con cifrado AES-GCM.

Soporte para 12 Proveedores de IA

OpenDroid no ata a los desarrolladores a un servicio específico. La aplicación es compatible con 12 proveedores de redes neuronales con cadenas de respaldo configurables. Si el modelo principal no responde, la solicitud se envía automáticamente al siguiente proveedor.

La lista incluye Google Gemini, Anthropic Claude, OpenAI, Groq, DeepSeek, Mistral, OpenRouter, Cohere, Together AI y GitHub Copilot.

Para los entusiastas de la privacidad, hay dos opciones de operación local:

  1. Conectarse a un servidor Ollama local en tu red doméstica.
  2. El administrador LiteRT-LM integrado que puede descargar y ejecutar modelos directamente en tu smartphone en modo offline.

Lo que el Asistente Puede Hacer en la Práctica

El repositorio incluye más de 60 acciones listas para usar. Cubren casi todos los escenarios de uso diario del smartphone:

  • Configuración del sistema: alternar Wi-Fi, Bluetooth, linterna, modo No molestar, ajustar brillo y volumen.
  • Comunicación: llamadas, envío de SMS, mensajes de WhatsApp, creación de borradores de correo electrónico.
  • Navegación y transporte: planificación de rutas en Google Maps, llamar a un taxi.
  • Finanzas: transferencias rápidas, dividir cuentas.
  • Medios: controlar la reproducción de música, buscar en YouTube, tomar fotos con la cámara.

Cómo Compilar y Ejecutar el Proyecto

Compilar el proyecto requiere Android SDK 35 (Android 15) y JDK 21. La versión del JDK está estrictamente fijada en la configuración de Gradle.

La compilación es estándar:

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

./gradlew assembleDebug

El archivo APK listo estará en el directorio app/build/outputs/apk/debug/app-debug.apk.

En el primer inicio, la aplicación te pedirá que concedas varios permisos del sistema. Estos incluyen permiso para Accessibility Service, acceso a notificaciones y grabación de audio para rastrear la frase de activación.

Después de eso, solo necesitas ir a configuración e ingresar la clave API de tu proveedor elegido o especificar la dirección del servidor Ollama.

¿Vale la Pena Estudiar el Código de OpenDroid

El proyecto será útil para desarrolladores Android que quieran entender cómo crear agentes de IA autónomos. Aquí puedes ver una implementación en vivo de ciclos de planificación complejos y análisis de interfaz directamente en un dispositivo móvil.

Las desventajas incluyen el alto nivel de permisos requeridos para la operación, lo cual es bastante natural para esta clase de utilidades. Además, las capacidades completas de visión de pantalla requieren modelos insignia o hardware potente de smartphone.

OpenDroid demuestra hacia dónde se dirige la automatización móvil y proporciona una base arquitectónica lista para tus propios experimentos.

Proyectos relacionados