75 lines
3.9 KiB
Markdown
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.
|
|
|
|

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

|
|
|
|
**82 skills** en 14 categorías, entre ellas la integración con el RAG del naranja:
|
|
|
|

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