UI Element Ops

🖱️ 视觉驱动的桌面自动化引擎

基于Microsoft OmniParser的视觉UI自动化工具,支持截图解析为结构化元素JSON,并提供点击、输入、等待等桌面操作能力。适合自动化测试、RPA和辅助操作场景,但需本地GPU/CPU资源且存在坐标校准复杂度。

收藏
2.7k
安装
1k
版本
1.0.1
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

UI Element Ops 是一套基于 Microsoft OmniParser 的视觉 UI 自动化技能,提供截图解析桌面操作两大核心能力:

1. 截图解析(Parse)

  • 将 UI 截图转换为结构化 JSON,包含元素类型(button/input/icon等)、边界框坐标(像素/归一化)、OCR 文本、可点击状态
  • 生成带标注框的可视化叠加图(overlay.png)
  • 支持批量处理与多图对比

2. 桌面操作(Operate)

  • 元素查询:按类型/文本模糊查找元素(find
  • 状态等待:等待元素出现/消失(wait
  • 交互执行:点击指定元素、绝对坐标点击、文本输入、键盘按键/快捷键
  • 截图捕获:实时屏幕抓取
  • 坐标校准:多显示器、DPI缩放、窗口偏移的坐标映射矫正

显著优点

  • 视觉驱动,无需侵入:不依赖应用内嵌 API 或 Accessibility 框架,纯视觉识别,跨平台兼容性强
  • 结构化输出:标准化的 JSON schema 便于程序化消费,支持与 Playwright、Selenium 等框架联动
  • 端到端闭环:从感知(截图)→决策(查询/等待)→执行(点击/输入)完整覆盖
  • 开源底座:基于 Microsoft Research 的 OmniParser,模型权重与推理代码可审计

潜在缺点与局限性

| 局限项 | 说明 |
|--------|------|
| **资源消耗** | 需本地 GPU(推荐)或 CPU 推理,首次启动需下载 ~2GB 模型权重 |
| **时序敏感** | 等待/查找依赖轮询截图,高频操作可能产生延迟或竞态条件 |
| **视觉歧义** | 微小文本、密集图标、动态加载内容识别精度下降 |
| **坐标漂移** | 多显示器、DPI 变化、窗口移动后需重新 `calibrate`,否则点击偏移 |
| **无头限制** | 点击/输入/截图等动作需活跃 GUI 会话,纯 SSH/容器环境不可用 |
| **依赖重量** | 需 Python 3.10+、PyTorch、OpenCV、PaddleOCR(可选)等环境 |

适合人群

  • 自动化测试工程师:为无 API 暴露的遗留应用或混合应用构建 UI 测试
  • RPA 开发者:跨应用数据录入、批量表单填写、定时任务执行
  • 辅助技术研究者:为视障用户或操作受限场景提供程序化 UI 代理
  • AI Agent 开发者:作为 computer-use 能力的基础组件,供 LLM 调用

常规风险

1. 误触风险:OCR 误识别或 bbox 偏移可能导致点击错误区域,建议在关键操作前叠加人工确认或截图回显
2. 隐私泄露:截图包含屏幕完整内容,可能捕获敏感信息,需确保输出目录权限与 retention 策略

3. 系统稳定性:自动化键盘/鼠标可能干扰用户当前操作,建议独占会话或虚拟机环境运行

4. 模型幻觉:OmniParser 对复杂布局(如重叠窗口、视频流区域)可能产生虚假检测框

UI Element Ops 内容

agents文件夹
references文件夹
scripts文件夹
手动下载zip · 17.4 kB
openai.yamltext/plain
请选择文件