JARVIS/ROADMAP.md
sito 6a81cef3be JARVIS elige modelo, backend Wayland, y roadmap para la comunidad
- 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.
2026-08-16 16:58:41 +02:00

80 lines
3.7 KiB
Markdown

# Roadmap
Cosas por hacer, ordenadas por dónde aporta más un commit. No es una lista de
deseos: cada punto está acotado para que se pueda coger, hacer y medir. Si algo
te interesa, [CONTRIBUTING.md](CONTRIBUTING.md) dice cómo probarlo.
## Ventanas en más gestores
El motor de ventanas es X11 (`config/ventanas.sh`, con `xdotool`). En Wayland ya
hay un backend para **Sway e Hyprland** (`config/ventanas-wayland.sh`), pero está
a medias:
- **Terminar Sway/Hyprland.** `maximiza`, `restaura` y `minimiza` son fiables;
las mitades (izquierda/derecha/centro) están escritas de la documentación y
**necesitan probarse** en un equipo real —el flotante y las unidades (`ppt`,
`%`) cambian por versión—. Es un primer commit ideal si usas uno de los dos.
- **KDE Plasma (Wayland).** Vía `kdotool` o scripting de KWin. Falta el backend.
- **GNOME Wayland.** No hay API general para mover ventanas ajenas (es su modelo
de seguridad); requiere una extensión. Documentar la limitación o escribir el
puente a una extensión.
- **Mover entre pantallas y a escritorios virtuales** en Wayland: el X11 lo hace,
los backends de Wayland aún no.
## Más acciones
El catálogo son 150 órdenes (`nucleo/datos/acciones.json`). Cada una es JSON:
frases que la disparan, un comando de shell, y una plantilla de respuesta. Añadir
una es un commit pequeño y satisfactorio. Ideas que faltan:
- **Multimedia**: play/pausa, siguiente, volumen (`playerctl`, `wpctl`).
- **Brillo** de pantalla (`brightnessctl`).
- **Portapapeles**: leer/copiar (`wl-clipboard` / `xclip`).
- **Capturas** de pantalla (`grim`, `spectacle`, `gnome-screenshot`).
- **Energía**: bloquear, suspender, apagar (con confirmación).
- **Red**: a qué wifi conectar (`nmcli`).
- **Notificaciones** recientes, calendario, temporizadores.
Al añadir acciones que dependan de una herramienta, degradar con gracia si no
está (como hacen las de ventanas).
## Probar con otros modelos
JARVIS ya puede **elegir su modelo** en caliente (herramienta `elegir_modelo`, y
`JARVIS_MODELO` para fijarlo). Lo que falta es saber cuáles van bien:
- **Medir el tool-calling** de más modelos locales (llama, mistral, gemma,
phi...) con el mismo criterio del RAG (`nucleo/saber/enriquece/eval_set.jsonl`
da la idea). Cuáles emiten `tool_calls` fiables y cuáles no.
- **Auto-escalado**: que suba a un modelo potente solo cuando la pregunta lo
pida, y vuelva al rápido. Hoy lo decide el propio modelo; se puede afinar.
- **Un modelo pensado para voz**: respuestas cortas, sin divagar.
## El RAG
- **Reranker**: un cross-encoder sobre los primeros k. Medido que un embedder
transformer no compensa (ver [docs/rag.md](docs/rag.md)); un reranker es la
otra palanca sin probar.
- **Corpus de demostración público** para poder ver el RAG funcionando sin los
apuntes privados de nadie (man pages, docs de una herramienta libre).
- **Troceado que mantenga el bloque de comandos con su encabezado** (hoy separa
algún comando de su contexto).
## Voz
- **Más idiomas.** Hoy es castellano de punta a punta (STT, prompt, TTS). Piper
y whisper tienen modelos de otros idiomas; falta parametrizarlo.
- **Fine-tuning de la voz** (Piper/VITS) para clonar mejor con poco audio.
## Fine-tuning del modelo
`entrena/` tiene el pipeline QLoRA, bloqueado porque `qwen3.5` es multimodal y
`FastLanguageModel` lo mete por el camino de solo texto. El arreglo apunta a
`FastVisionModel` con `finetune_vision_layers=False`. Sin probar.
## Empaquetado
- **Perfiles de hardware** en `install.sh` (4 GB / 12 GB / solo-CPU) que ajusten
el modelo y el contexto solos.
- **Detección de rutas** más fina en los scripts de `config/` y `voz/`, que aún
asumen parte de la disposición del autor.