>_ DevTrendspt

Idioma

Início

Linguagens

Seções

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

Executando um Mensageiro com Agentes de IA no Seu Telefone: Exemplo octo-android

OCTO

Na maioria dos chats corporativos, bots só conseguem enviar alertas de sistemas de monitoramento ou solicitar aprovações de pedidos de férias. Os desenvolvedores da Mininglamp-OSS decidiram ir além e criaram a plataforma OCTO. O conceito é direto: os gêmeos digitais lidam com tarefas rotineiras e raciocínio inicial, enquanto os humanos avaliam os resultados e tomam decisões.

O repositório octo-android é o cliente móvel oficial desta plataforma. Diferentemente da maioria dos mensageiros corporativos modernos, os autores não envolveram um aplicativo web em WebView. Temos à disposição um software nativo construído com Kotlin e Java.

O que torna a arquitetura e implementação interessantes

O cliente móvel é baseado no projeto TangSengDaoDaoAndroid e no motor de rede WuKongIM. O aplicativo se comunica com o backend via API REST e mantém uma conexão WebSocket persistente.

Aqui está do que o lado do cliente é composto:

  • O módulo wukong-sdk lida com o transporte de mensagens em tempo real.
  • O armazenamento local é organizado usando Room DB. O histórico de chat e rascunhos não salvos em cache são salvos diretamente no dispositivo.
  • Tokens de autorização são armazenados em EncryptedSharedPreferences seguros.
  • Notificações em segundo plano chegam através do serviço padrão e Firebase Cloud Messaging.

A interface é construída seguindo as diretrizes do Material 3. Algumas telas são escritas em Jetpack Compose, enquanto outras usam layouts XML clássicos. Um pacote separado agent contém componentes para trabalhar com IA: rastreamento de status de geração, visualização de chamadas de ferramentas e visualização de respostas em modo streaming.

Como é construir e personalizar

Os desenvolvedores declaram um princípio local-first. Todos os dados pertencem ao usuário, e o backend octo-server em Go pode ser facilmente implantado em seu próprio servidor.

Se você quiser compilar o aplicativo a partir do código-fonte para as necessidades da sua empresa, será necessário completar uma lista de verificação obrigatória. O projeto é lançado sem segredos embutidos ou chaves de terceiros:

  1. Altere o applicationId padrão de com.example.octo para o domínio da sua organização.
  2. Crie um projeto no Firebase e adicione seu próprio google-services.json à pasta do módulo.
  3. Gere um keystore para assinar o build de release e configure-o no Gradle.
  4. Especifique o endereço da instância octo-server no arquivo config.xml.

Sem completar os três primeiros passos, o Gradle se recusará a compilar o arquivo final. Mas pelo menos não há backdoors de terceiros ou certificados de teste no código.

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

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

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

Para uma introdução rápida, você não precisa compilar o projeto manualmente. Os autores publicam APKs prontos na seção Releases. Basta instalar o aplicativo no seu smartphone e inserir o endereço do servidor durante o login.

Ecossistema e protocolo unificado

O repositório octo-android por si só abre apenas parte do sistema geral. A lógica do servidor está em octo-server, o gerenciador de tarefas está separado em octo-matter, e o resumo automático de diálogos é tratado pelo serviço octo-smart-summary.

Todos os clientes — aplicativos móveis e a versão desktop em React — funcionam no mesmo protocolo e usam chaves de localização comuns. Isso simplifica a manutenção: a lógica do agente de IA ou a exibição de status de digitação não requerem reformulação separada para cada plataforma.

Para quem este projeto será útil

O repositório será útil para equipes que buscam um mensageiro aberto com capacidade de auto-hospedagem e suporte nativo a agentes LLM. O código-fonte octo-android também será útil para desenvolvedores Android. Aqui você pode ver a implementação da camada de transporte baseada em WuKongIM, organização de cache offline no Room e uma interface conveniente para respostas de streaming de redes neurais.

Projetos relacionados