- nucleo/saber/diagnostico.py revisa dependencias, indice (personal o publico),
carga, embedder, consultas de humo y ollama; marca verde/rojo con una linea de
como arreglar cada fallo. --eval mide hit@k. Sale != 0 si hay fallo duro (CI).
- probar_rag.sh es el envoltorio: encuentra el venv y lo corre sin nada arrancado.
- README: seccion Comprobar el RAG.
- Seleccion de modelo: JARVIS cambia su cerebro en caliente (elegir_modelo).
- Ventanas en Wayland: backend para Sway e Hyprland (ventanas-wayland.sh).
- ROADMAP.md y CONTRIBUTING.md: tareas acotadas y como empezar, para animar
commits (mas gestores, mas acciones, probar otros modelos, el RAG).
- docs/rag.md: tabla explicita de que se publica y que no del RAG; nota de
que un clon recien hecho ya tiene RAG util (man pages + glosario) sin datos
privados.
- README enlaza el roadmap y menciona la eleccion de modelo.
- Root: no se pide la contraseña al arrancar (echaba para atras). Se pide
solo la primera vez que una accion necesita sudo, y se cachea. --candado
para el modo seguro. Aviso de root prominente en el README.
- install.sh crea un lanzador de escritorio (jarvis.desktop) con el icono
naranja: aparece en el menu de aplicaciones para arrancar con un clic.
- Captura del panel reemplazada por una mas limpia (solo la ventana).
- Quitado "Probado en ..." del README (informacion del equipo).
- ventanas.sh: aviso claro segun el compositor en Wayland.
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.