Skip to content

stiven-pm/agenticMP

Repository files navigation

🎼 Symphony AI Local (ejemplo / agentic MP)

Symphony AI Local es una app Flutter de referencia: asistente conversacional con LLM on-device (llama.cpp), enrutado de herramientas (búsqueda, archivos, URLs, etc.) y flujo de login placeholder pensado para sustituir por auth real.

✨ Vista de diseño

🎨 Diseño UI: implementado en código Flutter (Material 3 + tema propio en lib/app_theme.dart). No hay prototipo Figma enlazado en este ejemplo; podés enlazar el tuyo aquí.

👉 Placeholder: [Tu enlace Figma o Penpot]


🚀 ¿Qué incluye este proyecto?

  • 📱 Cliente multiplataforma Flutter (Android, Linux, Windows; iOS/macOS en scaffold estándar)
  • 🧠 Motor local: descarga de modelo GGUF (URL de ejemplo en código) y servidor llama.cpp embebido (llama-server / JNI en Android)
  • 🤖 Capa agente: ChatAssistantService + CommandRouter (planificación por JSON y ejecución de herramientas sin alucinar rutas)
  • 🔐 Auth de ejemplo: EmptyAuthService (persistencia local con SharedPreferences; reemplazar por OAuth/OIDC cuando toque)
  • 🛠️ Herramientas por SO: system_tools (Linux, Windows, Android, iOS) y comandos tipo /http-get, búsqueda, WhatsApp Web, etc.

🧱 Estructura del repositorio

ai/
├── lib/
│   ├── main.dart                    # AuthGate, permisos, shell
│   ├── app_theme.dart
│   ├── llama_service.dart           # Descarga GGUF + elección de motor
│   ├── llama_engine_android.dart
│   ├── llama_engine_desktop.dart
│   ├── models/
│   ├── services/
│   │   ├── auth_service.dart
│   │   ├── chat_assistant_service.dart
│   │   ├── commands/command_router.dart
│   │   ├── permissions/
│   │   └── system_tools/
│   └── ui/                          # screens + widgets
├── android/app/src/main/jniLibs/    # .so llama/ggml (ejemplo compilado)
├── assets/                          # binarios opcionales (ver .gitignore)
├── pubspec.yaml
└── .gitignore                       # secretos, .gguf, assets/bin/, pasos locales

⚡ Puesta en marcha rápida

  1. Requisitos: Flutter SDK estable, en Android el entorno SDK/NDK según tu máquina.
  2. Dependencias:
    • flutter pub get
  3. Ejecutar (ejemplo Linux):
    • flutter run -d linux
    • En Android: flutter run -d <device> (la primera vez puede tardar por la descarga del modelo ~2 GB).
  4. Notas:
    • El nombre Symphony y la URL del modelo en llama_service.dart son de ejemplo; ajustalos a tu producto y política de licencias del modelo.
    • No subas claves: usá .env / --dart-define si más adelante conectás APIs remotas (ver .gitignore).

💚 Propósito

Este repo sirve como plantilla agentic móvil/desktop: conversación local, herramientas deterministas y UI lista para iterar. El branding Symphony es ilustrativo; renombrá strings en MaterialApp, pantallas y prompts cuando definas tu producto final.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors