核心用法
screen-vision 是一款面向 macOS 的终端 CLI 工具,整合了 Apple Vision 框架的 OCR 能力与 ScreenCaptureKit 的屏幕捕获技术,实现屏幕文字识别、定位及自动化点击操作。用户可通过 --app 指定目标应用窗口,或使用 --region 限定捕获区域,执行 ocr、find、tap、wait 等命令完成从文字检测到 UI 交互的完整自动化流程。
显著优点
- 原生 Apple 技术栈:直接调用 Apple Vision 与 ScreenCaptureKit,无需第三方 OCR 服务,识别速度快且离线可用,隐私数据不上传云端。
- 精准坐标输出:返回文字区域的像素级坐标 (
x, y, w, h) 及置信度,便于精准点击或后续图像处理。 - 灵活的交互模式:支持
has命令作为 shell 条件判断、wait命令实现轮询等待、tap带重试机制的点击,适配复杂自动化场景。 - JSON 管道友好:OCR 结果可直接管道至
jq等工具处理,便于集成到现有脚本工作流。
潜在缺点与局限性
- 平台绑定严格:仅支持 macOS 14.0+,无法跨平台使用。
- 权限依赖较重:必须授予屏幕录制权限,且
tap功能额外依赖cliclick外部工具,增加部署复杂度。 - 视觉识别局限:依赖 OCR 准确性,对低对比度、小字体、特殊排版或动态加载内容的识别可能不稳定;无法处理纯图标按钮(无文字)的交互。
- 无官方维护背书:由个人开发者 (
jackyun1024) 维护,长期更新与安全性保障存在不确定性。
适合人群
- macOS 平台的 QA 工程师与自动化测试开发者
- 需要构建 UI 自动化工作流的技术用户(如配合 Keyboard Maestro、Hammerspoon 等工具)
- 无障碍辅助需求开发者,需通过脚本与图形界面交互
常规风险
- 屏幕录制权限滥用:工具本身需高频访问屏幕内容,若被恶意脚本调用,存在敏感信息泄露风险。
- 误点击风险:
tap命令基于坐标模拟点击,若 OCR 定位偏差或界面动态变化,可能触发错误操作。 - 依赖链风险:Homebrew tap 与
cliclick的外部依赖若被篡改,可能引入供应链攻击面。建议从源码构建并校验签名。