PARAR no pausaba de verdad: el HUD estaba entero para el estado "parado"
pero el backend nunca mandaba el campo "parar" en el evento controles, asi
que el boton no alternaba ni pausaba la escucha. Ahora pausa (el bucle de
escucha descarta el audio en pausa) y alterna a "reanudar".
Portabilidad (para que encaje en otros portatiles y torres, no solo en el
equipo del autor):
- microfono: pw-record / parec / arecord (PipeWire, PulseAudio o ALSA)
- whisper: binario del build local o del PATH; modelos por
JARVIS_WHISPER_MODELOS o busqueda en varios sitios; CUDA en
LD_LIBRARY_PATH solo si existe
- README: la tabla de portabilidad refleja audio y whisper
Portabilidad (el repo estaba escrito como si solo sirviera para el portatil
del autor):
- num_gpu ya NO se fija en los Modelfile: Ollama reparte las capas segun la
VRAM, asi el modelo va igual en GPU pequeña, grande o CPU. Se documenta
cuando conviene fijarlo (solo tarjetas de 4 GB muy justas).
- install.sh detecta el gestor de paquetes (apt/dnf/pacman/zypper) y la GPU
(NVIDIA/AMD/ninguna), sin asumir Debian ni CUDA.
- README reescrito: el hardware es una REFERENCIA (lo probado), no un
requisito. Nueva seccion de portabilidad: cualquier distro, cualquier
escritorio (ventanas necesitan X11+xdotool, degradan solas en Wayland),
GPU opcional.
- Eliminado config/jarvis-herramientas.json: llevaba rutas personales.
Licencia: GPL-3.0 (copyleft).
docs/stack.svg: diagrama del stack (oir-pensar-hacer-hablar), reemplaza el
ASCII en el README. Anadido que el RAG sube la recuperacion de 48 a 82%
(hit@1) medido.
- docs/panel.png y docs/demo.webm: el panel en funcionamiento (telemetria,
reactor, catalogo de acciones y las metricas de rendimiento).
- docs/rag.md: el metodo del RAG, el pipeline de enriquecimiento y los
resultados medidos (hit@1 48->82%, hit@5 77->95%), incluido el resultado
negativo de que un embedder transformer no compensa. El indice NO se
publica: contiene los apuntes del usuario.
- hud.js: datos de ejemplo de la seccion de rendimiento para el modo demo.
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.