SCM: Tìm kiếm AI cho mọi bức ảnh và từng khung hình video trên macOS

Công nghệ04 tháng 10, 2026·8 phút đọc

SCM (Screen Memories) là công cụ mã nguồn mở giúp tìm kiếm bằng ngôn ngữ tự nhiên trong toàn bộ ảnh và video trên máy Mac, hoạt động hoàn toàn cục bộ, không cần tài khoản hay tải dữ liệu lên đám mây. Công cụ hỗ trợ năm chế độ tìm kiếm gồm tập tin, cảnh quay, văn bản OCR, lời thoại và trò chuyện với LLM cục bộ, tất cả đều chạy trên chính chiếc Mac của bạn.

SCM: Tìm kiếm AI cho mọi bức ảnh và từng khung hình video trên macOS

SCM: Tìm kiếm AI cho mọi bức ảnh và từng khung hình video trên macOS

Trong khi các dịch vụ lưu trữ ảnh ngày càng phụ thuộc vào đám mây, một dự án mã nguồn mở mang tên SCM (Screen Memories) đang đi theo hướng ngược lại: đưa toàn bộ sức mạnh của AI tìm kiếm về ngay trên chiếc Mac của bạn. Công cụ này cho phép mô tả một ký ức bằng ngôn ngữ tự nhiên và để mô hình thị giác cục bộ tìm ra nó — kể cả trong từng cảnh quay của video.

Điểm đáng chú ý nhất là tính riêng tư: không tài khoản, không đám mây, không tải lên. Toàn bộ quá trình suy luận diễn ra trên máy, dữ liệu cá nhân không bao giờ rời khỏi thiết bị.

Minh họa tìm kiếm AI cục bộ trên macOSMinh họa tìm kiếm AI cục bộ trên macOS

Điều gì khiến SCM khác biệt?

Các ứng dụng quản lý ảnh truyền thống dựa vào thẻ từ khóa hoặc tên tập tin — những thứ đòi hỏi người dùng phải tự phân loại. SCM loại bỏ hoàn toàn gánh nặng đó bằng cách hiểu nội dung theo ngữ nghĩa:

  • Tìm như cách bạn nghĩ: chỉ cần mô tả ký ức bằng ngôn ngữ thường ngày, mô hình thị giác cục bộ sẽ xử lý phần còn lại.
  • Video đến từng khoảnh khắc: các cảnh được phân đoạn và nhúng vector riêng, nên bạn nhảy thẳng tới đúng cảnh quay chứ không chỉ dừng ở tập tin.
  • Cả văn bản lẫn lời thoại: nhận dạng ký tự quang học (OCR) trên chữ hiển thị, và tìm chính xác câu nói nhờ Whisper — mỗi thứ là một chế độ riêng.
  • Tab và câu lệnh tùy biến: lưu bất kỳ truy vấn nào thành tab; tab Ảnh chụp màn hình và Email có thể bật/tắt.
  • Thư viện tự bảo trì: thư mục được theo dõi sẽ tự động nhập, băm nội dung loại bỏ trùng lặp khi đổi tên, và việc đổi mô hình sẽ nhúng lại vector trong nền mà không chặn tìm kiếm.
  • Riêng tư thật sự: trọng số mô hình chỉ tải một lần, sau đó mọi thứ hoạt động ngoại tuyến.

Năm cách tìm kiếm

SCM cung cấp năm chế độ truy vấn khác nhau, mỗi chế độ phục vụ một nhu cầu cụ thể:

  • Tập tin (Files): tìm toàn bộ ảnh/video theo ý nghĩa, xếp hạng bằng mô hình thị giác kèm tăng điểm theo tên tập tin và cụm từ.
  • Cảnh quay (Scenes): tìm khoảnh khắc bên trong video và nhảy thẳng tới mốc thời gian tương ứng.
  • OCR: khớp chữ hiển thị trong ảnh và khung hình theo nghĩa đen (dùng Tesseract, tiếng Anh cộng 35 ngôn ngữ tùy chọn).
  • Lời thoại (Dialogue): tìm chính xác từ được nói trong video nhờ Whisper, với nhiều mức độ khớp.
  • LLM (tùy chọn): trò chuyện cục bộ dựa trên lời thoại, văn bản OCR và tên tập tin mà máy đã trích xuất — câu trả lời có kèm trích dẫn nguồn.

Cài đặt và yêu cầu hệ thống

Cách cài đặt đơn giản nhất là qua Homebrew (yêu cầu Apple Silicon, macOS 12 trở lên). Cask của dự án tự động xóa cờ cách ly của macOS trong mỗi lần cài và nâng cấp, nên ứng dụng khởi chạy mà không cần thao tác thủ công với Gatekeeper:

brew tap allenv0/scm
brew trust allenv0/scm
brew install --cask allenv0/scm/scm

Nếu muốn tuân thủ nguyên tắc đặc quyền tối thiểu, bạn có thể chỉ tin tưởng riêng cask thay vì toàn bộ tap.

Về mặt kỹ thuật, dự án dùng Bun làm trình quản lý gói và trình chạy, đóng gói bằng electron-builder. Lần đầu sử dụng một mô hình sẽ tải trọng số về (khoảng 435MB cho CLIP mặc định), sau đó hoạt động hoàn toàn ngoại tuyến.

Quy trình tìm kiếm theo cảnh quay trong videoQuy trình tìm kiếm theo cảnh quay trong video

Kiến trúc tìm kiếm video

Với video, SCM dùng ffmpeg để quét ranh giới cảnh quay và lập kế hoạch phân đoạn theo mật độ người dùng chọn. Mỗi mốc thời gian đều hiển thị chi phí thời gian và dung lượng đo được trước khi bạn xác nhận:

  • Eco: 60 giây mỗi điểm, ngân sách 4–32 đoạn
  • Balanced (mặc định): 30 giây, 8–128 đoạn
  • Detailed: 15 giây, 12–256 đoạn
  • Ultra: 5 giây, 16–1024 đoạn
  • Ultra Pro: 2,5 giây, 24–2048 đoạn (cần xác nhận)

Mỗi đoạn nhúng khung hình giữa và lưu ảnh poster. Kế hoạch cảnh được lưu đệm theo tập tin nên việc nhập lại bỏ qua hoàn toàn bước phát hiện. Với phiên âm lời thoại, người dùng có thể chọn Whisper tiny.en (~150MB) hoặc base.en (~300MB).

Bốn mô hình thị giác có thể chuyển đổi

SCM hỗ trợ bốn mô hình qua ONNX Runtime, chọn theo từng thư viện:

Mô hìnhVai tròTốc độ (CPU)Dung lượng
CLIP ViT-L/14@336 (mặc định)Tìm cảnh video tốt nhất~480–570ms/ảnh~435MB
SigLIP-2-B/16Nhập hàng loạt nhanh nhất~50–100ms/ảnh~412MB
SigLIP-2-L/16@256Chi tiết cao (1024 chiều)~200ms/ảnh~850MB
SigLIP-B/16@384Chi tiết tối đa~480ms/ảnh~214MB

Khi đổi mô hình, toàn bộ thư viện sẽ được nhúng lại: kết quả chuyển đổi tức thì và phần còn lại được bù dần trong nền, trong lúc đó tìm kiếm tạm dùng từ khóa tên tập tin.

Tab Email và Ảnh chụp màn hình

Hai tab thông minh này thể hiện rõ triết lý thiết kế tỉ mỉ của dự án.

Tab Email hiển thị những bức ảnh có chữ OCR chứa địa chỉ email. Việc phát hiện chịu được lỗi OCR: nó ghép lại các địa chỉ bị Tesseract cắt vụn giữa các ô chữ, và xử lý cả nhiễu dấu phẩy thay dấu chấm ("gmail,com"), tên miền bị tách ("gmail. com"), cách che giấu bằng ngoặc ("allen [at] gmail [dot] com") lẫn địa chỉ đọc thành lời ("allen at gmail dot com").

Tab Ảnh chụp màn hình phân loại theo cách chống đổi tên. Bốn tín hiệu được xét theo thứ tự ưu tiên: ghi đè thủ công → từ vựng tên tập tin (hơn 30 tên ảnh chụp màn hình bản địa hóa bằng hơn 20 ngôn ngữ) → thăm dò siêu dữ liệu PNG/JPEG (đọc chữ "screenshot" từ khối văn bản PNG hoặc EXIF UserComment, nên một tập tin đổi tên thành Bildschirmfoto vẫn được nhận đúng) → gợi ý từ thư mục nguồn.

Riêng tư theo thiết kế

SCM được xây dựng với nguyên tắc riêng tư xuyên suốt kiến trúc. Trình kết xuất là một gói app:// chạy trong hộp cát với contextIsolation, sandbox hệ điều hành và CSP chỉ cho phép 'self'.

Chỉ các tiến trình chính mới tải dữ liệu, mỗi thứ một lần: trọng số thị giác (Hugging Face), gói ngôn ngữ OCR (CDN Tesseract), trọng số Whisper, và — chỉ khi bạn đồng ý — sidecar llama.cpp cùng mô hình trò chuyện GGUF (đều được xác minh sha256 khi tải). Phương tiện được sao chép vào thư viện do ứng dụng quản lý và phát trực tiếp từ đĩa. Không có telemetry, không tài khoản, không tải lên.

Đối với người dùng Việt Nam quan tâm đến quyền riêng tư dữ liệu — đặc biệt là ảnh gia đình, tài liệu công việc hay ảnh chụp màn hình chứa thông tin nhạy cảm — một công cụ chạy hoàn toàn cục bộ như SCM là lựa chọn đáng cân nhắc so với các dịch vụ đám mây phải tải dữ liệu lên máy chủ nước ngoài.

Giao diện và trải nghiệm

Phần cài đặt mang phong cách macOS với mười bảng riêng biệt: Thư viện, Giao diện, Lưới, Tab thông minh, Tìm ảnh, Tìm video, Trò chuyện LLM, Phím tắt toàn cục, Bàn phím và Thanh menu.

Giao diện tab và chế độ tìm kiếm của SCMGiao diện tab và chế độ tìm kiếm của SCM

Đi kèm là hàng loạt chi tiết tinh tế: chủ đề sáng/tối/theo hệ thống, hiệu ứng màn hình CRT cho lightbox, 6 biểu tượng ứng dụng thay thế, chế độ chỉ hiện trên thanh menu, phím tắt toàn cục có thể ghi lại, hướng dẫn khởi đầu cho lần chạy đầu tiên, khay tác vụ nền với chức năng tạm dừng toàn cục, và thanh trạng thái hiển thị phiên bản cùng số lượng video đã lập chỉ mục.

Người dùng có thể lưu bất kỳ truy vấn nào thành tab — tối đa 20 tab, có thể đổi tên, mỗi tab khôi phục chính xác như khi lưu. Năm chế độ xem ngữ nghĩa được gán cho các phím tắt mặc định ⌘1–⌘5.

Đánh giá tổng quan

SCM là một dự án mã nguồn mở đáng chú ý vì giải quyết được bài toán tìm kiếm phương tiện cá nhân theo cách vừa mạnh mẽ vừa tôn trọng quyền riêng tư. Việc kết hợp nhiều mô hình thị giác, OCR đa ngôn ngữ và phiên âm lời thoại trong một ứng dụng desktop chạy hoàn toàn cục bộ là thành tựu kỹ thuật không nhỏ.

Dự án phát hành theo giấy phép mã nguồn mở, mã nguồn có sẵn trên GitHub kèm bộ kiểm thử đơn vị, kiểm thử smoke chạy trong Electron và các script đánh giá hiệu năng. Đối với những ai muốn thử nghiệm AI cục bộ trên macOS, đây là điểm khởi đầu thú vị và thiết thực.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗