diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 20 |
1 files changed, 14 insertions, 6 deletions
@@ -63,7 +63,7 @@ cargo run --release -- run --no-manage | `asist-asr` | Canary en ONNX: ventana deslizante y transcripción final | | `asist-llm` | llama-server: streaming SSE, historial, llamadas a herramientas | | `asist-tts` | qwentts: síntesis en streaming y voces clonadas | -| `asist-tools` | Buscar en internet y mirar por la cámara | +| `asist-tools` | Buscar en internet, mirar por la cámara y ver la pantalla | | `asist-app` | Supervisor de procesos, orquestador y binario `asistente` | Los tres motores viven en `vendor/` como submódulos fijados a un commit @@ -123,6 +123,7 @@ de configuración valieron más que cualquier cambio de código: - El prompt de estilo anulaba las llamadas a herramientas: **0/8 → 8/8**. - La cámara capturaba a 720p: **7,8 s → 2,9 s** por imagen a 640x480. - Las herramientas se ejecutaban en silencio: **~8,4 s → 4,1 s** hasta oír algo. +- La pantalla a 640 px inventaba el texto: **1 de 3 aciertos → 3 de 3** a 1280 px. Los tres, con el porqué y cómo se midieron, en [docs/RENDIMIENTO.md](docs/RENDIMIENTO.md). @@ -135,7 +136,8 @@ El asistente puede llamar a funciones. Vienen cuatro: |---|---|---| | `hora_actual` | Fecha y hora del sistema | 0 ms | | `buscar_en_internet` | Busca y resume | 0,5–3,6 s | -| `mirar_por_la_camara` | Hace una foto y responde sobre lo que ve | 4,2–5,2 s | +| `mirar_por_la_camara` | Hace una foto y responde sobre lo que ve | 4,1–5,2 s | +| `mirar_la_pantalla` | Captura la pantalla y responde sobre lo que hay | 7,6–12,4 s | | `ejecutar_comando` | Órdenes del sistema, **apagada** por defecto | — | Mientras una herramienta trabaja, el asistente dice «Déjame que lo busque» o @@ -147,9 +149,14 @@ ya redactada), `ddgs` (sin clave, la misma librería que hay bajo `duckduckgo-mcp`) y `searxng`. El de comando ejecuta un guion que escriba JSON, así que meter otro es escribir un guion, no tocar Rust. -**Mirar** aprovecha que el servidor ya carga el proyector multimodal: el mismo -modelo que conversa describe la imagen. La foto no se guarda en disco ni entra -en el historial. +**Ver** —cámara y pantalla— aprovecha que el servidor ya carga el proyector +multimodal: el mismo modelo que conversa describe la imagen. Ni la foto ni la +captura se guardan en disco, y no entran en el historial. + +La pantalla usa 1280 px y la cámara 640, y la diferencia importa: una escena se +entiende, pero un texto hay que leerlo. Medido, a 640 px el modelo no dice que +no lee la pantalla, **se inventa lo que pone** —contestó que la reunión era «a +las 10:00» cuando ponía 15:30—. Por eso el triple de coste. `ejecutar_comando` está apagada a conciencia: darle una shell a un modelo que obedece a lo que oye por el micrófono es un cambio de postura de seguridad. @@ -184,6 +191,7 @@ frase y comprueba que el reconocedor la recupera. - CUDA para los motores en C++ (funcionan en CPU, pero muy justos) - PipeWire o ALSA - ~6 GB de disco para los modelos -- `ffmpeg` para la cámara +- `ffmpeg` para la cámara y para reducir las capturas +- Para la pantalla: `grim` (Wayland) o `maim`/ImageMagick (X11) - Para buscar: una clave de Tavily en `$TAVILY_API_KEY`, o `uv tool install ddgs` |