SCM(Screen Memories)是一款開源的 macOS 應用程式,主打「本地優先」(Local-first)架構,無需帳號、雲端上傳,所有推論均在用戶的 Mac 上執行。該工具利用本地視覺模型、OCR 及語音辨識技術,允許用戶以自然語言描述記憶,搜尋資料夾中的每一張照片及每一幀影片。首次使用特定模型時需下載權重(如預設 CLIP 約 435MB),下載完成後即可完全離線運作。
核心功能包括五種搜尋模式: 1. **檔案(Files)**:透過視覺模型對整張照片或影片進行語義搜尋,結合檔名與短語增強,並提供匹配原因標記(如視覺匹配、檔名匹配)。 2. **場景(Scenes)**:將影片分割為場景並嵌入向量,搜尋結果可直接跳轉至特定時間碼的鏡頭,而非僅定位檔案。每個影片最多貢獻 3 個場景結果,並設有噪聲閾值避免無意義結果。 3. **OCR**:使用 Tesseract 進行文字辨識,支援精確文字匹配,並處理跨詞框的地址重組。此模式不依賴視覺模型,即使 AI 引擎未啟動或離線時仍可使用。 4. **對話(Dialogue)**:使用 Whisper 進行語音轉錄,支援精確字句搜尋,結果分為精確行、精確詞語及同影片詞語三個層級。此模式同樣不依賴嵌入向量,可在 AI 引擎關閉時運作。 5. **LLMs(Ask)**:選配功能,使用本地 llama.cpp 側車程序,基於已提取的對話、OCR 文字及檔名證據回答問題,並提供可點擊的引用來源。支援 Qwen3 1.7B(預設)或 Llama 3.2 3B 模型。
特色功能與介面: - **標籤頁管理**:支援將任何查詢(含搜尋模式)保存為標籤頁,最多 20 個,可重命名並精確還原。內建「所有」、「影片」、「截圖」及「Email」標籤頁,後兩者可在設定中切換。 - **Email 標籤頁**:專門搜尋包含電子郵件地址的照片,具備 OCR 容錯能力,能重組被 Tesseract 斷開的地址、處理逗號誤植、分割 TLD 及口述地址格式。 - **截圖標籤頁**:具備抗重命名分類邏輯,依優先順序使用手動覆蓋、檔名詞彙(支援 20+ 語言)、PNG/EXIF 元數據探測及來源資料夾提示來識別截圖。 - **視覺模型切換**:支援切換 CLIP ViT-L/14、SigLIP-2 系列等多種模型。切換時會在背景重新嵌入整個庫而不阻塞搜尋,期間搜尋暫時回退至檔名關鍵字匹配。 - **影片處理**:使用 ffmpeg 掃描鏡頭邊界,用戶可選擇從 Eco 到 Ultra Pro 的不同採樣密度預設。對話轉錄使用 Whisper tiny.en 或 base.en 模型。 - **OCR 語言支援**:支援英語及 35 種其他語言(預設包含簡繁中文、日文、韓文),語言包下載後離線使用。
安裝與管理: - 推薦透過 Homebrew 安裝(需 macOS 12+ 及 Apple Silicon),自動處理 macOS 隔離標記。 - 支援監視資料夾自動導入,透過內容哈希(SHA-256)進行去重,並處理檔案重命名。 - 提供具名嵌入版本快照功能,支援還原與備份。 - 所有數據存儲於 `~/Library/Application Support/scm`,無遙測數據收集。
開發與測試: - 使用 Bun 作為包管理器與執行器,基於 Electron 架構。 - 包含單元測試、端到端冒煙測試及基準測試腳本。 - 首次構建需下載 Electron 與 ffmpeg 二進制文件,後續構建速度較快。
事件背景
SCM 依賴多種開源 AI 模型與技術: - **視覺模型**:使用 ONNX Runtime 執行 CLIP ViT-L/14@336(預設)、SigLIP-2-B/16、SigLIP-2-L/16@256 及 SigLIP-B/16@384。這些模型用於生成影像嵌入向量以進行語義搜尋。 - **語音辨識**:使用 Whisper tiny.en(約 150MB)或 base.en(約 300MB)模型進行影片對話轉錄。 - **OCR**:使用 Tesseract 引擎,支援英語及 35 種其他語言包。 - **大型語言模型**:選配功能使用 llama.cpp 側車程序,支援 Qwen3 1.7B(預設,約 1.1GB)或 Llama 3.2 3B(約 2GB)模型,用於基於本地證據的問答。 - **基礎設施**:應用基於 Electron 構建,使用 React 渲染器,並通過 electron-builder 打包。依賴 Bun 進行開發與測試。
社群觀察
社群討論主要集中在技術選型與法律問題: - **OCR 技術選型**:用戶 postalcoder 建議在 macOS 上應使用 Apple 的 Vision Framework 而非 Tesseract,認為前者在速度和準確性上更優。該用戶提到,將標題輸入給 Claude、DeepSeek、Qwen 和 Codex 等模型並詢問技術棧建議時,發現它們均推薦 Apple Vision Framework,而非 Tesseract。 - **版權與 LLM 影響**:用戶 alt227 提出關於 LLM 時代版權的問題,質疑大型科技公司是否可通過 LLM 複製類似 SCM 的創意,從而規避版權法並保持競爭優勢。 - **跨平台替代方案**:用戶 lucideer 提到 Immich 提供類似的跨平台 AI 搜尋功能,但指出 SCM 在「每一幀」搜尋及搜尋質量上可能有不同之處。 - **模型選擇爭議**:用戶 yt1998 質疑為何選擇 CLIP 而非 Qwen-VL 等小型視覺語言模型(VLM),認為後者在影片場景中表現更佳。 - **性能挑戰**:用戶 hn3ufz62f7 分享了在 M1 Mac 上使用 CLIP 的經驗,指出幀採樣率是關鍵瓶頸,每秒一幀處理 1.2 萬個影片需數天,僅關鍵幀處理也需過夜。



