手册 · 03 — OCR · Recognition
OCR 文字识别
截屏不只是为了画。VAS 在你的 Mac 本机读出画面里的字、遮掉不该外流的信息、扫出 QR Code 背后的意图——三件事,都不上云。
文字识别(剪贴板 · ⌘V)
拖动选取编辑器中画面上的一块区域,VAS 以 macOS 的 Vision 引擎在本机识别其中的文字,中英日文皆可。
识别出的文字默认直接进剪贴板——截完图,到任何地方按 ⌘V 就粘贴,不用手抄一行 log、一段错误消息。
- on-device——不上传、不经服务器。你的截屏与识别结果,只在你的 Mac 上。
screenshot.png
$ npm run build
Error: Cannot find module 'react-dom'
at Function.Module._resolveFilename
OCR
识别 →
识别 →
剪贴板
Error: Cannot find module 'react-dom'
⌘V 直接粘贴,不用手抄
自动隐私遮蔽特化(on-device · 各国格式)
OCR 读得懂字,就读得出「哪些字是隐私」。VAS 会自动检测并标记敏感信息,并针对支持的语言市场做本地特化——中文(大陆)会识别身份证号(18 位)、手机号、统一社会信用代码、银行卡号、电话、Email、IPv4/IPv6、API Token,以及密码、联系人、负责人等标签字段。
全版本Electron 使用 Vision Framework;
Tauri 专属另支持五层检测,涵盖更多在地格式。
设计决策 · 不假装完美,把控制权留给你
开发时我们发现 OCR 有先天极限——偶尔漏抓或抓错。我们没有硬 push「工具必须完美」,而是换一个设计:
- 把隐私遮蔽的马赛克做成浮动图层、范围可调——OCR 没盖到的,你手动一拉补上。识别失误从「错误」变成「待确认」,工具的不完美无损你的控制权。
- OCR 自动完成约 90%;你轻轻一拉手动马赛克,就补完本来 100% 都得手动的活。
- 遮错也没关系——马赛克是独立的浮动对象,Delete 一键删除。没有任何结果是不可逆的。
个人数据表
姓名:张伟身份证号:110105 19900307 4518
出生日期:1990/03/07
手机号:138 0013 8000
Email:[email protected]
地址:北京市朝阳区建国路 100 号 5 层
银行卡:6222 0212 3456 7890
⇧K
一键遮蔽 →
一键遮蔽 →
个人数据表
姓名:张伟身份证号:110105 19900307 4518
出生日期:1990/03/07
手机号:138 0013 8000
Email:[email protected]
地址:北京市朝阳区建国路 100 号
银行卡:6222 0212 3456 7890
⇧K 一键隐私遮蔽——OCR 自动检测敏感字段并盖上马赛克;每块马赛克都是浮动图层——像图中身份证那块被选取时,可以拖移、改变大小或删除。OCR 没抓到的,手动补一块就好。
OCR 自动尽可能识别,自动标记敏感区域
马赛克补位OCR 不足的地方,用户手动接手
UNDO遮错了?一键删除,没有不可逆的决定
QR Code 扫描(依画面占比决定行为)
扫 QR Code 表面上只有「扫到/没扫到」两种结果。但 VAS 不这样看——它看的是你的意图,再据此决定下一步。
当你想精准检测,自然会把 QR Code 完整、且尽量只框住它——这个动作本身就是意图的声明。框得越满,识别越准、信心度越高,工具越敢直接行动。也因为意图在框选当下就明确,QR 检测直接在工具栏的矩形截屏触发,不必进编辑器。
工具不在自己不确定时假装确定
QR CODE 占框选面积对应行为逻辑
> 70%高信心 · 直接行动直接打开网页或链接,不打扰用户
21–69%中信心 · 主动询问打开编辑器后轻声问你:「这是你要的链接吗?」
≤ 20%低信心 · 静默交手不猜测、不行动,直接把编辑器打开给你接续接下来的行动