Operit UI 自动化总览:让它替你点屏幕的双通道架构
为什么 Operit 的 UI 自动化和别家不一样
市面 Android 自动化工具大多是单一路径:要么基于坐标点击(容易点错),要么基于无障碍节点(需要应用原生控件配合)。Operit 用了双通道互补设计:
- UI Tree + uiautomator dump:走无障碍通道,读取当前界面的元素层级树——结构化、精准、不依赖视觉
- AutoGLM(智谱)+ 视觉模型:直接分析屏幕截图,理解画面语义——处理原生控件树覆盖不到的 Canvas 绘制界面
两条路互补,比单截图更稳。
前置条件
UI 自动化能力需要至少 无障碍档 权限:
- 开启系统无障碍服务 → Operit 的「AI 助手接口服务」开关
- 确认 Operit 能读取当前屏幕截图
- 切换到需要自动化的目标应用(微信、浏览器等)
没有开无障碍服务时,UI 自动化完全不可用——先去 无障碍服务开启 完成配置。
能力清单
| 能力 | 说明 | 依赖通道 |
|---|---|---|
| 模拟点击 | 指定坐标或元素 ID 执行点击 | UI Tree + 坐标 |
| 滑动操作 | 上下左右滑动指定距离 | 坐标 |
| 长按 / 双击 | 模拟长按或双击手势 | 坐标 |
| UI Tree 读取 | 获取当前界面元素层级树 | 无障碍 |
| 文本输入 | 在指定输入框内填入文字 | UI Tree |
| 屏幕截图 | 获取当前屏幕画面 | 无障碍 |
| 视觉理解 | 让 AI 看截图回答界面问题 | AutoGLM |
工作流示意
让 Operit 执行一条 UI 自动化指令时,内部流程:
用户指令 → Agent 规划 → 确定操作序列
↓
├── UI Tree 路径(优先)
│ └── dump 当前界面 → 解析元素层级 → 定位目标控件 → 执行操作
│
└── AutoGLM 路径(UI Tree 不覆盖时)
└── 截图 → 发给视觉模型 → 模型判断「要点哪里」→ 按坐标执行
规划模式(Plan-mode IPC,v1.12 新增)会让 Agent 先输出行动计划再执行——减少直接执行的风险。
能力边界(诚实讲它做不到什么)
- 部分游戏界面无效:游戏界面通常走 Canvas 或 SurfaceView 绘制,UI Tree 拿不到元素,视觉理解也难以精准定位
- 屏幕录制 / 截屏保护:部分应用(银行、付费视频)的防截屏措施也会阻止 Operit 读取画面
- 后台操作受限:Android 11+ 对后台应用启动有限制,Operit 需要在前台或通过前台服务运行
- 操作频率:太快的连续操作可能被 Android 系统节流
- 安全敏感操作:涉及权限授予、付费确认等系统对话框,Operit 可能需要人工确认
从基础到进阶
UI 自动化的核心页面:
- UI Tree 元素读取:理解无障碍通道怎么看界面
- AutoGLM 视觉理解:视觉模型怎么帮它看图
- 实操:让它替你点微信:端到端完整案例