Introducing omni-macos: a semantic Finder for Apple Silicon. It was first released months ago, but now getting really good and becoming my daily productivity.
Over the last few months I've kept improving fully local, on-device semantic search for my everyday agentic use. The goal: a local multimodal search engine that's easy for both humans and agents, fast, and handles CRUD in real time. After years of working on embedding and reranker models, I figured this would be easy, especially with coding agents hill-climbing tps for you. Turns out making it actually good is pretty damn hard. I've also seen other projects like zvec-grep going after the same thing, but I think most of them miss some key points about local search, especially on personal devices. They optimize for efficiency and relevance, which is fair with a SaaS mindset, but not enough for an air-gapped personal device:
- Efficiency matters, but on a laptop, an indexer that hogs the machine to finish sooner is worse than one that takes a bit longer and you never notice.
- Personal files are massively duplicated: v1, v2, v-final, v-final-final, plus backups, often with only tiny diffs between them. So using the file as the indexing unit is inefficient.
- Some files get edited all the time, but only a small part changes each time. Reindexing the whole file is, again, a waste.
- CRUD needs to be handled properly at the folder level.
- You only have one GPU interface and it's non-preemptive. Embedding needs it, vector search needs it, OCR needs it. You can't lower the priority of work that's already queued, so priority can only be set at admission.
显示更多