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).
This commit is contained in:
parent
b1f8118272
commit
1e3e5ca20d
32 changed files with 3697 additions and 161 deletions
129
verde/README.md
Normal file
129
verde/README.md
Normal file
|
|
@ -0,0 +1,129 @@
|
|||
# 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 | **no** — `127.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:
|
||||
|
||||
```bash
|
||||
./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
|
||||
|
||||
```bash
|
||||
./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`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue