- 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.
80 lines
3.7 KiB
Markdown
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.
|