手冊 · 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 會自動偵測並標記敏感資訊,並針對支援的語言市場做在地特化——認得當地的身分證字號、統一編號、信用卡號、電話、Email、IPv4/IPv6、API Token 等格式。

全版本Electron 使用 Vision Framework;
Tauri 專屬另支援五層偵測,涵蓋更多在地格式。

設計決策 · 不假裝完美,把控制權留給你

開發時我們發現 OCR 有先天極限——偶爾漏抓或抓錯。我們沒有硬 push「工具必須完美」,而是換一個設計:

  • 把隱私遮蔽的馬賽克做成浮動圖層、範圍可調——OCR 沒蓋到的,你手動一拉補上。辨識失誤從「錯誤」變成「待確認」,工具的不完美無損你的控制權。
  • OCR 自動完成約 90%;你輕輕一拉手動馬賽克,就補完本來 100% 都得手動的活。
  • 遮錯也沒關係——馬賽克是獨立的浮動物件,Delete 一鍵刪除。沒有任何結果是不可逆的。
個人資料表
姓名:王小明
身分證:A123456789
出生日期:1990/05/15
電話:0912-345-678
Email:[email protected]
地址:臺北市中正區忠孝東路 100 號 5 樓
信用卡:4532-1234-5678-9012
⇧K
一鍵遮蔽 →
個人資料表
姓名:王小明
身分證:A123456789
出生日期:1990/05/15
電話:0912-345-678
Email:[email protected]
地址:臺北市中正區忠孝東路 100 號
信用卡:4532-1234-5678-9012

⇧K 一鍵隱私遮蔽——OCR 自動偵測敏感欄位並蓋上馬賽克;每塊馬賽克都是浮動圖層——像圖中身分證那塊被選取時,可以拖移、改變大小或刪除。OCR 沒抓到的,手動補一塊就好。

OCR 自動盡可能辨識,自動標記敏感區域
馬賽克補位OCR 不足的地方,使用者手動接手
UNDO遮錯了?一鍵刪除,沒有不可逆的決定

QR Code 掃描(依畫面佔比決定行為)

掃 QR Code 表面上只有「掃到/沒掃到」兩種結果。但 VAS 不這樣看——它看的是你的意圖,再據此決定下一步。

當你想精準偵測,自然會把 QR Code 完整、且盡量只框住它——這個動作本身就是意圖的宣告。框得越滿,辨識越準、信心度越高,工具越敢直接行動。也因為意圖在框選當下就明確,QR 偵測直接在工具列的矩形截圖觸發,不必進編輯器。

工具不在自己不確定時假裝確定

QR CODE 佔框選面積對應行為邏輯
> 70%高信心 · 直接行動直接開啟網頁或連結,不打擾使用者
21–69%中信心 · 主動詢問開啟編輯器後輕聲問你:「這是你要的連結嗎?」
≤ 20%低信心 · 靜默交手不猜測、不行動,直接把編輯器打開給你接續接下來的行動
> 70%高信心 · 直接行動
21–69%中信心 · 主動詢問
≤ 20%低信心 · 靜默交手
框得越滿,工具越敢直接行動;框得越空,它越傾向把決定交還給你。每一個閾值背後,都是「我知道自己知道多少」的誠實。