Skip to content

AtlasKronos Android v1.0.0 — MVP (IA local offline)

Pre-release
Pre-release

Choose a tag to compare

@Kronos1027 Kronos1027 released this 07 Aug 05:13
· 1 commit to main since this release

🤖 AtlasKronos Android v1.0.0 — MVP

Assistente de IA brasileiro 100% offline para Android, rodando Qwen2.5-0.5B via llama.cpp.

⚠️ LEIA ANTES DE USAR — Estado de testes honesto

Este MVP foi desenvolvido num ambiente sem emulador Android (sem /dev/kvm) e sem dispositivo físico ADB conectado. Portanto:

✅ O que FOI testado de verdade

Teste Resultado
Inferência llama.cpp + Qwen2.5-0.5B no Linux ✓ 25 tokens/s
Function-calling — 4 prompts (whatsapp/chrome/configuracoes/camera) ✓ JSON válido em 4/4
Conversa normal em português ✓ Respondeu corretamente
Build APK debug ✓ 35s, 200MB
24 testes unitários JVM ✓ 24/24 passaram

❌ O que NÃO foi testado (precisa de device Android)

  • ❌ Instalar o APK num emulador/celular
  • ❌ Validar que o llama-cli executa no Android
  • ❌ Medir RAM real com adb shell dumpsys meminfo
  • ❌ Testar 'abre o WhatsApp' via PackageManager de verdade
  • ❌ Validar visualmente o rosto animado

📊 Sobre a meta de 500MB de RAM

Não atingida com qualidade mínima de conversa. Trade-off real:

Configuração RAM estimada Qualidade
Qwen2.5-0.5B Q4_K_M (atual) ~650MB Boa — faz function-calling
Qwen2.5-0.5B Q3_K_S ~510MB Razoável — erra JSON às vezes
TinyLlama-1.1B Q2_K ~400MB Ruim — não segue instruções

O MVP usa Q4_K_M porque sem function-calling confiável, o 'abre o WhatsApp' não funciona.

🎯 Funcionalidades do MVP

  1. ✅ App Android instalável (APK debug, 200MB)
  2. ✅ Chat com contexto (sliding window 20 turns, ~2048 tokens)
  3. ✅ Rosto animado fofo (Canvas, 5 estados: IDLE/LISTENING/THINKING/SPEAKING/HAPPY)
  4. ✅ Function-calling: abrir apps por comando de texto
  5. ✅ Memória local: fatos extraídos do chat são persistidos (Room) e injetados no system prompt
  6. ✅ HUD técnico: modelo + RAM em tempo real + tokens/s
  7. ✅ Tema deep-tech idêntico ao portfólio NATSKY

📦 Instruções de uso

1. Baixar o modelo GGUF (NÃO vem no APK — 380MB)

O APK não inclui o modelo (ficaria gigante). Baixe manualmente:

curl -L -o qwen2.5-0.5b-instruct-q4_k_m.gguf \
  https://huggingface.co/bartowski/Qwen2.5-0.5B-Instruct-GGUF/resolve/main/Qwen2.5-0.5B-Instruct-Q4_K_M.gguf

adb push qwen2.5-0.5b-instruct-q4_k_m.gguf \
  /sdcard/Android/data/com.kronos1027.atlaskronos.debug/files/models/

Ou coloque em /sdcard/Download/atlaskronos/models/.

2. Instalar o APK

adb install AtlasKronos-v1.0.0-debug.apk

3. Testar

  • "oi! quem é você?" → conversa normal
  • "abre o whatsapp" → abre o WhatsApp
  • "abre o chrome" → abre o Chrome
  • "abre as configurações" → abre Settings
  • "abre a câmera" → abre a câmera
  • "meu nome é Darlan" → aprende seu nome

📋 Checklist de aceite

Item Status
🧪 App instala e abre sem crashar ❌ NÃO TESTADO (sem device)
🧪 Conversa offline com contexto ⚠️ PARCIAL (inferência validada no Linux)
🧪 Rosto animado troca de estado ⚠️ PARCIAL (código compilou)
🧪 3+ comandos 'abrir app' ⚠️ PARCIAL (4/4 JSON no Linux; Intent não testado)
🧪 RAM real medida ❌ NÃO TESTADO (estimativa ~650MB)
🧪 Fato influencia resposta ⚠️ PARCIAL (lógica implementada)
Commit/autoria corretos ✓ OK

🏗️ Stack

  • Linguagem: Java 17 (com Java 21 features via desugaring)
  • UI: Views XML + ConstraintLayout + Canvas (sem Compose)
  • DB: Room 2.6.1 (conversations + user_facts)
  • LLM: llama.cpp b10298 (binário ARM64 pré-compilado)
  • Modelo: Qwen2.5-0.5B-Instruct Q4_K_M (379MB GGUF)
  • Tema: Material 3 dark + paleta deep-tech

💜 Créditos

Feito por Darlan (NATSKY)@Kronos1027

⚠️ Aviso

O app usa QUERY_ALL_PACKAGES para listar apps instalados (necessário para function-calling). Esta permissão é restrita na Play Store para apps públicos, mas é aceita em instalações via APK (sideload).

📄 Licença

MIT License.