OmniMCP
OmniMCP proporciona un contexto de interfaz de usuario completo y capacidades de interacción a los modelos de IA mediante el Protocolo de Contexto de Modelo (MCP) y Microsoft/OmniParser . Se centra en facilitar una comprensión profunda de las interfaces de usuario mediante el análisis visual, la planificación estructurada y la ejecución precisa de las interacciones.
Características principales
- Percepción visual: comprende los elementos de la interfaz de usuario mediante OmniParser.
- Planificación LLM: planifica las próximas acciones en función del objetivo, el historial y el estado visual.
- Agente Ejecutor: Orquesta el ciclo percibir-planificar-actuar (
omnimcp/agent_executor.py
). - Ejecución de la acción: controla el mouse/teclado a través de
pynput
(omnimcp/input.py
). - Interfaz CLI: punto de entrada simple (
cli.py
) para ejecutar tareas. - Implementación automática: implementación opcional del servidor OmniParser en AWS EC2 con apagado automático.
- Depuración: genera registros visuales con marca de tiempo por paso.
Descripción general
cli.py
usa AgentExecutor
para ejecutar un bucle de percepción-planificación-acción. Captura la pantalla ( VisualState
), planifica usando un LLM ( core.plan_action_for_ui
) y ejecuta acciones ( InputController
).
Población
- Acción real (Calculadora):
python cli.py
abre la Calculadora y calcula 5*9. - Interfaz de usuario sintética (Inicio de sesión):
python demo_synthetic.py
utiliza imágenes generadas (sin E/S real). (Nota: Refactorización pendiente para usar AgentExecutor).
Prerrequisitos
- Python >=3.10, <3.13
uv
instalado (pip install uv
)- Requisitos de ejecución de Linux: Requiere una sesión gráfica activa (X11/Wayland) para
pynput
. Puede requerir bibliotecas del sistema (libx11-dev
, etc.); consulte la documentaciónpynput
.
(Las dependencias de escala de pantalla de macOS se manejan automáticamente durante la instalación).
Para funciones de implementación de AWS
Requiere credenciales de AWS en .env
(consulte .env.example
). Advertencia: Crea recursos de AWS (EC2, Lambda, etc.) con costos. Use python -m omnimcp.omniparser.server stop
para limpiar.
Instalación
Inicio rápido
Asegúrese de que el entorno esté activado y que .env
esté configurado.
Las salidas de depuración se guardan en runs/<timestamp>/
.
Nota sobre el servidor MCP: existe un servidor MCP experimental (clase OmniMCP
en omnimcp/mcp_server.py
AgentExecutor
pero está separado del flujo de trabajo principal cli.py
.
Arquitectura
- CLI (
cli.py
): punto de entrada, configuración, inicia el ejecutor. - Agente Ejecutor (
omnimcp/agent_executor.py
): orquesta el bucle y administra el estado y los artefactos. - Visual State Manager (
omnimcp/visual_state.py
): Percepción (captura de pantalla, analizador de llamadas). - OmniParser Client & Deploy (
omnimcp/omniparser/
): administra la comunicación/implementación del servidor OmniParser. - LLM Planner (
omnimcp/core.py
) - Genera un plan de acción. - Controlador de entrada (
omnimcp/input.py
): ejecuta acciones (mouse/teclado). - (Opcional) Servidor MCP (
omnimcp/mcp_server.py
): interfaz MCP experimental.
Desarrollo
Configuración y comprobaciones del entorno
Soporte de depuración
Al ejecutar python cli.py
se guardan las ejecuciones con marca de tiempo en runs/
, incluidos:
step_N_state_raw.png
step_N_state_parsed.png
(con cuadros de elementos)step_N_action_highlight.png
(con resaltado de acción)final_state.png
Los registros detallados se encuentran en logs/run_YYYY-MM-DD_HH-mm-ss.log
(se recomienda LOG_LEVEL=DEBUG
en .env
).
(Nota: Los detalles como tiempos, conteos, direcciones IP, ID de instancias y planes específicos variarán)
Hoja de ruta y limitaciones
Limitaciones clave y áreas de trabajo futuras:
- Rendimiento: reduzca la latencia de OmniParser (explore modelos locales, almacenamiento en caché, etc.) y optimice la gestión del estado (evite el reanálisis completo).
- Robustez: Mejorar la confiabilidad de la planificación de LLM (indicaciones, técnicas como ReAct), agregar verificación de acciones/recuperación de errores, mejorar la focalización de elementos.
- API/Arquitectura de destino: evolucionar hacia una API declarativa de nivel superior (por ejemplo, estilo
@omni.publish
) y potencialmente integrar la lógica de bucle con el servidor MCP experimental (claseOmniMCP
). - Consistencia: refactorice
demo_synthetic.py
para utilizarAgentExecutor
. - Características: Ampliar el espacio de acción (arrastrar y soltar, pasar el cursor).
- Pruebas: agregar pruebas E2E, ampliar la validación multiplataforma, definir métricas de evaluación.
- Investigación: Explorar el ajuste fino, los gráficos de procesos (RAG) y la integración del marco.
Estado del proyecto
AgentExecutor
bucle principal mediante cli.py
funciona para tareas básicas. El rendimiento y la robustez requieren mejoras significativas. La integración con MCP es experimental.
Contribuyendo
- Repositorio de bifurcaciones
- Crear rama de características
- Implementar cambios y agregar pruebas
- Asegúrese de que las comprobaciones pasen (
uv run ruff format .
,uv run ruff check . --fix
,uv run pytest tests/
) - Enviar solicitud de extracción
Licencia
Licencia MIT
Contacto
- Problemas: Problemas de GitHub
- Preguntas: Discusiones
- Seguridad: security@openadapt.ai
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Un servidor que proporciona un rico contexto de UI y capacidades de interacción para los modelos de IA, lo que permite una comprensión profunda de las interfaces de usuario a través del análisis visual y una interacción precisa mediante el Protocolo de Contexto de Modelo.
- Características principales
- Descripción general
- Prerrequisitos
- Instalación
- Inicio rápido
- Arquitectura
- Desarrollo
- Hoja de ruta y limitaciones
- Estado del proyecto
- Contribuyendo
- Licencia
- Contacto
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityThis server implements the Model Context Protocol to facilitate meaningful interaction and understanding development between humans and AI through structured tools and progressive interaction patterns.Last updated -1322TypeScriptMIT License
- AsecurityAlicenseAqualityAn enhanced Model Context Protocol server that enables AI assistants to interact with ClickUp workspaces, supporting task relationships, comments, checklists, and workspace management through natural language.Last updated -40343TypeScriptMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that provides AI vision capabilities for analyzing UI screenshots, offering tools for screen analysis, file operations, and UI/UX report generation.Last updated -261JavaScriptISC License
- -securityFlicense-qualityA server that enables AI systems to browse, retrieve content from, and interact with web pages through the Model Context Protocol.Last updated -