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