OmniMCP

OmniMCP

site icon
2025.04.08 30
PythonUI自动化AI交互浏览器自动化开发效率
OmniMCP 是一个通过 Model Context Protocol (MCP) 和 OmniParser 提供丰富 UI 上下文和交互能力的工具。它专注于通过视觉分析、结构化规划和精确交互执行,实现对用户界面的深度理解。
View on GitHub

Overview

基本能力

产品定位

OmniMCP 是一个用于自动化 UI 交互的工具,通过 AI 模型实现对用户界面的深度理解和操作。

核心功能

  • 视觉感知:使用 OmniParser 理解 UI 元素。
  • LLM 规划:基于目标、历史和视觉状态规划下一步操作。
  • 代理执行器:协调感知-规划-执行循环。
  • 动作执行:通过 pynput 控制鼠标和键盘。
  • CLI 接口:提供简单的命令行入口点。
  • 自动部署:可选地将 OmniParser 服务器部署到 AWS EC2 并自动关闭。
  • 调试支持:生成带时间戳的视觉日志。

适用场景

  • 自动化 UI 测试
  • 浏览器自动化操作
  • 桌面应用程序的自动化任务

工具列表

  • cli.py:命令行入口点,用于运行任务。
  • AgentExecutor:协调感知-规划-执行循环。
  • VisualState:管理视觉状态和感知。
  • OmniParser Client:管理与 OmniParser 服务器的通信和部署。
  • LLM Planner:生成动作计划。
  • Input Controller:执行鼠标和键盘操作。
  • MCP Server:实验性的 MCP 接口。

常见问题解答

  • 性能问题:OmniParser 延迟较高,正在探索本地模型和缓存优化。
  • 鲁棒性:LLM 规划的可靠性需要改进,正在研究 ReAct 等技术。
  • 平台限制:Linux 运行时需要图形会话(X11/Wayland)。

使用教程

使用依赖

  • Python >=3.10, <3.13
  • uv 安装:pip install uv
  • Linux 运行时需要图形会话和相关库(如 libx11-dev)。

安装教程

git clone https://github.com/OpenAdaptAI/OmniMCP.git
cd OmniMCP
./install.sh
cp .env.example .env
# 编辑 .env 文件,填入你的密钥
# 激活环境:source .venv/bin/activate (Linux/macOS) 或相应的 Windows 命令

调试方式

# 运行默认目标(计算器任务)
python cli.py

# 运行自定义目标
python cli.py --goal "你的目标"

# 查看选项
python cli.py --help

调试输出保存在 runs/<timestamp>/ 目录下。

许可证

该项目遵循 MIT 开源许可条款。