JARVIS/README.md
2026-08-18 11:32:53 +02:00

75 lines
3.9 KiB
Markdown

# JARVIS-VERDE 🟢
Banco de pruebas de JARVIS montado sobre **[Hermes Agent](https://github.com/NousResearch/hermes-agent)** (Nous Research, MIT): un arnés agéntico completo, **100 % local por configuración**. Esta rama documenta el carril verde; el `master` es el núcleo naranja.
![Arquitectura del carril verde](verde/docs/arquitectura.svg)
## Para qué sirve
JARVIS tiene tres carriles: **cian** (Newelle, congelado), **naranja** (el núcleo propio) y **verde** (este). El verde responde a una pregunta: *¿un arnés agéntico de fábrica aporta algo que el núcleo naranja no tenga?* En concreto, las tres cosas que al naranja le faltan y que Hermes trae de serie:
- **Skills que el agente se crea y mejora solo.**
- **Canales de mensajería** (Telegram, Discord, Signal, WhatsApp, Slack).
- **Memoria** de largo plazo entre sesiones.
No es el asistente de diario —para eso está el naranja, que es más rápido—; es el laboratorio para decidir qué ideas de Hermes merece la pena llevar al núcleo.
## El panel
Hermes no es un chatbot: es una plataforma. El panel web (`verde/panel-verde.sh`, en `127.0.0.1:9119`) da chat, sesiones, ficheros, modelos, logs, cron, skills, MCP, canales y webhooks.
![Panel — chat](verde/docs/panel-chat.png)
**82 skills** en 14 categorías, entre ellas la integración con el RAG del naranja:
![Panel — skills](verde/docs/panel-skills.png)
## El stack
| Capa | Pieza | Licencia | ¿Sale algo de la máquina? |
|---|---|---|---|
| Arnés | Hermes Agent | MIT | por configuración, no |
| Cerebro | Ollama · `qwen3.5:4b-verde` (64k ctx) | Apache-2.0 | **no**`127.0.0.1:11434` |
| Oír | faster-whisper `small` (local, CPU) | MIT | **no** |
| Hablar | Piper · `davefx` (misma voz que el naranja) | MIT | **no** |
| Saber | RAG del naranja vía `busca_cli` | — | **no** |
## La integración con el RAG
El agente consulta el **mismo índice que el núcleo naranja** (~19.500 entradas: metodología de pentesting, man pages, catálogo de herramientas y software, apps instaladas). Se hace con la skill local `buscar-en-apuntes` (en `verde/skills/`), que el agente activa cuando le preguntas por herramientas, comandos o "qué dicen mis apuntes sobre X", y responde citando la fuente en vez de inventar. Motor: `nucleo/saber/busca_cli.py`.
## La voz, y en local
El TUI de Hermes no trae micrófono y su STT nativo es para notas de voz de mensajería (que saldrían de la máquina). El carril lo puentea en local:
- **Escucha** — `verde/escucha-verde.sh` (pulsar-para-hablar): graba → `faster-whisper` en CPU → se lo pasa al agente. Prueba: `verde/pruebas/08_escucha.sh`.
- **Habla** — `verde/voz-verde.sh`: el mismo Piper y la misma voz que el naranja. Prueba: `verde/pruebas/07_voz.sh`.
## Arranque
```bash
# 1. Instalar Hermes Agent (ver su repo) y el modelo del verde
ollama create qwen3.5:4b-verde -f verde/qwen3.5-4b-verde.Modelfile
# 2. Medir, configurar y dictaminar (encuentra el techo de contexto en tu GPU)
./verde/arrancar.sh
# 3. El panel web, o el TUI en verde
./verde/panel-verde.sh # dashboard en 127.0.0.1:9119
./verde/verde-launcher.sh # TUI
# 4. Las pruebas (ninguna abre el TUI)
./verde/pruebas/ejecutar.sh
```
## El aviso que importa
**Local por configuración, no por construcción.** El agente tiene terminal y web, y **decide por su cuenta**: en una prueba, pidiéndole un cartel ASCII, se fue a una API de terceros porque una librería no estaba instalada. Cerebro, voz, oído y memoria son locales y comprobados; lo que no está garantizado es **lo que el agente haga con la terminal que le has dado**. Está todo en `verde/NOTAS.md`.
## El precio
Hermes exige ≥64k de contexto, lo que obliga a bajar media red del 4B a la CPU: el precio es el **tiempo de respuesta** (minutos por turno en frío). Es el dato que decide si el carril compensa frente al naranja. Medido y anotado en `verde/NOTAS.md`.
---
Software libre. Ver `verde/README.md`, `verde/NOTAS.md` y `verde/ESCALERA.md` para el detalle.