Volver al Blog
Publicado el

Plan AI: El Grabador de Reuniones de Código Abierto Sin Bots

Desarrollo de IACódigo AbiertoProductividadPlan AIIngeniería
Plan AI: El Grabador de Reuniones de Código Abierto Sin Bots

Presentamos Plan AI: Un Grabador de Reuniones Local Sin Bots

¿Cansado de tener tres "bots de notas de IA" diferentes uniéndose a cada llamada de Zoom o Google Meet? Se siente intrusivo, interrumpe el flujo de la reunión y supone un riesgo de privacidad corporativa. Sin mencionar los 30 minutos que se pierden después de cada 'daily standup' o planificación de sprint escribiendo manualmente tickets de Jira o Linear basados en lo que se acaba de discutir.

Para resolver esto, presentamos Plan AI — una plataforma open-core (BUSL-1.1) que graba tus reuniones de forma nativa (sin bots) y genera automáticamente tickets de ingeniería perfectamente definidos, junto con información procesable.

Puedes ver una demostración de cómo funciona en nuestro Repositorio de GitHub o en el Sitio web de Plan AI.

Cómo funciona (La Arquitectura)

En lugar del enfoque estándar (iniciar navegadores 'headless' para unirse a las reuniones como un bot), Plan AI utiliza un enfoque nativo de captura de audio del sistema. Esto garantiza la privacidad absoluta y elimina por completo la fricción de gestionar "invitados virtuales" en la reunión.

El proyecto está estructurado como un potente monorepositorio con tres clientes y un backend distribuido:

  • Grabador de Escritorio (Electron): Captura el audio de tu sistema operativo y el micrófono localmente. No se necesitan bots. Sube los flujos pesados de audio directamente al backend.
  • App Móvil (React Native/Expo): Para capturar reuniones presenciales o grabar sobre la marcha.
  • Plataforma Web (React): Donde ocurre la magia. Mientras grabas, obtienes un asistente de reuniones en vivo (con actualizaciones cada 15s) para chatear con la transcripción en tiempo real.
  • Pipeline de Backend (Node.js/Express & BullMQ): El procesamiento de audio es pesado, por lo que es totalmente asíncrono. El audio va a colas de Redis -> Deepgram para una transcripción rápida -> Microservicio de Python (SpeechBrain) para biometría de voz y diarización de hablantes.
  • Orquestación de IA: Utilizamos Qdrant (Base de datos vectorial) para almacenar el contexto y OpenRouter para conectar con LLMs avanzados. Una vez que termina una reunión, los procesos en segundo plano analizan la transcripción e inyectan automáticamente las tareas asignadas directamente en Jira, Linear o Trello.

Aquí tienes un desglose visual de cómo los componentes internos orquestan el flujo de datos:

Loading diagram...

El Compañero Móvil (Expo 55)

Mientras que la aplicación de escritorio captura las llamadas virtuales, las reuniones presenciales requieren un enfoque diferente. La aplicación móvil de apoyo está construida usando la última versión de Expo SDK 55. Gracias a Expo Router, el enrutamiento basado en archivos hace que navegar por la app sea extremadamente fluido. Todo el código base está estrictamente tipado con TypeScript, compartiendo exactamente los mismos tipos generados (api.d.ts) que la aplicación web y el backend.

Enrutamiento Inteligente de LLMs (OpenRouter y BYOK)

Al construir una aplicación de IA, atarse a un único proveedor como OpenAI o Anthropic limita la flexibilidad. Plan AI utiliza OpenRouter como una puerta de enlace unificada para enrutar tareas dinámicamente según sus requisitos cognitivos:

  • Investigación Agéntica: Enrutado a openai/gpt-4o-mini por ser increíblemente rápido y rentable para recolectar contexto.
  • Extracción Final de Tareas: Enrutado a anthropic/claude-opus-4.7 para comprender profundamente el contexto del proyecto y estructurar tickets perfectamente definidos.
  • Diagramas Arquitectónicos: Enrutado a anthropic/claude-sonnet-4.6, el mejor modelo absoluto para generar diagramas complejos de Mermaid.js.
  • Funciones de Imagen: Enrutado a black-forest-labs/flux.2-klein-4b para capacidades visuales de alto rendimiento.

Además, Plan AI utiliza una arquitectura BYOK (Bring Your Own Key). Los usuarios introducen sus propias claves de OpenRouter por cada espacio de trabajo, garantizando la máxima privacidad de los datos.

Memoria Semántica (Base de Datos Vectorial Qdrant)

Tener una transcripción en bruto no es suficiente para generar tickets de Jira procesables. Si un desarrollador dice "Voy a arreglar el bug de autenticación", el LLM necesita saber qué es exactamente ese "bug de autenticación".

Plan AI integra Qdrant, una base de datos vectorial de código abierto. Cada vez que termina una reunión, la transcripción se divide y se vectoriza. Cuando el proceso en segundo plano extrae tareas, primero realiza una búsqueda semántica, extrayendo decisiones arquitectónicas pasadas e inyectándolas en el prompt del LLM.

Uniendo la Estrategia y el Código (Repomix y GitHub)

El objetivo final de Plan AI no es solo escribir tickets; es eliminar por completo la fricción entre los perfiles no técnicos (Product Managers) y la ejecución técnica (Desarrolladores y Agentes de IA).

Cuando un Product Manager termina una reunión, Plan AI envía los tickets de ingeniería generados directamente a GitHub Issues. Para que esos tickets sean procesables inmediatamente por un asistente de código (como Cursor o Copilot), integramos Repomix.

Un simple comando (yarn repomix) empaqueta todo el monorepositorio en un único archivo Markdown altamente optimizado. El flujo de trabajo es mágico:

  1. El PM habla en la reunión. Plan AI crea un GitHub Issue altamente técnico.
  2. El desarrollador asigna el Issue a su asistente de IA.
  3. El asistente de IA lee el Issue, consume el archivo repomix.md para entender instantáneamente todo el contexto del monorepositorio, y redacta la Pull Request (PR) de forma autónoma.
Loading diagram...

Vanguardia en DevEx: GitNexus (MCP)

Para mantener y escalar de forma segura un monorepositorio grande con asistentes de IA, Plan AI incorpora un servidor Model Context Protocol (MCP) a través de GitNexus. GitNexus indexa todo el monorepositorio en una base de datos de grafos local.

Cuando se le pide a un agente de IA que modifique un servicio, este llama automáticamente a gitnexus_impact() para ver el "radio de impacto" (blast radius) del cambio, y a gitnexus_query() para entender el flujo de ejecución exacto. Esto hace que la programación emparejada con IA sea increíblemente segura y determinista.

El Flujo de Trabajo "Type Safety"

Un aspecto técnico del que estamos muy orgullosos es cómo se maneja la seguridad de tipos (type safety) en todo el monorepositorio. Escribir interfaces manualmente para las respuestas de la API es propenso a errores humanos y se convierte rápidamente en deuda técnica. Para evitar esto, nuestra única fuente de verdad es el esquema de la base de datos de Prisma.

Prisma alimenta a los controladores TSOA, que generan un swagger.json. Un solo comando (yarn update) auto-migra la base de datos, actualiza el swagger y sincroniza los tipos api.d.ts perfectamente a través de las interfaces web en React, Electron y la aplicación móvil Expo simultáneamente.

Loading diagram...

¿Por qué Open Core?

Decidimos lanzar esto bajo la Licencia Business Source (BUSL-1.1), que se convierte en AGPLv3 después de 4 años. Cuando pides a los usuarios que instalen una aplicación de Electron que graba el audio de su sistema, la confianza lo es todo. Abrir el núcleo (open source) permite a la comunidad auditar el código y verificar que la privacidad es la prioridad absoluta y que no contiene spyware. Además, puede ser alojado en servidores propios (self-hosted) mediante Docker.

Si estás buscando integrar flujos de trabajo avanzados de IA en tus propios productos, hablemos. Nuestro equipo está preparado para diagnosticar, estabilizar o potenciar tus esfuerzos de software.

Hablemos de Integración de IA