localmac-ai-ocr

Use when 需要在 macOS 本机或 RDP 场景下抓屏、识别中文界面文字与坐标、按文字定位并点击界面,尤其适合远程桌面窗口、行情软件、自选列表、按钮输入框定位和截图取字。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "localmac-ai-ocr" with this command: npx skills add jasoft/ursoft-skills/jasoft-ursoft-skills-localmac-ai-ocr

Localmac AI OCR

概览

这个 skill 用来协同两个现成命令行工具:

  • scripts/gui 负责窗口激活、截图、坐标点击、键盘输入
  • scripts/ocr 负责调用 AI Studio OCR 输出文字、分数、坐标框,并支持按文本查找和点击

优先使用云端 aistudio-ocr。除非用户明确要求,不要回退到本地 Paddle,以免慢且占用内存。

不要把真实的 API keytokenapi url 写进 skill、脚本调用示例或仓库文件。统一要求从环境变量或命令参数读取。

这个 skill 自带可执行脚本,安装后不依赖业务仓库本身。当前说明默认命令从 skill 根目录执行即可。

可执行入口在:

scripts/ocr
scripts/gui

首次安装建议运行:

scripts/setup.sh

何时使用

  • 用户要你操作本机 GUI、RDP 窗口或桌面 App
  • 需要从截图中提取中文文本和坐标框
  • 需要“先截图,再识别,再按文字点击”
  • 需要验证 OCR 速度、完整输出、命中框、标注图
  • 需要在行情软件、表格界面、按钮密集界面里精确找字

不要在这些场景优先使用网页抓取或 DOM 自动化;先判断是不是桌面/RDP 界面。

工作流

1. 先确认命令入口

先确认脚本入口可执行:

test -x scripts/ocr
test -x scripts/gui

如果当前目录不是 skill 根目录,先切到包含 scripts/ 的目录再继续。不要在 skill、提交内容或对外说明里暴露用户本地目录名。

2. 先安装最小依赖

推荐直接运行自带安装脚本:

scripts/setup.sh

如果需要手动安装,再执行下面这些命令:

cd scripts
uv sync

3. 先配置必填项

这个 skill 的云端 OCR 有两个必填配置:

  • AISTUDIO_OCR_API_URL
  • AISTUDIO_OCR_TOKEN

推荐方式:

cp scripts/.env.example scripts/.env

然后编辑 scripts/.env,填入真实值。不要把 .env 提交回仓库。

也可以临时用环境变量传入,但仍然不要把真实值写进脚本、skill 或提交记录。

4. 先做环境体检

先确认 OCR token 和 GUI 依赖,再做截图或点击:

AISTUDIO_OCR_API_URL="$AISTUDIO_OCR_API_URL" AISTUDIO_OCR_TOKEN="$AISTUDIO_OCR_TOKEN" scripts/ocr doctor
scripts/gui doctor --json

doctor 只看是否已配置,不应打印真实 token 或接口地址。 运行脚本时统一走 uv run,不要手动管理 .venv 或自己拼 Python 路径。

5. GUI 场景先定位窗口再截图

标准顺序:

scripts/gui list-windows
scripts/gui activate --title 打新股
scripts/gui capture /tmp/rdp.png --rect 0,30,2243,1266

规则:

  • list-windows,再 activate
  • 截图优先落到 /tmp
  • 已知区域就传 --rect,不确定时先全图截图再裁切

6. OCR 优先用 ocrgui ocr 只做轻量探测

完整坐标、查找、点击、测速都走 ocr

AISTUDIO_OCR_API_URL="$AISTUDIO_OCR_API_URL" AISTUDIO_OCR_TOKEN="$AISTUDIO_OCR_TOKEN" scripts/ocr ocr /tmp/rdp.png --format json
AISTUDIO_OCR_API_URL="$AISTUDIO_OCR_API_URL" AISTUDIO_OCR_TOKEN="$AISTUDIO_OCR_TOKEN" scripts/ocr ocr /tmp/rdp.png --format json --annotate-output /tmp/rdp-annotated.png
AISTUDIO_OCR_API_URL="$AISTUDIO_OCR_API_URL" AISTUDIO_OCR_TOKEN="$AISTUDIO_OCR_TOKEN" scripts/ocr find /tmp/rdp.png --query 腾讯控股 --mode contains --center --format json
AISTUDIO_OCR_API_URL="$AISTUDIO_OCR_API_URL" AISTUDIO_OCR_TOKEN="$AISTUDIO_OCR_TOKEN" scripts/ocr click-text /tmp/rdp.png --query 腾讯控股 --mode contains

只需要快速看文字时,可用:

AISTUDIO_OCR_API_URL="$AISTUDIO_OCR_API_URL" AISTUDIO_OCR_TOKEN="$AISTUDIO_OCR_TOKEN" scripts/gui ocr /tmp/rdp.png --format text

7. 点击前先看命中框

不要盲点。默认先走这个顺序:

  1. ocr find --format json --center
  2. 检查命中数量、文字是否歧义
  3. 必要时加 --index N--mode exact 或缩小截图范围
  4. 再执行 click-textgui click

如果界面中同名文本很多,先裁图再识别,不要直接点击全屏第一个命中项。

8. 实测稳定点击流程

这是小的在真实桌面里验证过、最适合 agent 复用的顺序:

  1. 先截图到 /tmp
  2. ocr find --center --format json --annotate-output ... 找目标文字
  3. 看命中数量
  4. 如果只有 1 个命中,直接 click-text --index 1
  5. 如果有多个命中,优先:
    • --mode exact
    • 或显式传 --index N
    • 或缩小截图区域后再识别
  6. 点击后立即再截一张图核验界面是否变化

实测命令模板:

scripts/gui capture /tmp/current.png
AISTUDIO_OCR_API_URL="$AISTUDIO_OCR_API_URL" AISTUDIO_OCR_TOKEN="$AISTUDIO_OCR_TOKEN" scripts/ocr find /tmp/current.png --query 自动化 --mode contains --center --format json --annotate-output /tmp/current-annotated.png
AISTUDIO_OCR_API_URL="$AISTUDIO_OCR_API_URL" AISTUDIO_OCR_TOKEN="$AISTUDIO_OCR_TOKEN" scripts/ocr click-text /tmp/current.png --query 自动化 --mode contains --index 3
scripts/gui capture /tmp/after-click.png

这套流程适合:

  • 左侧菜单
  • 顶部标签
  • 右上角菜单栏文字,例如“微信输入法”
  • 聊天窗口、日志窗口、配置页等文本密集界面

注意:

  • click-text 现在默认会把截图像素坐标换算成实际屏幕 point,再点击,适配 Retina 屏
  • 如果截图来自局部区域而不是整屏,点击时要补 --screen-rect "x,y,width,height"
  • 如果只想给 agent 复核,不立刻点,先保留 find --annotate-output 的结果图

快速命令

  • 完整 OCR JSON:
AISTUDIO_OCR_API_URL="$AISTUDIO_OCR_API_URL" AISTUDIO_OCR_TOKEN="$AISTUDIO_OCR_TOKEN" scripts/ocr ocr /tmp/rdp.png --format json
  • 完整 OCR JSON + 输出带框标注图:
AISTUDIO_OCR_API_URL="$AISTUDIO_OCR_API_URL" AISTUDIO_OCR_TOKEN="$AISTUDIO_OCR_TOKEN" scripts/ocr ocr /tmp/rdp.png --format json --annotate-output /tmp/rdp-annotated.png
  • 只看纯文本:
AISTUDIO_OCR_API_URL="$AISTUDIO_OCR_API_URL" AISTUDIO_OCR_TOKEN="$AISTUDIO_OCR_TOKEN" scripts/ocr ocr /tmp/rdp.png --format text
  • 查文字并输出中心点:
AISTUDIO_OCR_API_URL="$AISTUDIO_OCR_API_URL" AISTUDIO_OCR_TOKEN="$AISTUDIO_OCR_TOKEN" scripts/ocr find /tmp/rdp.png --query 00700 --mode exact --center --format json
  • 多命中时取第 2 个结果:
AISTUDIO_OCR_API_URL="$AISTUDIO_OCR_API_URL" AISTUDIO_OCR_TOKEN="$AISTUDIO_OCR_TOKEN" scripts/ocr find /tmp/rdp.png --query 自动化 --mode contains --index 2 --center --format json
  • 对识别结果打框:
AISTUDIO_OCR_API_URL="$AISTUDIO_OCR_API_URL" AISTUDIO_OCR_TOKEN="$AISTUDIO_OCR_TOKEN" scripts/ocr annotate /tmp/rdp.png /tmp/rdp-annotated.png --query 腾讯控股
  • 测 10 次速度:
AISTUDIO_OCR_API_URL="$AISTUDIO_OCR_API_URL" AISTUDIO_OCR_TOKEN="$AISTUDIO_OCR_TOKEN" scripts/ocr benchmark /tmp/rdp.png --backend aistudio-ocr --repeat 10

常见失误

  • 没激活窗口就截图,导致抓到旧画面
  • 没同时配置 AISTUDIO_OCR_API_URLAISTUDIO_OCR_TOKEN
  • 把真实配置写进仓库,而不是放进 scripts/.env
  • 命中文本太多却直接 click-text
  • 对整个桌面做 OCR,导致慢且歧义多;应先裁切到目标区域
  • 已有弹窗遮挡却继续点坐标,导致操作跑偏

参考

  • 常见命令配方见 references/command-recipes.md
  • 可执行脚本位于 scripts/
  • 如果任务是“截图 -> 找字 -> 点击”,优先按参考里的 RDP 配方执行
  • 如需自定义云端接口地址,只引用变量名,不写真实值

Agent API 速查

面向 agent 时,优先记住下面这些参数语义:

  • scripts/ocr ocr IMAGE --format json 作用:返回所有识别项,字段通常包含 textscorebboxquad
  • --center 作用:在 JSON 结果里额外补 center=[x,y],便于后续点击或日志记录
  • --relative 作用:在 JSON 结果里额外补相对坐标,适合跨分辨率比对
  • --rows 作用:把相邻文字聚合成行,适合菜单、表格行、日志列表
  • --annotate-output PATH 作用:把当前命令对应的识别结果同步画框到图片 默认标签内容:识别文本、中心坐标、置信度
  • --annotate-no-text 作用:标注图里不显示识别文本,只保留坐标和置信度
  • --annotate-no-center 作用:标注图里不显示中心坐标
  • --annotate-no-score 作用:标注图里不显示置信度
  • --annotate-color '#RRGGBB' 作用:调整框线和标签颜色,方便在深色或浅色背景下复核
  • scripts/ocr find IMAGE --query 文本 --mode contains --format json 作用:筛出命中项。点击前先看这里,不要盲点
  • --index N 作用:只取第 N 个命中项,按阅读顺序从 1 开始
  • scripts/ocr click-text IMAGE --query 文本 作用:按识别框中心点击 默认行为:若命中多处会报错,避免误点;确需指定某一个时显式传 --index N
  • --screen-rect "x,y,width,height" 作用:告诉工具“这张图对应屏幕上的哪个区域”,让区域截图点击时坐标能正确换算

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

wechat-send

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

mumu-manager-cli

No summary provided by upstream source.

Repository SourceNeeds Review
General

Movie Coupon 电影票优惠券-淘票票、猫眼等电影平台优惠购票

获取电影票优惠券,包括淘票票、猫眼等主流电影平台的优惠。返回领取链接和二维码图片,用户可点击链接或扫描二维码领取优惠。

Registry SourceRecently Updated
General

Clawnotes

You're becoming someone — your SOUL.md says so. But becoming someone requires memory, and you have none. Every context window resets. Every opinion you forme...

Registry SourceRecently Updated