Operit AI 中文文档 下载 App

AutoGLM 视觉理解:让 Operit 看懂屏幕画面

为什么需要视觉理解

UI Tree 虽然精准,但有明显盲区:Canvas 绘制的游戏界面、自定义 SurfaceView、WebView 内嵌页面——这些在 UI Tree 里要么只显示一个容器节点,要么完全缺失。这时候就需要让 AI 直接看屏幕画面来判断该点哪里。

Operit 集成了智谱 AI 的 AutoGLM 视觉模型做这件事。

AutoGLM 是什么

AutoGLM 是智谱 AI 推出的面向 GUI 自动化的视觉-语言模型。它接收截图 + 自然语言指令,输出具体的坐标点击位置或操作序列——不是通用的图像描述,是直接可执行的操作指令。

这和 Operit 的 UI Tree 路径形成互补:

工作原理

截图 + 用户指令 → AutoGLM 视觉模型 → [坐标(x,y), 操作类型, 置信度]

举个例子,你说「把视频播放器调到 1.5 倍速」:

  1. UI Tree dump → 播放器控件可能只是个 SurfaceView 容器,内部倍速按钮位置拿不到
  2. 回退到 AutoGLM → 截一张屏,发给模型
  3. 模型看截图,理解画面里的「倍速」按钮在坐标 (820, 450),输出这个位置
  4. Operit 模拟点击 (820, 450)

什么时候走视觉路径

Operit 内部有自动判断逻辑,大致触发条件:

也可以强制走视觉路径,在指令里暗示视觉:

「看截图里那个蓝色图标,点它」「找到画面右上角的设置齿轮」

视觉路径的局限(要诚实)

精度不如 UI Tree

AutoGLM 输出的是坐标范围而非具体控件,密集界面上可能点错旁边的按钮。Operit 会做二次确认——如果点了之后界面没变化,它会截图再看,修正坐标再点。

依赖云端模型

AutoGLM 是云端 API,需要网络连接。本地视觉模型替代方案还在探索中。如果网络不好,视觉路径会慢或直接失败。

遮挡和干扰

有弹窗、广告、系统通知挡住目标时,模型可能被迷惑。建议在干净界面下操作。

不同 DPI / 分辨率适配

AutoGLM 在训练时见过各种设备分辨率,但极端分辨率(如折叠屏、小屏设备)上坐标输出可能偏差。Operit 内部会按屏幕尺寸做归一化。

实际使用场景

场景UI Tree 能处理?需要视觉?
点击微信聊天列表项✓✗
在 Canvas 绘制的游戏里点技能✗✓
WebView 内嵌页面里点按钮部分✓
滚动到页面底部再看✓辅助定位
识别屏幕上的文字内容部分(TextView)✓

调试与验证

如果 UI 自动化失败,可以让 Operit 先截图再说话:

「先截一张当前屏幕图,然后告诉我要保存那个 PDF 文件应该点哪里」

它会截图、发送给视觉模型、返回判断——比直接让它动手多一步验证,减少误操作。