量化桥楚 发表于 2026-9-15 18:40:35

屏幕级GUI自动化:让AI像人一样"看"屏幕、"动"鼠标

现在让 AI 直接操作电脑的场景越来越多了——帮订票、填表、查资料,甚至代你去翻群消息、找收藏夹里的文件。这背后有一项关键技术:屏幕级 GUI 自动化。今天把这个概念讲清楚。
一、它"看"屏幕,而不是"读"代码
传统 GUI 自动化(Selenium、Appium、Windows UI Automation 等)走的是结构化路线:通过应用的控件树、元素 ID、无障碍接口来定位按钮和输入框,再触发点击。这相当于"拿着图纸找零件"。
屏幕级自动化走的是视觉路线:截取屏幕画面 → 用图像识别 / OCR / 视觉大模型理解画面内容 → 决定操作位置 → 模拟鼠标键盘执行。这相当于"用眼睛看、用手点"。
图:GUI 自动化两条路线——控件级 vs 屏幕级两者对比一下:
· 定位依据:控件树、ID、XPath ✕ 截图、像素、文字 OCR
· 应用配合:需要暴露接口或调试权限 ✕ 基本不需要
· 跨平台能力:每套系统各写一套 ✕ 一套视觉逻辑可通吃
· 面对黑盒软件:常常无能为力 ✕ 照样能操作
二、它是怎么跑起来的
一个典型的循环:感知(截取当前屏幕)→ 理解(判断屏幕上有什么、当前处于什么状态)→ 决策(根据任务目标推断下一步点哪里、输入什么)→ 执行(通过系统级接口模拟鼠标键盘)→ 反馈(再截一次屏验证结果),循环往复,直到任务完成。
图:屏幕级自动化的工作循环三、为什么它最近重新火了
因为多模态大模型补上了最关键的一环。过去屏幕级自动化最大的痛点是"看不懂画面"——只能做死板的模板匹配,界面一改就崩。现在视觉语言模型能真正理解"这个蓝色方块是登录按钮",泛化能力和容错性大幅提升。这也是各类"电脑操作智能体"(Computer Use Agent)、手机端 AI 助手的底层技术。
四、优势与短板
优势很突出:无需接口、无需源码,闭源软件、老旧系统、游戏、远程桌面、虚拟机里都能跑;真正跨平台,Windows / macOS / Linux / Android / iOS 逻辑统一;更贴近人类操作,能处理跨多个应用、甚至无控件界面的流程。
短板也要清醒:稳定性弱,分辨率、缩放比例、主题皮肤、弹窗广告一变就可能失效;速度慢、成本高,每步截图+大模型推理都是开销;精度有风险,坐标定位不如控件定位精确,误点后果难回滚(尤其在支付、删除场景);可维护性差,业务流程一改脚本往往要重调。
五、典型应用
· 跨系统、跨软件的重复性办公流程(报税、对账、数据搬运)
· 无法获取 API 的老旧企业系统(银行终端、ERP 客户端)
· 软件自动化测试中的视觉回归验证
· AI 智能体自主操作电脑 / 手机(订票、填表、信息检索)
· 无障碍辅助:帮视障或行动不便的用户代为操作界面
一句话总结:控件级自动化是"跟软件讲道理",屏幕级自动化是"像人一样动手"。前者精准高效但挑对象,后者通用包容但更依赖"眼力"和容错设计。实际落地中两者常结合使用——能用控件就用控件,用不了再退回屏幕级兜底。

量化桥楚 发表于 2026-9-15 18:50:20

实战篇:用屏幕级自动化操作微信客户端
上帖讲了概念,这里补一份两天的实战记录。任务听起来简单:让 AI 打开微信,进群里找信息、翻一遍收藏夹。但微信恰好是屏幕级自动化最典型的适用对象——4.x 版本本地数据库是 SQLCipher 加密的,没有开放接口,主流自动化工具也只认 3.x 老版本。控件级和数据库路线全部走不通,只剩"看屏幕、动鼠标"一条路。
第一天的活:进群找信息
· 用 Win32 API 枚举窗口,按窗口标题定位微信主窗口
· 窗口最小化时坐标会变成 (-32000,-32000),必须先恢复再拖回屏幕内,否则点不到任何东西
· 直接调 SetForegroundWindow 激活窗口经常失败,改用"强制置顶"的方式把窗口顶到前台
· 然后就是截图 → 看图认界面 → 算坐标 → 模拟点击,一步步导航进群、翻消息
第二天的活:翻收藏夹
· 定位左侧栏图标:先截图、裁剪局部放大 4 倍再量坐标——缩放过的截图量出来的坐标有偏差,第一下就点歪了
· 最大的坑:列表滚动。模拟滚轮、拖拽滚动条对这个界面统统无效,最后用 PostMessage 往窗口发底层滚轮消息(WM_MOUSEWHEEL)才滚得动
· 每滚一屏截一张图,逐屏识别内容,翻了 26 屏、65 条收藏,全程零失误
· 完事把窗口取消置顶、还原最小化,不留痕
几条经验
1. 屏幕级自动化的核心循环确实就是上帖说的"感知→理解→决策→执行→验证",但每一步都可能遇到标准方法失效,要备好两三层后备方案:正常 API 不行就换系统调用,系统调用不行就发底层消息。
2. 坐标必须 1:1 量取。看缩放过的截图量坐标,误差会让你点中隔壁的按钮。
3. 操作别人正在用的电脑,收尾一定要把一切还原。屏幕级自动化是在真实桌面上动手,干净进出是基本素养。
总结成一句话:控件级自动化是"跟软件讲道理",屏幕级自动化是"像人一样动手"——而"像人一样动手"的前提,是先学会"像人一样看"。
页: [1]
查看完整版本: 屏幕级GUI自动化:让AI像人一样"看"屏幕、"动"鼠标