Los agentes de inteligencia artificial en terminal (como Claude Code, Qoder, OpenHands o Codex) han demostrado una alta capacidad para refactorizar código y ejecutar pruebas. Sin embargo, sufren una limitación estructural: operan a ciegas respecto al entorno visual. No pueden inspeccionar un fallo de renderizado en un navegador, analizar una pieza mecánica en software CAD, interpretar un flujo en vídeo de 40 minutos o verificar la maquetación de un documento técnico escaneado.
El equipo de Alibaba Qwen (QwenLM) ha publicado Qwen-MM-Plugins, una biblioteca de código abierto diseñada para dotar a los arneses de programación de capacidades multimodales nativas sin necesidad de reconstruir la arquitectura del agente desde cero.
A través de un sistema modular que combina instrucciones de modelo (skills) y servidores del protocolo de contexto de modelo (MCP), Qwen-MM-Plugins permite que cualquier agente de consola procese imágenes de resolución dinámica, manipule modelos 3D en FreeCAD o Blender y consulte vídeos de larga duración mediante grafos de memoria.
1. Arquitectura de Qwen-MM-Plugins: Skills + Servidores MCP
El diseño de la librería se apoya en una separación clara entre la percepción del modelo y la ejecución de herramientas en el sistema operativo:
┌──────────────────────────────────────────────────────────┐
│ Agente de Terminal (Harness) │
│ (Claude Code / Qoder / Qwen Code / Codex) │
└────────────────────────────┬─────────────────────────────┘
│
┌────────────────┴────────────────┐
▼ ▼
┌──────────────────────┐ ┌──────────────────────┐
│ Skills (Prompt) │ │ Servidores MCP (uvx)│
│ Instrucciones sobre │ │ Ejecución local de │
│ cuándo usar visión │ │ herramientas CLI │
└──────────────────────┘ └──────────────────────┘
│ │
└────────────────┬────────────────┘
▼
┌──────────────────────────────────────────────────────────┐
│ Configuración Compartida (~/.qwen-mm-plugins/config) │
└──────────────────────────────────────────────────────────┘
El instalador automatizado
La instalación se realiza con un comando interactivo que detecta los arneses presentes en el sistema y escribe la configuración compartida:
curl -fsSL https://raw.githubusercontent.com/QwenLM/Qwen-MM-Plugins/main/install.sh | bash
El script registra los plugins seleccionados en ~/.qwen-mm-plugins/config y los expone mediante ejecutables sobre demanda con uvx. Esto evita sobrecargar la memoria del proceso principal del agente cuando no se están ejecutando tareas visuales.
2. Los 5 Módulos Principales de la Librería
Qwen-MM-Plugins se divide en paquetes especializados que pueden activarse de forma independiente según las necesidades del proyecto:
| Módulo | Función Principal | Herramientas Incluidas |
|---|---|---|
core | Percepción visual y lectura multiformato | Parseo de PDFs/Office/3D, OCR, visual grounding (bounding boxes), segmentación, ASR y vision chat. |
video-memory | Memoria jerárquica para vídeo de larga duración | Grafo de eventos (Root → SuperEvent → MacroEvent → Subgraph) e índice vectorial para consultas en vídeo de +30 min. |
video-edit | Recorte y anotación visual | Extracción de fotogramas clave, anotación de cajas delimitadoras y edición guiada de clips. |
freecad / blender | Integración con software 3D y CAD | Clientes ligeros Python para inspeccionar, modificar y exportar geometrías paramétricas. |
edu-agent | Generación de material formativo | Skill para estructurar tutoriales paso a paso e instrucciones interactivas. |
3. Parseo de Resolución Dinámica (Naive Dynamic Resolution)
Uno de los problemas habituales al enviar capturas de pantalla a un modelo de visión tradicional es el recorte fijo o la compresión de imagen, que distorsiona botones pequeños y textos de código.
El módulo core utiliza el mecanismo de Resolución Dinámica Nativa presente en los modelos de pesos abiertos de la familia Qwen. En lugar de redimensionar la imagen a un cuadrado fijo (ej. 224x224 píxeles), el sistema convierte la imagen en un número variable de tokens de visión según su aspecto y resolución original:
{
"plugin": "core",
"tool": "visual_grounding",
"input": {
"image_path": "./debug_ui_dashboard.png",
"query": "Boton de confirmación de pago en el modal flotante"
},
"output": {
"bbox_2d": [420, 680, 510, 810],
"label": "button#submit-payment",
"confidence": 0.984
}
}
Esta capacidad de visual grounding devuelve las coordenadas exactas de píxel (bbox_2d), permitiendo que el agente de terminal sepa dónde hacer clic o qué regla CSS ajustar para corregir un fallo de maquetación en la interfaz.
4. Memoria Jerárquica para Vídeos Largos (video-memory)
Analizar un vídeo de inspección técnica o una grabación de pantalla de una hora saturaría la ventana de contexto de cualquier LLM si se enviasen todos los fotogramas como imágenes independientes.
El módulo video-memory resuelve este cuello de botella mediante la construcción de una estructura en grafo de cuatro niveles:
graph TD
A[Root: Grabación Completa 60 min] --> B1[SuperEvent 0-20 min: Configuración Inicial]
A --> B2[SuperEvent 20-40 min: Ejecución de Pruebas]
A --> B3[SuperEvent 40-60 min: Análisis de Fallos]
B3 --> C1[MacroEvent: Caída de Servicio en Servidor 2]
C1 --> D1[Subgraph: Extracción de Fotogramas de Consola a los 44m12s]
Cuando el agente recibe la consulta "¿En qué minuto aparece el mensaje de error de conexión en la consola?", no lee las 60 personas de metraje. Navega el grafo desde el nodo raíz hasta el subgrafo correspondiente y extrae únicamente los tres fotogramas relevantes, reduciendo el consumo de tokens en un 94%.
5. Integración en PYMEs: Casos de Uso Industrial y de Desarrollo
Para empresas con departamentos técnicos, la multimodalidad nativa en la terminal elimina pasos manuales intermedios:
A. Automatización de QA en Interfaces Web y Móviles
El agente ejecuta las pruebas E2E en Playwright, captura una pantalla en caso de fallo, utiliza el plugin core para localizar el elemento desalineado y edita directamente el código componente en React o Vue sin intervención humana. Esta integración complementa flujos de maquetación como Figma Context MCP.
B. Validación de Planos 3D y Piezas Paramétricas (FreeCAD / Blender)
En oficinas técnicas e industrias de mecanizado, el agente puede abrir un archivo .FCStd mediante el cliente de FreeCAD, medir tolerancias de piezas, verificar que los agujeros de métrica coinciden con las especificaciones del cliente y exportar el reporte final en PDF.
C. Auditoría Documental de Planos y Escrituras Notariales
Combinando el OCR con visual grounding, el agente lee planos de arquitectura o documentos escaneados torcidos, identifica los sellos notariales o discrepancias en cotas y actualiza las bases de datos de la empresa.
¿Quieres integrar agentes multimodales y servidores MCP en tu empresa?
En IA4PYMES diseñamos y desplegamos arquitecturas agénticas en terminal conectadas a tus herramientas de software, bases de datos y entornos CAD bajo estricta privacidad.
6. Preguntas Frecuentes sobre Qwen-MM-Plugins
¿Qwen-MM-Plugins solo funciona con modelos de Alibaba?
No. Los servidores MCP y los prompts de skills son agnósticos. Pueden utilizarse con Claude Sonnet 5, GPT-5.6 o modelos locales como Gemma 4 y Qwen 3.6 ejecutados en servidores soberanos.
¿Se pueden ejecutar los plugins en entornos locales sin conexión a internet?
Sí. El plugin core y video-memory pueden configurarse para llamar a endpoints locales de vLLM o Ollama dentro de la red privada de la empresa.
¿Qué diferencia hay entre Qwen-MM-Plugins y un script de Python habitual?
Un script tradicional exige programar la lógica de captura para cada caso. Qwen-MM-Plugins expone las herramientas mediante la especificación estandarizada MCP, permitiendo que el propio agente decida de forma autónoma qué herramienta visual invocar según el problema detectado.
