SuperAPI AI 工具集

macpilot-screenshot-ocr

办公与效率

查看项目

更新于 10-15 10:32

技能介绍

MacPilot Screenshot & OCR 是一项 macOS 技能,用 MacPilot 截取屏幕、特定区域或应用窗口的截图,并使用 Apple 内置的 Vision OCR 从图片或屏幕区域中提取文字。

用途

适用于以下场景:需要截取当前屏幕内容;需要从图片文件中提取文字;需要读取屏幕特定区域的文字;需要截取某个应用窗口;需要验证应用的视觉状态;需要录制屏幕。

截图命令

全屏截图:

macpilot screenshot --json # 截取到临时文件 macpilot screenshot ~/Desktop/screen.png --json # 截取到指定路径 macpilot screenshot --with-permissions --json # 直接使用 CGWindowListCreateImage

指定区域:

macpilot screenshot --region 100,200,800,600 --json

区域格式:x,y,width,height(从左上角开始)

指定窗口:

macpilot screenshot --window "Safari" --json # 截取 Safari 窗口 macpilot screenshot --window "Finder" --json # 截取 Finder 窗口

全部窗口:

macpilot screenshot --all-windows --json # 每个窗口单独截取

指定显示器:

macpilot screenshot --display 1 --json # 第二个显示器(从 0 开始索引)

格式选项:

macpilot screenshot --format png ~/Desktop/shot.png # PNG(默认,无损) macpilot screenshot --format jpg ~/Desktop/shot.jpg # JPEG(文件更小)

OCR 命令

从图片文件提取文字:

macpilot ocr scan /path/to/image.png --json macpilot ocr scan ~/Desktop/screenshot.png --json

从屏幕区域提取文字:

macpilot ocr scan 100 200 800 600 --json

参数:x y width height(先截取区域再进行 OCR)

多语言 OCR:

macpilot ocr scan image.png --language en-US --json # 英语 macpilot ocr scan image.png --language ja --json # 日语 macpilot ocr scan image.png --language zh-Hans --json # 简体中文 macpilot ocr scan image.png --language de --json # 德语 macpilot ocr scan image.png --language fr --json # 法语

OCR 点击(在屏幕上查找并点击文字):

macpilot ocr click "Submit" --json # 在屏幕上查找文字并点击 macpilot ocr click "OK" --app Finder --json # 在指定应用中点击文字 macpilot ocr click "Accept" --timeout 10 --json # 重试直到文字出现(10 秒)

OCR 点击会先截图、执行 OCR、查找匹配文字(不区分大小写),然后点击其中心坐标。可用 --timeout 轮询重试,等待文字出现。

屏幕录制(ScreenCaptureKit)

开始录制:

macpilot screen record start --output ~/Desktop/recording.mov --json macpilot screen record start --output rec.mov --region 0,0,1920,1080 --json # 区域 macpilot screen record start --output rec.mov --window Safari --json # 窗口 macpilot screen record start --output rec.mov --display 1 --json # 显示器 macpilot screen record start --output rec.mov --audio --json # 带音频 macpilot screen record start --output rec.mov --quality high --fps 60 --json # 画质

控制录制:

macpilot screen record stop --json # 停止并保存 macpilot screen record status --json # 检查是否正在录制 macpilot screen record pause --json # 暂停录制 macpilot screen record resume --json # 恢复录制

画质选项:low(1 Mbps)、medium(5 Mbps,默认)、high(10 Mbps)。FPS 默认:30。

显示器信息:

macpilot display-info --json

返回:所有显示器及其分辨率、位置、缩放因子

工作流模式

一次流程完成截图与 OCR:

截取指定区域

macpilot screenshot --region 0,0,1920,1080 ~/tmp/capture.png --json

从中提取文字

macpilot ocr scan ~/tmp/capture.png --json

快速对屏幕区域 OCR:

直接对屏幕区域做 OCR,无需保存

macpilot ocr scan 200 100 600 400 --json

查找并点击文字(无需计算坐标):

无需 截图 > OCR > 解析 > 点击,直接:

macpilot ocr click "Submit" --json macpilot ocr click "Next" --timeout 5 --json # 最多等待 5 秒文字出现

验证 UI 状态:

截取窗口查看当前状态

macpilot screenshot --window "Safari" ~/tmp/safari.png --json

读取图片以验证内容

macpilot ocr scan ~/tmp/safari.png --json

录制一段自动化流程:

macpilot screen record start --output ~/Desktop/demo.mov macpilot app open Safari macpilot wait seconds 2 macpilot keyboard key cmd+l macpilot keyboard type "https://example.com" macpilot keyboard key enter macpilot wait seconds 3 macpilot screen record stop

提示

需要在系统设置中为 MacPilot.app 授予屏幕录制权限。

含有文字的截图建议使用 PNG 格式(无损);照片建议使用 JPEG。

OCR 在高对比度文字上效果最佳;若文字较小,可增大截图区域。

截取特定区域前,可用 display-info 获取屏幕尺寸。

坐标系统以左上角 (0,0) 为起点,x 向右递增,y 向下递增。

在 Retina 显示器上,坐标使用逻辑点(而非物理像素)。