ESC
开源 1 分钟阅读

SCM:在 macOS 上对任意文件夹中的每张照片和每帧视频进行深度 AI 搜索

开源项目 SCM(Screen Memories)登陆 macOS,可对任意文件夹中的照片和视频进行本地 AI 语义搜索:支持自然语言找图、视频场景级定位、OCR 文字检索、Whisper 台词精确匹配,并可选 Qwen3、Llama 等本地大模型问答。全程本地推理,无账号无云端无上传,模型权重下载一次后完全离线,可通过 Homebrew 安装。

来源:GitHub

\n \n \n \n

\n

\n \n

\n\n\n# SCM — Screen Memories\n\n 深度 AI 搜索:在 macOS 上对任意文件夹中的每张照片和每帧视频进行搜索。\n 本地优先——无需账号、无需云端、无需上传。推理在你的 Mac 上运行。\n\n
\n \"SCM\n \"SCM\n
\n\n**它的独特之处**\n\n- **像思考一样搜索**——用自然语言描述一段记忆,本地视觉模型完成剩下的工作。\n- **视频,精确到时刻**——场景被分割并嵌入,因此你直达某个镜头,而不仅仅是文件。\n- **文字和对话也行**——对可见文字进行 OCR;通过 Whisper 精确搜索台词,各自作为独立模式。\n- **你的标签页,你的提示词**——将任意查询保存为标签页;Screenshots 和 Email 标签页可开关。\n- **自我维护的媒体库**——被监视的文件夹自动导入,内容哈希对重命名去重,模型切换在后台重新嵌入而不阻塞搜索。\n- **真正私密**——你的媒体永远不会离开这台机器。权重只下载一次;之后的一切都是离线的。\n\n## 五种搜索方式\n\n
\n \"Search\n
\n\n| 模式 | 可找到 |\n| ------------------- | ----------------------------------------------------------------------------------------- |\n| **Files** | 整张照片/视频,按含义搜索——视觉排序结合文件名和短语加成 |\n| **Scenes** | 视频内的时刻——搜索一个镜头,直接跳转到其时间码 |\n| **OCR** | 图像和帧中可见的文字,按字面匹配(Tesseract;英文 + 35 种语言可开关) |\n| **Dialogue** | 视频中的确切口语(Whisper),分层精确度 |\n| **LLMs**(可选开启) | 对 Mac 已提取的对话、OCR 和文件名进行本地聊天——带引用来源的回答 |\n\n---\n\n## 系统要求\n\n- macOS(使用 electron-builder 打包;菜单栏/托盘功能仅限 macOS)\n- [Bun](https://bun.sh)——项目使用 `bun` 作为包管理器和运行器\n- 已安装 Node 模块:`bun install`\n- 首次使用某个模型会下载其权重(默认 CLIP 约 435MB);之后完全离线。\n\n## 下载\n\n最简单的安装方式是通过 Homebrew(Apple Silicon,macOS 12+)。该 tap 的 cask 在每次安装和升级时自动清除 macOS 隔离标志,因此应用启动无需手动操作 Gatekeeper:\n\n```bash\nbrew tap allenv0/scm\nbrew trust allenv0/scm\nbrew install --cask allenv0/scm/scm\n```\n\n升级保持相同行为:\n\n```bash\nbrew upgrade --cask allenv0/scm/scm\n```\n\n该 tap 位于 [allenv0/homebrew-scm](https://github.com/allenv0/homebrew-scm)。\n\n## 开发\n\n```bash\nbun run dev # 构建 renderer bundle,然后启动 Electron 应用\nbun start # 不重新构建,直接启动 Electron 应用\nbun run build # 仅将 renderer bundle 重新构建到 dist/\n```\n\n## 构建应用包(DMG / ZIP)\n\n```bash\nbun run dist # 如果钥匙串中有签名身份则签名\nbun run dist:unsigned # 跳过代码签名发现\n```\n\n这会依次运行两个步骤:\n\n1. **`vite build`**——将 React renderer 编译到 `dist/`(拾取 `src/` 下的所有更改)。\n2. **`electron-builder --mac`**——打包应用。它将最新的 `dist/` bundle 与 `main.js`、`preload.js`、`main-lib/` 和 `indexer/`(文件列表在 `package.json` 的 `build.files` 下配置)捆绑在一起,然后生成安装程序。\n\n**输出:**安装程序位于 `dist-app/`(见 `package.json` 中的 `build.directories.output`)——寻找 `SCM-0.2.4.dmg` 和 `SCM-0.2.4.zip`。\n\n\n---\n\n## 功能\n\n### Files\n\n输入时启动即时的文件名关键词预检索,然后视觉模型接管:结果根据与图像嵌入的余弦相似度评分,带有门控短语和文件名加成、按模型校准的诚实下限,以及近似重复多样性过滤器。每个缩略图都带有