# JARVIS — mapa del repositorio Asistente de voz 100 % local para Linux. Núcleo propio. Este fichero orienta a quien (persona o agente) trabaje en el código. **Las rutas relativas van desde la raíz del repositorio.** El núcleo usa rutas relativas a su propia ubicación (`AQUI = dirname(__file__)`); algunos scripts de `config/` y `voz/` todavía asumen rutas absolutas del entorno del autor y habría que hacerlas configurables. ## El flujo oír → pensar → hacer → hablar `nucleo/jarvis.py` es el bucle. Oye con whisper (`oido/`), decide con el modelo (`cerebro/`), ejecuta con las manos (`manos/`) o contesta, y habla (`boca/`). El panel (`cara/`) muestra todo en vivo. ## Carpetas nucleo/ jarvis.py la entrada; arranca.sh lo lanza oido/ whisper.cpp: captura, palabra de activación, transcripción cerebro/ ollama, tool-calling, y el RAG (pasivo + agéntico) boca/ Piper. voz.py fija la voz por defecto manos/ las acciones, el diario, el sudo, la fonética cara/ el panel web y su servidor saber/ el RAG: indexa, busca, glosario; enriquece/ lo mejora datos/ acciones.json (el catálogo). El resto es privado (.gitignore) pruebas/ la suite del núcleo config/ configuración: modelo (Modelfile), voz, whisper CUDA voz/ clonado de voz con XTTS y caché de frases entrena/ fine-tuning con QLoRA ## Dos cosas que ahorran errores - **La gráfica es pequeña (4 GB) y el cerebro y whisper compiten por ella.** Antes de tocar el dimensionado, mirar el presupuesto de VRAM del README. - **Los datos del usuario no se versionan.** `saber.jsonl`, `diario.jsonl` y las cachés de voz son privados: el `.gitignore` los bloquea. Ver PRIVACIDAD.md. ## Estilo Registro técnico y conciso. Los commits describen el porqué, no solo el qué.