别再把记忆交给云端了
你的相册里,到底藏着多少“怎么搜都找不到”的瞬间?云端同步怕泄露,本地文件夹又乱成死结。今天有个叫SCM的开源项目,直接把答案拍在桌面上:不联网、不上传、不登录,让你的Mac自己“记住”每一张照片和每一帧视频。
这不是又一个套壳AI搜索工具。它是一个纯本地运行的视觉检索引擎,算力跑在你的硅片上,吃的是本地硬盘,吐出来的是精准到秒的画面定位。安装全靠Homebrew,依赖用Bun管理,首用才需下载约435MB的CLIP权重,之后彻底断网运行。
搜的不是文件,是“那一刻”
传统搜索靠文件名匹配,SCM靠的是语义脑补。输入一句自然语言,本地vision模型直接接管。更狠的是视频处理逻辑:ffmpeg自动扫描镜头边界,按设定密度采样生成场景计划。每一段场景都单独嵌入向量,搜索结果直接落地到具体时间轴,而不是让你打开一个.mp4文件干瞪眼。
有意思的是它的打分机制。结果页采用余弦相似度排序,叠加短语触发器和文件名加权,还设了一道“诚实阈值”。每个缩略图下方挂着“为什么匹配”的标签,悬停就能看分项得分。中文查询走重叠双字匹配,“台北車站”同时命中“台北”和“車站”。把找视频变成找画面,剪辑师和素材管理员能直接松口气。
“Why chose CLIP to do this. Have you tried small VLMs like Qwen-VL? I believe those models have video encoders can better perform at this scenario.” —— 社区技术流评论
连台词和邮件地址都不放过
你以为它只能认图?错了。OCR模块独立开沙箱线程,英语常驻,35种语言按需下载,单次下载仅几MB。可见文字被框出高亮,连照片里印着的隐形信息都能被精准提取。
语音检索走Whisper直译路线,分三档召回:连续原句、单句内词汇、同视频全词。不依赖阈值,模型离线也能硬匹配。更绝的是邮箱识别模式:自动重组被OCR拆碎的“gmail,com”或“allen [at] gmail”,括号防混淆和口述拼写全扛得住。个人觉得这点设计极其反直觉但实用,对整理杂乱截图和会议纪要简直是降维打击。
“Since this is for the mac you really should be using apple's vision framework for OCR. It smokes tesseract in both speed and accuracy.” —— 硬件派开发者吐槽
离线护城河:数据不出门,权重一次下
隐私焦虑的时代,SCM选了最笨也最安全的路:完全本地化。媒体文件拷贝进应用沙盒,索引JSON、Float32向量、场景海报全压在~/Library/Application Support/scm。重命名不丢索引,内容哈希SHA-256去重,库版本支持10次快照回滚。没有遥测,没有账号体系,所有计算留在macOS权限隔离区。
界面侧有五个可映射快捷键的语义视图,查询能存为Tab并绑定特定模式(Files/Scenes/OCR/Dialogue),最多20个。设置面板分十块,支持CRT光效、菜单栏独占、全局快捷键录制。这点我不太认同部分人说的“封闭”,在AI满天飞的今天,能把控制权真正交还给用户,才是真高级。
争议与反转:开源社区的“毒舌”时刻
热度起来,质疑声跟着砸。评论区简直成了技术辩论场:有人嫌Electron包太大,问“为什么是JS堆砌而不是Rust或Native?”;有人盯着采样率发愁,直言“一秒钟一帧跑12k视频要几天,关键帧才能过夜搞定”;还有人关注版权生态,担心大模型直接抄作业碾压小团队。
老实讲,这些批评都很中肯。不过换个角度想,正是这些尖锐反馈,让SCM从“能用”往“好用”迭代。开源项目的生命力,往往就藏在这种互相挑刺里。代码仓库里自带完整的测试套件,从单元测试到E2E烟雾测试,连基准性能报告都直接输出JSON。开发者在调优,用户在试错,循环本身就是一种进化。
工具再锋利,也得看谁愿意花时间去建索引。面对万级视频和海量素材,你是否愿意放下Mac去做一次漫长的本地扫描?当AI不再需要云端订阅,我们的数字记忆,终于能真正属于自己了吗?
【锐评】:本地AI搜索不该是极客玩具,而是数字时代的底线防御,至少比把回忆喂给云服务器强。
参考链接:
https://github.com/allenv0/SCM