OmniParser 屏幕解析快速上手指南:一张截图变成 AI 能操作的结构化界面
【免费下载链接】OmniParserA simple screen parsing tool towards pure vision based GUI agent项目地址: https://gitcode.com/GitHub_Trending/omn/OmniParser
想让 AI 替你点按钮、填表格,它得先看懂屏幕。OmniParser 是纯视觉屏幕解析工具:输入一张截图,它圈出所有可点击元素、逐个编号并输出文字描述,大模型对着编号就能下操作指令,全程不读界面代码。
项目速览:OmniParser 能做什么 📌
- 是什么:把任意 GUI 截图解析成"带编号的框选图 + 结构化元素列表",为纯视觉 GUI agent 提供界面理解能力。
- 怎么解析:YOLOv9 检测可交互区域 → OCR 抽取文字 → 视觉语言模型给每个图标生成一句话描述,三步自动完成。
- 支持范围:Windows 桌面、网页、办公软件、移动端截图都能解析,不挑平台。
- 成绩参考:在 GUI 定位基准 ScreenSpot Pro 上,OmniParser V2 配合 GPT-4o 取得 39.5%(评估说明)。
不读界面代码,为什么只看画面更稳
传统自动化框架依赖"接口":网页读 DOM,桌面应用读控件树。这条路有三个麻烦——应用不提供接口就失效(游戏、远程桌面、虚拟机),不同系统接口各不一样,软件一升级脚本就可能挂掉。
OmniParser 换了一条路:把屏幕当成一张普通图片。它先用 YOLOv9 检测所有可点击区域,再用 OCR 读出文字,最后给每个图标补一句描述。输出的是一张 Set-of-Mark 标注图(每个元素带一个编号)加一份编号列表,模型说"点 37 号",坐标就直接对上了。
举个具体例子:Excel 顶部功能区有一百多个按钮,用传统做法你得逐个查对象模型;用 OmniParser 解析截图后,每个按钮都有编号,"插入条件格式"就是列表里的某一号,模型照着编号点就行。
效果展示:每个按钮都被编号 🖼️
下图是 Gradio 演示的真实输出:一张 Google 搜索结果页截图,搜索框、"Follow" 按钮、菜单栏甚至任务栏图标都被画上彩色编号框,右侧同步输出 "icon 0: …" 这样的文字列表,大模型按编号就能选中任意元素。
快速上手:4 步跑通 Gradio 演示 ⚡
以下命令均来自官方 README,照抄即可。
- 克隆仓库并进入目录:
git clone https://gitcode.com/GitHub_Trending/omn/OmniParser cd OmniParser- 创建 Python 3.12 环境并安装依赖:
conda create -n omni python==3.12 conda activate omni pip install -r requirements.txt- 下载检测模型与图标描述模型权重(放入
weights/目录):
huggingface-cli download microsoft/OmniParser-v2.0 icon_detect_v3/model.pt --revision refs/pr/37 --local-dir weights for f in icon_caption/{config.json,generation_config.json,model.safetensors}; do huggingface-cli download microsoft/OmniParser-v2.0 "$f" --local-dir weights; done mv weights/icon_caption weights/icon_caption_florence- 启动演示并上传截图:
python gradio_demo.py浏览器打开http://127.0.0.1:7861,上传任意一张界面截图,点 Submit:左边出带编号的标注图,右边出结构化元素列表。仓库里还有 demo.ipynb 提供几个现成示例。
延伸场景:从截图解析到接管一台 Windows
- 接管真 Windows 11:内置的 OmniTool 把 OmniParser 装进 Docker 里的 Windows 11 虚拟机,配好 API Key 后用一句话下指令,它自己看屏幕、自己点。官方开箱支持 GPT-4o/o1/o3-mini、DeepSeek R1、Qwen-VL、Claude Computer Use。
- 给自家 agent 攒训练数据:OmniParser + OmniTool 支持把操作轨迹记录到本地,方便团队按自己领域的界面构建训练数据流水线。
- 移动端同样能解析:一张 iPad 主屏截图,图标和小组件照样被框出编号。
屏幕解析是 GUI agent 的"眼睛",OmniParser 把这只眼睛做成了能直接跑起来的开源工具。先装好依赖、跑一遍 gradio_demo.py,用一张自己的截图看看它圈得准不准——这是最快判断它适不适合你场景的方式。
【免费下载链接】OmniParserA simple screen parsing tool towards pure vision based GUI agent项目地址: https://gitcode.com/GitHub_Trending/omn/OmniParser
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考