hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
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
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.
- Core Features
- Overview
- Prerequisites
- Installation
- Quick Start
- Architecture
- Development
- Roadmap & Limitations
- Project Status
- Contributing
- License
- Contact
Related Resources
Appeared in Searches
- Resources for React TypeScript UI Components
- Resources for CSS and HTML
- Minecraft servers with cursor replacement functionality
- Developing AI-Powered Mobile and Web Applications by Combining and Transferring Knowledge from Open Source AI Models
- Browser Debug Tool for Capturing Console Errors and Taking Screenshots