# JARVIS-AZUL 🔵 El **primer** carril de JARVIS, montado sobre **[Newelle](https://github.com/qwersyk/Newelle)** (el asistente de escritorio para GNOME, GPL). Hoy está **congelado**: sirvió para arrancar rápido y aprender qué se quería, y esas lecciones dieron pie al núcleo naranja. Esta rama lo documenta; el `master` es el núcleo naranja. ![Arquitectura del carril azul](azul/docs/arquitectura.svg) ## Para qué sirvió JARVIS tiene tres carriles: **azul** (Newelle, este, congelado), **naranja** (el núcleo propio) y **verde** (Hermes Agent). El azul fue el punto de partida: en vez de escribir un asistente desde cero, se cogió Newelle —una app de GNOME que ya trae chat con LLM local, RAG de documentos, memoria, TTS, búsqueda web y extensiones— y se le puso encima la identidad de JARVIS. Fue la forma más rápida de tener algo que funcionara y, sobre todo, de **descubrir qué faltaba**. Lo que se aprendió aquí es lo que define hoy al naranja. ## El interfaz ![El panel del carril azul](azul/docs/panel.png) *El panel a pantalla completa: el reactor, el estado de la máquina a la izquierda, el catálogo de acciones a la derecha y las tarjetas de lo ya hecho. Todo en local —Ollama en `127.0.0.1`—. Las rutas de los resultados van tapadas.* ## El stack | Capa | Pieza | Licencia | ¿Nube? | |---|---|---|---| | Front-end | Newelle (GNOME, Flatpak) | GPL | no | | Cerebro | Ollama · modelo `qwen` local | Apache-2.0 | **no** — `127.0.0.1` | | Hablar | Piper (voz clonada) | MIT | **no** | | Oír | Whisper local | MIT | **no** | | Saber | Documentos locales de Newelle (RAG) | — | **no** | ## Lo que JARVIS le puso encima Newelle es genérico; JARVIS lo personalizó (los ficheros viven en `config/` del núcleo): - **Persona y prompt** propios (`set_persona.py`). - **Voz** por Piper, la misma cadena de audio que usa el naranja (`jarvis-piper.sh`, `jarvis-voz.sh`). - **Modelo** local afinado (`qwen3.5-4b-jarvis.Modelfile`, `apuntar_modelo_jarvis.py`). - **Herramientas** propias. - **Panel a pantalla completa** (`jarvis_full`): reactor, estado de la máquina, catálogo de acciones y el registro de lo hecho, sin pasar por el chat. ## Por qué se congeló Newelle es potente, pero va empaquetado como **Flatpak sobre GNOME**, y ese sandbox limita lo que el asistente puede tocar en la máquina. Se quería más: **control total del núcleo** —latencia baja, acciones rápidas que no pasan por el modelo, root gestionado a demanda, un panel que no dependa del ciclo de vida de la app—. Nada de eso encajaba bien dentro de la app de escritorio de otro. Así que el azul se congeló y nació el **carril naranja**, un núcleo escrito a medida. El azul se queda como referencia y como reconocimiento: fue el que enseñó el camino. --- Newelle es de [@qwersyk](https://github.com/qwersyk/Newelle) (GPL). Este carril es esa base con la capa de JARVIS encima. Para el núcleo actual, ver la rama `master`; para el banco de pruebas agéntico, la rama `JARVIS-GREEN`.