Bella es un proyecto open-source (licencia MIT) que busca algo más que “un chatbot web”: su objetivo es construir una compañera digital con voz, emociones, memoria y una personalidad en evolución. A nivel práctico, ya funciona como una aplicación web con ASR (reconocimiento de voz vía Whisper), interfaz visual animada, diálogo con LLM y una arquitectura preparada para TTS (síntesis de voz), memoria y estado emocional.
Lo esencial (TL;DR)
- Stack: Node.js + Express (backend) / HTML5 + CSS3 + JS nativo (frontend).
- IA local: Whisper (ASR) + LLM/TTS descargables; permite trabajar sin depender de nube (según modelos).
- Interfaz: web, con animaciones, “fade” de vídeos, diseño responsive y controles simples.
- Uso típico: hablar con Bella por voz y texto, recibir respuestas “más naturales” (prompting cuidado), y ver evolución futura hacia memoria, emociones y proactividad.
- Licencia: MIT (puedes usarlo, modificarlo y desplegarlo libremente, respetando la licencia).
Características implementadas hoy
- 🎤 Voz a texto (ASR): integración con Whisper para que Bella “escuche”.
- 🖼️ Expresión visual: reproducción de múltiples vídeos con transiciones suaves.
- 🧭 UI elegante: carga con animación, diseño responsive, controles simples.
- 🧠 Núcleo LLM optimizado: plantilla de prompts más elaborada (personalidad y estilos), parámetros ajustados (temperatura, top_p, penalización de repetición…) y limpieza de respuestas para que el diálogo sea más fluido.
- 🌐 Servidor web integrado: HTTP + CORS; “arranca y navega a localhost”.
- 📦 Gestor de modelos: script para descargar y organizar los modelos de IA.
- 💝 Afinidad/emoción básicos: primer esqueleto de feedback emocional.
Preparado pero desactivado (se enciende pronto)
- 🗣️ TTS (texto a voz): modelos descargados y listos para activación.
- 🧠 “Thinking Engine” multimodelo: capa para conectar distintos LLM.
- ❤️ Sistema emocional: infraestructura base para análisis y estado afectivo.
Roadmap (resumen rápido)
- Percepción (85%): ASR, UI visual, motor de diálogo mejorado, TTS en integración.
- Identidad generativa: personalidad dinámica, memoria corto/largo plazo, estado emocional.
- Compañía activa: predicción de intención, interacción proactiva y auto-evolución.
Requisitos
- Node.js 22.16.0 o superior.
- Navegador moderno con Web Speech API.
- Permisos de micrófono (para hablar con Bella).
- Sistema con algo de espacio en disco (los modelos de IA pesan).
Instalación y arranque (paso a paso)
# 1) Clona el repositorio
git clone https://github.com/GRISHM7890/Bella.git
cd Bella
# 2) Instala dependencias
npm install
# 3) Descarga los modelos (ASR/LLM/TTS) de forma automatizada
npm run download
# 4) Arranca el servidor
npm start
- Abre http://localhost:8081 en el navegador.
- Concede permiso de micrófono si quieres interacción por voz.
Consejo: si usas Windows y tienes conflictos con micrófono/puertos, prueba a ejecutar el terminal “como administrador” o revisa el puerto 8081 (cámbialo si está ocupado).
Estructura del proyecto (orientativa)
Bella/
├─ index.html # UI
├─ style.css # estilos
├─ main.js # lógica principal de UI
├─ core.js # motor AI (prompting, parámetros, pipeline)
├─ script.js # interacción UI/AI
├─ download_models.js # script de descarga de modelos
├─ models/ # modelos (ASR/LLM/TTS)
├─ providers/ # conectores de servicios IA (local/nube)
├─ videos/ # recursos visuales
├─ PRD.md / Features.md / Development.md # docs del producto
└─ package.json
¿Qué hace diferente a Bella?
- “AI-native”: no es “app con IA pegada”, sino un diseño donde IA es el centro (mente, memoria, emociones, expresión).
- Local-first: posibilidad de ejecutar modelos en local (privacidad) y controlar el pipeline completo.
- Arquitectura elegante: módulos desacoplados, patrón Singleton para el BellaAI core, eventos para orquestar UX y motor cognitivo.
- Dialogo cuidado: plantillas de prompting trabajadas para fijar una personalidad coherente (estilo tipo “asistente cálido/Siri-like” pero configurable).
Flujo de interacción (simplificado)
- Percepción
- Voz → Whisper (ASR) → Texto.
- (Planeado) Visión facial → emoción/gesto → features semánticas.
- Cognición
- Texto usuario + memoria (futura) + estado emocional (futuro) → LLM.
- Plantilla de sistema + few-shot (si aplica) + parámetros óptimos → respuesta.
- Expresión
- Texto respuesta → (TTS, pronto) voz sintética + vídeo/animación.
- UI muestra afinidad/emoción (básico hoy, ampliado en roadmap).
Modos de despliegue
- Desarrollo local (lo recomendado para empezar).
- Servidor privado: detrás de Nginx con HTTPS y WSS si activas WebSocket/streaming.
- Docker (no oficial aún): fácil de contenerizar (Node + assets + volumen
models/
). - PaaS: puedes subirlo a un VPS; recuerda que los modelos pesan y conviene almacenamiento persistente.
Privacidad y recursos (lo que debes saber)
- Modelos locales = menos datos enviados a terceros (privacidad al alza).
- El coste en CPU/GPU dependerá del tamaño de modelos (Whisper / LLM / TTS).
- Si conectas APIs en la nube (providers/), revisa términos de uso y trazas de datos.
- Audio: permisos de micrófono solo en el navegador; desactívalo cuando no lo uses.
Personalización (rápida)
- Voz/tono: cuando actives TTS, elige voz/modelo (grave, cálida, neutra…).
- Temperatura / top_p: baja para respuestas más sobrias; sube para creatividad.
- Prompts de sistema: define personalidad (formal, cariñosa, técnica, divertida…).
- Vídeos UI: sustituye recursos en
/videos
para dar “expresión propia”.
Comparativa orientativa con otras “companions” open-source
Proyecto | Licencia | Voz (ASR/TTS) | Emoción/Personalidad | Memoria | Local-first | Dificultad |
---|---|---|---|---|---|---|
Bella | MIT | ASR ✔ / TTS (pronto) | Sí (base + roadmap) | Roadmap | ✔ (modelos locales) | ★★☆ |
Open-WebUI | Apache-2 | Opcional via plugins | Mínima (depende LLM) | Plugins | ✔ | ★★☆ |
Mycroft NEON | Apache/GPL | Sí | Media (skill-based) | Sí | ✔ | ★★★ |
Ollama + UI | MIT | Depende UI | Depende prompting | No nativo | ✔ | ★★☆ |
RisuAI | GPLv3 | TTS parcial | Roleplay avanzado | Sí | ✔/API | ★★☆ |
Bella destaca por combinar UI expresiva, ASR integrado, arquitectura modular y un roadmap emocional/memoria muy centrado en la relación con el usuario.
Casos de uso recomendados (hoy mismo)
- Asistente conversacional privado en tu PC.
- Pruebas de experiencia emocional (afinidad/feedback básico).
- “Kiosco” de bienvenida con animación + voz en eventos o recepciones (local).
- Base para proyectos de HCI (Interacción Persona-Computador) en escuelas y labs.
A medio plazo (con TTS, memoria y proactividad):
- Cuidado digital (recordatorios proactivos, check-ins de bienestar).
- Tutor virtual con seguimiento longitudinal.
- Compañía personalizada (rol “cotidiano” configurable).
Resolución de problemas (comunes)
- El micro no funciona: revisa permisos del navegador y que otro programa no lo “bloquee”.
- El puerto 8081 está ocupado: cambia el puerto en el server o cierra el proceso en uso.
- Los modelos no se descargan: relanza
npm run download
; revisa conexión/espacio en disco. - Respuestas “raras”: baja temperatura, ajusta top_p y revisa prompt de sistema.
- Latencia alta: usa modelos más pequeños o activa aceleración (GPU, si integras backends compatibles).
Contribuir
- Fork → rama
feature/tu_mejora
. - Cambios limpios, commit descriptivo.
- Pull Request con notas claras (qué, por qué, cómo probar).
El proyecto cuida mucho el código elegante y el diseño emocional. Piensa en modularidad, legibilidad y UX.
Licencia
MIT: máxima permisividad para uso comercial/personal. Respeta el aviso de copyright.
Conclusión
Bella es un proyecto joven pero con ambición clara: no solo “usar IA”, sino construir una presencia. Hoy ya puedes hablarle por voz, verla “expresarse” y mantener charlas más naturales que con un simple chatbox. Mañana, si cumple su hoja de ruta, irá guardando recuerdos, entendiendo tu estado y cuidando de ti de forma proactiva. Todo ello, open-source y con la opción de ejecutarlo en tu máquina, sin entregar tu intimidad a terceros.
Si buscas un proyecto bonito para aprender, potente para personalizar y con visión para construir una compañera digital privada y local, Bella merece un hueco en tu stack.
Enlaces útiles
- Repo (fuente):
https://github.com/GRISHM7890/Bella
- Arranque rápido:
git clone https://github.com/GRISHM7890/Bella.git cd Bella npm install npm run download npm start # -> http://localhost:8081
- Documentos del proyecto:
PRD.md
,Features.md
,Development.md
dentro del repo.