Volver al portfolio
Corre desde un pendriveAsistente de voz · En desarrollo

Tito

Le hablás a la PC en castellano y la PC hace.

Un asistente de voz que maneja la PC. Mantengo F9, le pido algo en castellano, y Tito abre la app, busca la carpeta, escribe el texto o corre el comando, y me contesta por voz. Corre desde un pendrive en cualquier máquina, sin instalar nada, y al desconectarlo no queda rastro. Si la acción es delicada, primero pregunta.

Cómo empezó

Quería manejar la PC hablándole en el castellano que hablo yo, no en el neutro de los asistentes. Y lo quería portable en serio: que corra desde un pendrive en cualquier máquina y que al sacarlo no quede nada. Hay hasta tests que fallan si el código intenta escribir fuera de su carpeta.

Capturas

Consola — un pedido ejecutado por intent local (0 tokens) y otro frenado por el broker de permisos
Consola — un pedido ejecutado por intent local (0 tokens) y otro frenado por el broker de permisos

Problema

Los asistentes de voz que vienen con el sistema entienden mal el castellano de acá y no tocan la máquina en serio: ponen música, pero no te abren el proyecto en el que estabas trabajando. Y los que sí pueden, se instalan, se quedan y escuchan todo el tiempo.

Solución

Tito escucha solo mientras mantengo F9, ejecuta acciones reales y todo pasa por un broker de permisos que está en texto plano: lo permitido, lo que pregunta y lo que no se hace nunca. Un patrón denegado no se puede aprobar ni por voz, y lo ejecutado y lo negado queda en un log.

Qué puede hacer

Push-to-talk y «che Tito»
Mantengo F9, hablo, suelto. La palabra de activación existe pero viene apagada por defecto. Mientras Tito habla no puede escucharse a sí mismo: está medido, su propia voz por el parlante no dispara la activación.
Acciones reales, con permiso
Abre apps, busca carpetas, escribe texto, controla ventanas y volumen, corre PowerShell. Las delicadas preguntan primero, con una pregunta corta en castellano, y diez segundos sin contestar equivale a no.
Permisos en texto plano
Un archivo dice qué se permite, qué pregunta y qué se niega siempre. Un deny_pattern no se puede aprobar por voz: no existe el "sí, dale" para un rm -rf. Todo lo ejecutado y lo negado queda en un log.
Éxito verificado
Ninguna herramienta contesta "listo" sin verificar la postcondición. La única excepción son las teclas multimedia, que no dejan nada que consultar, y por eso Tito dice "mandé pausa" y nunca "pausé la música".
Portable de verdad
Corre desde un pendrive, sin instalación, sin tocar el registro ni AppData. Hay tests cuyo único trabajo es probar que no ensucia la máquina ajena, con un grep de guardia que falla si alguien mete un expanduser.
El cerebro es intercambiable
Whisper local para escuchar y una voz Piper es_AR para hablar. El LLM se cambia con tres líneas de config: DeepSeek, Groq, Mistral o un Ollama local para correr enteramente sin nube.

Galería completa

Consola — un pedido ejecutado por intent local (0 tokens) y otro frenado por el broker de permisos
Consola — un pedido ejecutado por intent local (0 tokens) y otro frenado por el broker de permisos

Stack

PythonWhisperPiperDeepSeekWindows