JARVIS/README.md
sito 28a6a6e935 azul: la captura del panel real en vez de la imagen de ejemplo
La que habia era la promocional de Newelle, con un proveedor en la nube en la
barra de titulo y ningun rastro de JARVIS. Ahora es el panel a pantalla
completa corriendo en local: reactor, estado de la maquina, catalogo de
acciones y las tarjetas de lo hecho. Las rutas de los resultados van
desenfocadas, como en las del carril verde.
2026-08-18 12:08:06 +02:00

48 lines
3 KiB
Markdown

# 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`.