跳到正文
发现
Omni:Mac 本地语义搜索
桌面应用效率工具

Omni:Mac 本地语义搜索

一款原生 macOS 应用,用语义而非文件名搜索本机的文本、图片、音视频等各类文件,全程离线运行。

admin
发布于 2026-10-28 · 更新于 2026-10-31
浏览
5
访问
0
下载
0
版本
v0.19.8
平台
macOS
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

Omni 是一款原生 macOS 语义搜索应用。它把文本、代码、PDF、幻灯片、表格、图片、音频和视频放进同一个向量空间,因此任意一条查询都能找到任意类型的文件。

内置的嵌入模型 jina-embeddings-v5-omni 被移植到 MLX-Swift,在本机 GPU 上以进程内方式运行:不需要 Python,不需要服务器,也不经过云端。模型下载完成后,即使拔掉网线也能正常搜索。

主要功能

  • 跨类型语义搜索:文本、代码、PDF、幻灯片、表格、图片、音频、视频统一检索。
  • Finder 式浏览:界面操作接近 Finder,基于 Metal 加速,并随文件变化持续更新索引。
  • 全离线:模型下载后搜索完全在本机完成,不依赖网络。
  • 可选 OCR:可额外下载 OCR 模型(4.2 GB),用于转录扫描件和照片中的文字。
  • Linked Macs 联机搜索:通过 File > Link a Mac,在两台安装了 Omni 的 Mac 上打开该功能,选择对方设备,再输入其中一台显示的六位验证码即可配对。此后本机搜索会同时搜索对方的索引,并使用对方的 GPU,对方的文件像本地文件夹一样打开。不涉及服务器:设备在局域网内互相发现,或经 VPN 按地址连接;链路为 TLS 1.3,密钥在配对时固定。关机或休眠的 Mac 会直接跳过。
  • 本地 HTTP API:在 Settings > Serving 中开启后,会在 127.0.0.1:51234 暴露接口,并在 /mcp 提供 MCP 端点。

安装与使用

从 hanxiao.io/omni 或 Releases 下载 DMG,把 Omni 拖入 Applications 即可。构建已公证,不会弹出 Gatekeeper 提示。

首次启动时,Omni 会从本仓库的 GitHub Releases 下载搜索模型(约 1.9 GB),之后不再联网。

开启 Serving 后可以这样调用:

curl -sX POST localhost:51234/v1/search -d '{"query": "invoice from march"}'
curl -sX POST localhost:51234/v1/sources/add -d '{"path": "~/Projects"}'

如果想从源码构建:

brew install xcodegen
export OMNI_TEAM_ID=XXXXXXXXXX   # 你的 Apple Team ID,免费账号也可用于本地构建
./Scripts/build-app.sh

构建需要 Xcode 26 与 Metal Toolchain。应用会自行下载模型;设置 OMNI_MODEL_DIR 可以改为指向本地模型副本。make test 会运行测试套件,包括与 Python 参考数据进行的数值一致性校验。

注意事项

  • 仅支持 Apple Silicon Mac(M1 或更新)与 macOS 14 及以上系统。
  • 首次启动必须联网下载搜索模型;OCR 模型为可选项。
  • 应用本体采用 Apache-2.0 许可;模型权重遵循上游 Jina 许可(CC-BY-NC-4.0)。
  • Linked Macs 依赖局域网互通,或通过 VPN 按地址直连,无需也不会经过中心服务器。

本作品整理自 GitHub 开源项目 hanxiao/omni-macos,原作者 @hanxiao,许可证 Apache-2.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v0.19.8当前版本

    Serving 搜索接口调整:内容键改为十六进制表示,每条命中结果都返回大小信息,REST 分页请求统一由同一资源池处理。

  2. v0.19.7

    新增对演示文稿、工作簿及其 PDF 中未携带文本页面的索引能力,站点与 README 补充幻灯片和表格说明;修复 read_file 读取 Windows 换行文件时第 1 行之后内容异常的问题。

  3. v0.19.6

    明确提示文件夹范围过宽的原因;历史记录超过 30 天后按月折叠;历史记录取消数量上限、减少渲染次数,并缩短搜索等待时间。

评论