frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Omni – Open-source workplace search and chat, built on Postgres

https://github.com/getomnico/omni
38•prvnsmpth•2h ago
Hey HN!

Over the past few months, I've been working on building Omni - a workplace search and chat platform that connects to apps like Google Drive/Gmail, Slack, Confluence, etc. Essentially an open-source alternative to Glean, fully self-hosted.

I noticed that some orgs find Glean to be expensive and not very extensible. I wanted to build something that small to mid-size teams could run themselves, so I decided to build it all on Postgres (ParadeDB to be precise) and pgvector. No Elasticsearch, or dedicated vector databases. I figured Postgres is more than capable of handling the level of scale required.

To bring up Omni on your own infra, all it takes is a single `docker compose up`, and some basic configuration to connect your apps and LLMs.

What it does:

- Syncs data from all connected apps and builds a BM25 index (ParadeDB) and HNSW vector index (pgvector) - Hybrid search combines results from both - Chat UI where the LLM has tools to search the index - not just basic RAG - Traditional search UI - Users bring their own LLM provider (OpenAI/Anthropic/Gemini) - Connectors for Google Workspace, Slack, Confluence, Jira, HubSpot, and more - Connector SDK to build your own custom connectors

Omni is in beta right now, and I'd love your feedback, especially on the following:

- Has anyone tried self-hosting workplace search and/or AI tools, and what was your experience like? - Any concerns with the Postgres-only approach at larger scales?

Happy to answer any questions!

The code: https://github.com/getomnico/omni (Apache 2.0 licensed)

Comments

Doublon•1h ago
Interesting!

I also started to build something similar for us, as an PoC/alternative to Glean. I'm curious how you handle data isolation, where each user has access to just the messages in their own Slack channels, or Jira tickets from only workspaces they have access to? Managing user mapping was also super painful in AWS Q for Business.

prvnsmpth•1h ago
Thank you!

Currently permissions are handled in the app layer - it's simply a WHERE clause filter that restricts access to only those records that the user has read permissions for in the source. But I plan to upgrade this to use RLS in Postgres eventually.

For Slack specifically, right now the connector only indexes public channels. For private channels, I'm still working on full permission inheritance - capturing all channel members, and giving them read permissions to messages indexed from that channel. It's a bit challenging because channel members can change over time, and you'll have to keep permissions updated in real-time.

swaminarayan•1h ago
How well does the Postgres-only approach hold up as data grows — did you benchmark it against Elasticsearch or a dedicated vector DB?
prvnsmpth•56m ago
I've done small scale experiments with up to 100-500k rows, and did not notice any significant degradation in search query latency - p95 still well under 1s.

I haven't directly compared against Elasticsearch yet, but I plan to do that next and publish some numbers. There's a benchmark harness setup already: https://github.com/getomnico/omni/tree/master/benchmarks, but there's a couple issues with it right now that I need to address first before I do a large scale run (the ParadeDB index settings need some tuning).

vladdoster•56m ago
Multiple pages link to a `API Reference` that returns a 404
prvnsmpth•50m ago
Oops, sorry! That page is still a WIP, haven't pushed it yet. The plan was to expose the main search and chat APIs so that users can build integrations with third-party messaging apps (e.g. Slack), but haven't gotten around to properly documenting all the APIs yet.
keyle•48m ago
I've done some RAG using postgres and the vector db extension, look into it if you're doing that type of search; it's certainly simpler than bolting another solution for it.
prvnsmpth•42m ago
Yeah, Omni uses Postgres and pgvector for search. ParadeDB is essentially just Postgres with the pgsearch extension that brings in Tantivy, a full-text search engine (like Apache Lucene).

Show HN: Omni – Open-source workplace search and chat, built on Postgres

https://github.com/getomnico/omni
38•prvnsmpth•2h ago•8 comments

Show HN: Timber – Ollama for classical ML models, 336x faster than Python

https://github.com/kossisoroyce/timber
134•kossisoroyce•10h ago•27 comments

Show HN: Commitdog – Git on steroids CLI (pure Go, ~3MB binary)

https://aysdog.com/commitdog
4•anirbanfaith•45m ago•1 comments

Show HN: OpenBerth – Deploy AI-built apps and tools to your own server

https://openberth.io/
3•Amirso•1h ago•0 comments

Show HN: Axiom – structural OCR for handwritten STEM notes

https://www.useaxiomnotes.com
2•mrajatnath•2h ago•1 comments

Show HN: Xpandas – running Pandas-style computation directly in pure C++

2•xqli•3h ago•0 comments

Show HN: Logira – eBPF runtime auditing for AI agent runs

https://github.com/melonattacker/logira
20•melonattacker•11h ago•1 comments

Show HN: OxyJen – Java framework to orchestrate LLMs in a graph-style execution

2•bdivyansh11•3h ago•0 comments

Show HN: Workz–Git worktrees with zero-config dep sync and a built-in MCP server

https://github.com/rohansx/workz
2•rohansx•4h ago•0 comments

Show HN: Vibe Code your 3D Models

https://github.com/ierror/synaps-cad
55•burrnii•2d ago•18 comments

Show HN: Audio Toolkit for Agents

https://github.com/shiehn/sas-audio-processor
56•stevehiehn•19h ago•9 comments

Show HN: Steward – an ambient agent that handles low-risk work

https://github.com/study8677/Steward
2•867762462f•4h ago•0 comments

Show HN: I built an AI tool that walks you through Toyota's 5 Whys method

https://www.fivewhys.ai/
2•mogic•5h ago•0 comments

Show HN: Vertex.js – A 1kloc SPA Framework

https://lukeb42.github.io/vertex-manual.html
32•LukeB42•23h ago•19 comments

Show HN: Interactive 3D WebGL Globe for real-time daylight cycles

https://github.com/azialle/Oclock
3•codechibi•6h ago•2 comments

Show HN: Visualize Git commit histories as animated force-directed graphs

https://github.com/nshcr/git-commits-threadline
4•wwhxd•6h ago•0 comments

Show HN: I built open source Gmail organizer because I refused to pay $30/month

https://github.com/Lakshay1509/NeatMail
3•mafia15•6h ago•1 comments

Show HN: OpenTamago – P2P GenAI Tamagotch

https://open.tamago.chat
3•boiling_eggs•6h ago•0 comments

Show HN: HN Bot Detector - Detects LLM-Generated Comments on Hacker News

https://github.com/umairnadeem/hn-bot-detector
5•umairnadeem123•7h ago•2 comments

Show HN: Now I Get It – Translate scientific papers into interactive webpages

https://nowigetit.us
291•jbdamask•1d ago•128 comments

Show HN: Sun – Realtime voice agent for group conservation not just turn taking

https://www.getsun.io/
4•anand_pattern•9h ago•2 comments

Show HN: LocalRAG – Ask AI about your own documents (iOS/Android)

https://localrag.app
4•snakaya•13h ago•0 comments

Show HN: SwarmClaw – Orchestration dashboard for OpenClaw and AI agents

https://github.com/swarmclawai/swarmclaw
4•jamesweb•13h ago•1 comments

Show HN: ClawShield – Open-source security proxy for AI agents (Go, eBPF)

https://github.com/SleuthCo/clawshield-public
2•sleuthco•9h ago•1 comments

Show HN: Unfucked - version all changes (by any tool) - local-first/source avail

https://www.unfudged.io/
136•cyrusradfar•3d ago•85 comments

Show HN: LightJJ – Web-Based UI for Jujutsu VCS

https://github.com/chronologos/lightjj
2•Chronologos•10h ago•0 comments

Show HN: RetroTick – Run classic Windows EXEs in the browser

https://retrotick.com/
191•lqs_•2d ago•60 comments

Show HN: MCP-firewall: I created a policy engine for CLI Agents

https://github.com/dzervas/mcp-firewall
2•ttouch•10h ago•0 comments

Show HN: Tool to comply with the Pentagon's Claude ban

https://github.com/dabrez/shannonsRevenge
3•dabrez•10h ago•0 comments

Show HN: Claude-File-Recovery, recover files from your ~/.claude sessions

https://github.com/hjtenklooster/claude-file-recovery
99•rikk3rt•2d ago•41 comments