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.
45 lines
1.9 KiB
Markdown
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é.
|