全檔掃描(ocr scan)

不需 Git diff 的整檔評審——審計陌生 codebase 或沒有有意義 diff 的目錄

是什麼

ocr scan 直接從工作樹讀取每個檔案的目前內容交給 LLM 評審,不需要 Git diff。適合:

基本用法

ocr scan                            # 掃描整個倉庫
ocr scan --path internal/agent      # 掃描單一目錄
ocr scan --path internal/agent,internal/llm/client.go
ocr scan --exclude '**/generated/*,*.pb.go'
ocr scan --preview                  # 看會掃哪些檔(不花 token)

參數

參數簡寫預設說明
--path <list>整個倉庫逗號分隔的 repo 相對目錄或檔案
--exclude <patterns>逗號分隔的 gitignore 風格排除模式;與 rule.json 的 excludes 合併
--preview-pfalse列舉並過濾但跳過 LLM

ocr review 一樣接受 --format json--audience agent--resume--provider--model--max-tokens 等。

scan vs review

面向ocr reviewocr scan
輸入Git diff(三種模式)整個工作樹檔案
需要 Git 歷史
適用PR / commit 評審整檔審計、陌生 codebase
預覽--preview--preview
📖 教學解說:全檔掃描深入

scan vs review 的本質差異

ocr review 審的是「變更了什麼」(Git diff),ocr scan 審的是「檔案長什麼樣」(完整內容)。這不是功能差異——是使用場景差異

  • 有 Git 歷史、要審 PR → review
  • 審計遺留程式碼、陌生 codebase → scan
  • 沒有有意義的 diff(首次導入)→ scan

--path 與 --exclude 的組合技巧

--path 接受逗號分隔的目錄或檔案,可以精確控制掃描範圍。配合 --exclude 排除生成碼:

ocr scan --path src/api,src/db --exclude '**/generated/*,*.pb.go'

這只掃描 API 和 DB 層,排除 protobuf 生成檔。

--preview 是你的安全網

ocr scan --preview 可以不花 token 看到會掃描哪些檔案。這是第一次 scan 的必跑步驟——確保你不會掃到不該掃的(如含敏感資料的目錄)。

練習 / 驗收清單

  • 能區分 ocr scan 與 ocr review 的根本差異
  • 能使用 --path 與 --exclude 控制掃描範圍
  • 能用 --preview 確認掃描範圍
看完這頁你應該能說出ocr scanocr review 的根本差異(diff vs 整檔)、--path--exclude 的用法、以及何時該用 scan。

延伸閱讀:CLI 參考 · 評審規則