JARVIS/verde/README.md
sito 1e3e5ca20d carril verde (Hermes Agent): documentacion, panel, voz local y RAG
Rama JARVIS-GREEN, independiente de master (el nucleo naranja queda intacto).

- README propio del carril verde con diagrama de arquitectura y capturas del panel.
- verde/: arranque, panel web, puente de voz (escucha local con faster-whisper +
  habla con la voz del naranja), pruebas (07 voz, 08 escucha), config y notas.
- Integracion RAG: nucleo/saber/busca_cli.py + skill buscar-en-apuntes, para que
  el agente consulte el mismo indice que el nucleo.
- Todo local (127.0.0.1); sin datos personales (rutas y modelo de GPU scrubeados).
2026-08-18 11:26:42 +02:00

5.9 KiB

JARVIS verde

Banco de pruebas con Hermes Agent debajo, para medir si un arnés agéntico aporta algo sobre el núcleo. 100 % software libre, y local por configuración pero no por construcción — ver el aviso de aquí abajo.

La frase "no sale nada de esta máquina" era falsa y se ha corregido. El 16 de agosto, pidiéndole un cartel en ASCII, el agente encontró que pyfiglet no estaba instalado y se fue a una API de terceros por su cuenta. Nadie le dijo que podía. El cerebro, la voz, el oído y la memoria siguen siendo locales y comprobados; lo que no es local es lo que el agente decida hacer con la terminal que le has dado. Está contado entero en NOTAS.md.

Estrenado el 16 de agosto de 2026. Arranca, contesta y llama herramientas. Lo que costó llegar aquí fueron dos topes encadenados, los dos anotados en NOTAS.md:

  1. El prompt fijo de Hermes son ~20.500 tokens y qwen3.5:4b-jarvis va con num_ctx 4096. Por eso existe qwen3.5:4b-verde.
  2. Y Hermes rechaza de plano cualquier modelo por debajo de 64.000 tokens de contexto. Eso invalidó la primera medida (24576, lo máximo que cabía en la tarjeta) y obligó a bajar media red a la CPU.

El precio de esa segunda concesión es el tiempo de respuesta. Está medido en NOTAS.md y es el dato que decide si este carril vale la pena.

Los tres se distinguen por color: cian el de Newelle (congelado), naranja el núcleo (en desarrollo), verde este.

De dónde sale esto

De un reel de 75 s que vende "construye tu Jarvis en un fin de semana" en nueve pasos. Siete de los nueve ya estaban hechos aquí, y mejor. Los tres que no: skills que el agente se crea solo, canales de mensajería y memoria. Eso es lo que este carril viene a probar.

El stack

Capa Pieza Licencia ¿Sale algo?
Arnés Hermes Agent MIT no
Cerebro Ollama · qwen3.5:4b-verde Apache 2.0 no127.0.0.1:11434
Oír faster-whisper local MIT no
Hablar Piper 1.2.0, vía jarvis-piper.sh MIT no
Memoria de conversación SQLite FTS5 de Hermes MIT no
Memoria de conocimiento boveda/, ficheros Markdown no
Navegador Playwright + Chromium Apache 2.0 / BSD-3 solo si navega

Cero claves, cero cuentas, cero euros. Descartados por eso: ElevenLabs, Honcho, Groq, Firecrawl, Nous Portal. Y Edge TTS, que es gratis pero es un servicio de Microsoft y era la única pieza no libre del carril.

Qué hay aquí

verde/
├── arrancar.sh          LA PUERTA DE ENTRADA: mide, configura y dictamina
├── pruebas/             las 7 comprobaciones; ninguna abre el TUI
├── ESCALERA.md          el guion del primer arranque a mano, con huecos que rellenar
├── PLAN-ARRANQUE.md     el plan del que salió todo esto
├── instalar.sh          baja el instalador oficial, lo enseña y lo corre sin arrancar nada
├── install-oficial.sh   el instalador tal cual, para poder auditarlo y diffearlo
├── instalacion.log      lo que hizo
├── config.yaml          la configuración → se copia a ~/.hermes/config.yaml
├── env.ejemplo          plantilla del .env, sin una sola clave
├── voz-verde.sh         adaptador para que hable con la voz del naranja
├── verde-launcher.sh    arranca el TUI en verde fósforo
├── jarvis-verde.svg     el icono
├── boveda/              memoria de conocimiento — vacía a propósito
└── NOTAS.md             lo medido y lo que queda abierto

Se entra siempre por el mismo sitio:

./arrancar.sh            # deja el carril listo, y se planta si algo no cuadra
./pruebas/ejecutar.sh    # 46 comprobaciones, ninguna abre el TUI
./verde-launcher.sh      # el TUI → y se sigue ESCALERA.md

El código de Hermes vive en ~/.hermes/, igual que el HUD de Newelle vive en ~/.var/app/…. Aquí solo está lo que se edita a mano.

Uso

./verde-launcher.sh --status   # qué hay y cuánta VRAM, sin arrancar nada
./verde-launcher.sh            # el TUI, en verde fósforo
./verde-launcher.sh --stop     # cerrar

--status es el que se puede correr hoy: no toca la gráfica.

La voz: por qué suena igual que el naranja

Hermes trae un proveedor de TTS por comando que no está en su web pero sí en su código (tools/tts_tool.py). Eso permite llamar al mismo config/jarvis-piper.sh del naranja, con su binario Piper MIT, su .onnx y su cadena de audio.

No es un detalle estético: si el verde hablara con una voz que Piper se descarga por su cuenta, comparar la voz de los dos carriles no diría nada. Detalles y trampas en NOTAS.md y en la cabecera de voz-verde.sh.

El aviso que hay que leer antes de comparar

El naranja tiene 150 acciones rápidas que se saltan el modelo. Hermes no tiene ese atajo: allí toda orden pasa por el cerebro.

El verde va a medir más lento, y no será culpa del modelo. Para comparar de verdad hay que usar solo frases que en el naranja también acaben en el cerebro. Está desarrollado en NOTAS.md.

Lo comprobado el primer día, y lo que falta

Llama herramientas bien. Era la duda que abría este carril —la guía de Hermes marca sin tool calling todo lo de 9B para abajo— y salió a favor: pide la herramienta cuando toca, acierta los argumentos, y no la llama cuando la pregunta no la necesita.

Es flojo con las rutas relativas. Se le pidió verde/README.md y leyó el README.md de la raíz. El detalle está en NOTAS.md, con la observación que más pesa: cuando una herramienta le devuelve un error, se recupera y busca otro camino; cuando le devuelve un fichero que existe pero no es el pedido, no tiene forma de notarlo.

Falta lo que solo se juzga a mano: los escalones 5 (una skill), 6 (la voz dentro de Hermes) y 7 (la escucha por micrófono) de ESCALERA.md.