>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

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

Ejecutando un messenger con agentes de IA en tu teléfono: ejemplo de octo-android

OCTO

En la mayoría de los chats corporativos, los bots solo pueden enviar alertas de sistemas de monitoreo o solicitar aprobaciones de solicitudes de vacaciones. Los desarrolladores de Mininglamp-OSS decidieron ir más allá y crearon la plataforma OCTO. El concepto es sencillo: los gemelos digitales manejan tareas rutinarias y el razonamiento inicial, mientras que los humanos evalúan los resultados y toman decisiones.

El repositorio octo-android es el cliente móvil oficial de esta plataforma. A diferencia de la mayoría de los mensajeros corporativos modernos, los autores no envolvieron una aplicación web en WebView. Se nos ofrece software nativo construido con Kotlin y Java.

Lo que hace interesante la arquitectura y la implementación

El cliente móvil está basado en el proyecto TangSengDaoDaoAndroid y el motor de red WuKongIM. La aplicación se comunica con el backend a través de API REST y mantiene una conexión WebSocket persistente.

Esto es de lo que está construido el lado del cliente:

  • El módulo wukong-sdk maneja el transporte de mensajes en tiempo real.
  • El almacenamiento local está organizado usando Room DB. El historial de chat y los borradores sin caché se guardan directamente en el dispositivo.
  • Los tokens de autorización se almacenan en EncryptedSharedPreferences seguros.
  • Las notificaciones en segundo plano llegan a través del servicio estándar y Firebase Cloud Messaging.

La interfaz está construida siguiendo las directrices de Material 3. Algunas pantallas están escritas en Jetpack Compose, mientras que otras usan diseños XML clásicos. Un paquete separado agent contiene componentes para trabajar con IA: seguimiento del estado de generación, vista previa de llamadas a herramientas y visualización de respuestas en modo streaming.

Cómo es construir y personalizar

Los desarrolladores declaran un principio local-first. Todos los datos pertenecen al usuario, y el backend octo-server en Go puede implementarse fácilmente en tu propio servidor.

Si quieres construir la aplicación desde el código fuente para las necesidades de tu empresa, necesitarás completar una lista de verificación obligatoria. El proyecto se lanza sin secretos integrados ni claves de terceros:

  1. Cambia el applicationId predeterminado de com.example.octo al dominio de tu organización.
  2. Crea un proyecto en Firebase y añade tu propio google-services.json a la carpeta del módulo.
  3. Genera un keystore para firmar el build de release y configúralo en Gradle.
  4. Especifica la dirección de tu instancia octo-server en el archivo config.xml.

Sin completar los primeros tres pasos, Gradle se negará a construir el archivo final. Pero al menos definitivamente no hay puertas traseras de terceros ni certificados de prueba en el código.

git clone https://github.com/Mininglamp-OSS/octo-android.git
cd octo-android

# Сборка отладочной версии через CLI
./gradlew :app:assembleDebug

# Установка на подключенное устройство
./gradlew :app:installDebug

Para una introducción rápida, no necesitas construir el proyecto manualmente. Los autores publican APKs listos para usar en la sección de Releases. Solo instala la aplicación en tu smartphone e ingresa la dirección del servidor durante el inicio de sesión.

Ecosistema y protocolo unificado

El repositorio octo-android por sí solo abre solo parte del sistema general. La lógica del servidor está en octo-server, el administrador de tareas está separado en octo-matter, y la summarización automática de diálogos es manejada por el servicio octo-smart-summary.

Todos los clientes — aplicaciones móviles y la versión de escritorio en React — trabajan con el mismo protocolo y usan claves de localización comunes. Esto simplifica el mantenimiento: la lógica del agente de IA o la visualización del estado de escritura no requieren un trabajo separado para cada plataforma.

A quién le será útil este proyecto

El repositorio será útil para equipos que buscan un messenger abierto con capacidad de autoalojamiento y soporte nativo de agentes LLM. El código fuente octo-android también será útil para desarrolladores de Android. Aquí puedes ver la implementación de la capa de transporte basada en WuKongIM, la organización de caché sin conexión en Room, y una interfaz conveniente para el streaming de respuestas de redes neuronales.

Proyectos relacionados