Skip to content

Repository files navigation

Omni

Omni

Search every file on your Mac by meaning. Fully airgapped.

Download  ·  Technical report

Omni intro video

Text, code, PDFs, images, audio and video in one vector space, so any query finds any kind of file. The embedding model is jina-embeddings-v5-omni, ported to MLX-Swift and running in-process on the GPU. No Python, no server, no cloud.

It browses like Finder, runs on Metal, keeps up as files change, and works with the network cable pulled.

Install

Download the DMG from hanxiao.io/omni or Releases and drag Omni to Applications.

On first launch Omni downloads its search model (1.8 GB), and optionally the OCR model (4.2 GB) for transcribing scans and photos. After that nothing leaves the Mac.

Serving

Settings > Serving exposes an HTTP API on 127.0.0.1:51234 with an MCP endpoint at /mcp.

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

Build

brew install xcodegen
export OMNI_TEAM_ID=XXXXXXXXXX   # your Apple Team ID; a free account works for local builds
./Scripts/build-app.sh           # not a bare xcodebuild: see the script's header

Needs Xcode 26 with the Metal Toolchain. The app downloads its models itself; OMNI_MODEL_DIR points it at a local copy instead. make test runs the suite, including numeric parity with Python reference fixtures.

Citation

@article{xiao2026omnimacos,
  title   = {omni-macos: On-Device Omni-Modal Search on Apple Silicon},
  author  = {Xiao, Han},
  journal = {arXiv preprint arXiv:2608.05543},
  year    = {2026},
  url     = {https://arxiv.org/abs/2608.05543}
}

License

Apache 2.0. Model weights are under the upstream Jina license (CC-BY-NC-4.0).

About

Native macOS semantic search over your local files - text, images, audio, video in one vector space, on-device on Apple silicon.

Resources

Stars

253 stars

Watchers

3 watching

Forks

Releases

Contributors

Languages