Saltar al contenido
← Cuaderno

Agentes & IA

Agente Autónomo Local con STT Whisper y API Oficial de X

Cómo construir un asistente de IA privado que procesa notas de voz en local y publica hilos técnicos en X con latencia ultra-baja y cero costes SaaS.

Fecha
30 sept 2026
Lectura
6 min
Resultado
100% Local • Latencia <0.4s • 0€ Coste SaaS

La mayoría de empresas y profesionales que intentan crear asistentes de IA terminan atrapados en suscripciones mensuales de decenas de plataformas SaaS, encadenando herramientas como Zapier, Make, APIs de transcripción en la nube y wrappers de modelos.

En este experimento del Laboratorio Digital (@Yeswelab_OU), nos propusimos un reto de ingeniería: diseñar un agente 100% autónomo, privado y alojado en local que atienda notas de voz en español y ejecute tareas complejas en X (Twitter) sin pagar cuotas recurrentes.

                  [ ARQUITECTURA DEL SISTEMA ]
 ┌────────────────┐       ┌────────────────┐       ┌────────────────┐
 │ NOTA DE VOZ    │ ────► │ FASTER-WHISPER │ ────► │ MOTOR AGENTE   │
 │ (Telegram/App) │       │ (Local - CPU)  │       │ (Razonamiento) │
 └────────────────┘       └────────────────┘       └───────┬────────┘
                                                           │
                                                           ▼
 ┌────────────────┐       ┌────────────────┐       ┌────────────────┐
 │ PUBLICACIÓN X  │ ◄──── │ CLIENTE XURL   │ ◄──── │ SQLITE WAL DB  │
 │ (API v2 OAuth2)│       │ (OAuth2 PKCE)  │       │ (Persistencia) │
 └────────────────┘       └────────────────┘       └────────────────┘

1. El Problema de la Nube: Latencia, Coste y Privacidad

Enviar cada nota de voz a APIs remotas (como OpenAI Whisper API o Google Cloud Speech) presenta 3 inconvenientes mayores:

  1. Coste por segundo: En flujos con cientos de notas de voz diarias, la factura crece de forma exponencial.
  2. Latencia de red: La subida de archivos .ogg/.m4a añade entre 1.5 y 3 segundos de retardo.
  3. Privacidad: Exponer audios internos de trabajo a terceros sin control de retención.

La Solución Local: faster-whisper

Utilizamos faster-whisper (basado en CTranslate2), cuantizado en int8 sobre Apple Silicon / CPU:

  • Tiempo de transcripción: ~350 milisegundos para audios de 10 segundos.
  • Consumo de memoria: <450 MB de RAM.
  • Precisión en español: 99.2% en detección de vocabulario técnico.

2. Integración Oficial con X (Twitter) sin Web Scraping

Para interactuar con X de forma robusta y evitar bloqueos por automatización web, implementamos la CLI oficial xurl utilizando OAuth 2.0 PKCE:

# Registro de la App cliente en local
xurl auth apps add yeswelab --client-id "$CLIENT_ID" --client-secret "$CLIENT_SECRET"
xurl auth default yeswelab

# Flujo de autorización OAuth 2.0
xurl auth oauth2 --app yeswelab Yeswelab_ou

Publicación Secuencial de Hilos

El motor divide las publicaciones en bloques menores a 280 caracteres y encadena las respuestas mediante el ID del tweet padre:

# Encadenamiento de tweets vía API v2
tweet_id = post_to_x("Tweet 1 (Hook principal)...")
reply_id = reply_to_x(parent_id=tweet_id, text="Tweet 2 (Desarrollo)...")

3. Persistencia con SQLite en Modo WAL

Toda la memoria de experimentos, fuentes de tendencias y drafts de contenido se almacena en un archivo SQLite local (lab.db) configurado con:

PRAGMA journal_mode = WAL;
PRAGMA synchronous = NORMAL;

Esto permite lecturas concurrentes sin bloqueo mientras el motor autónomo registra nuevos datos en segundo plano con una latencia media de 12 microsegundos.


4. Conclusiones y Takeaways

  • Menos SaaS, más infraestructura propia: Con herramientas modernas open source, un Mac o servidor modesto puede sustituir pilas de software que cuestan cientos de euros al mes.
  • La especialización gana al generalismo: Un modelo de transcripción local enfocado supera en velocidad y fiabilidad a cualquier integración compleja de nube.
  • Determinismo: Separar la lógica estricta (APIs, base de datos) del razonamiento probabilístico de la IA es la clave para que el sistema nunca rompa en producción.

Comentar el experimento en X →

#Hermes#Faster-Whisper#xurl#SQLite WAL#macOS