JARVIS/AGENTS.md
sito 8e4bc8ad94 JARVIS: asistente de voz local para Linux
Nucleo propio: oye con whisper.cpp, piensa con un modelo de Ollama, habla
con Piper, y hace RAG sobre los apuntes del usuario. 100% local, sin
cuentas ni claves.

Escrito bajo una restriccion dura, 4 GB de VRAM: el cerebro y whisper
comparten tarjeta y solo caben porque estan dimensionados para ello. El
RAG usa embeddings estaticos con busqueda hibrida; la voz clonada se sirve
de una cache de frases.

Incluye instalador (install.sh), requisitos, y documentacion del stack,
del manejo de root y de las acciones. Los apuntes indexados y el diario NO
se incluyen: son privados y el .gitignore los bloquea.
2026-08-16 15:34:37 +02:00

45 lines
1.9 KiB
Markdown

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