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.
1.9 KiB
1.9 KiB
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.jsonly las cachés de voz son privados: el.gitignorelos bloquea. Ver PRIVACIDAD.md.
Estilo
Registro técnico y conciso. Los commits describen el porqué, no solo el qué.