cmd/opencodereview/scan_cmd.go(8,096 bytes)scan_cmd.go 定義 ocr scan。與 review 最大的不同:沒有 diff provider。scan 直接讀工作樹中每個檔案的目前內容,交給 scan 專用模板(scan_template.json)與 agent 評審。適合審計陌生 codebase 或沒有有意義 diff 的目錄。
scanOptions 收集 --path、--exclude、--preview 等。splitPaths 把 "internal/agent,internal/llm/client.go" 拆成 []string——預設(空)表示整個倉庫。
與 executeReview 結構相似但更輕:解析端點 → 用 scan_template.json(scan 專用 prompt,不含 diff 佔位符)組 agent → 跑批次掃描 → 渲染。scan 的 agent 批次邏輯在 internal/scan/(batch、coverage、estimate)。
runScanPreview 列舉並過濾檔案(不呼叫 LLM),印出可評審/排除數量、總行數與每個檔的排除原因。loadScanResumeState 支援從中斷的 scan 會話恢復。
splitPaths 的逗號語法、以及 scan 為何用獨立的 scan_template.json。下一步:internal/agent 或回程式碼對照。