repointermediate
Show HN: Omni – Open-source workplace search and chat, built on Postgres
By prvnsmpthhackernews
View original on hackernewsOmni is an open-source, self-hosted workplace search and chat platform designed as a cost-effective alternative to Glean. Built entirely on Postgres with ParadeDB and pgvector, it syncs data from apps like Google Drive, Slack, and Confluence to create hybrid BM25 and vector indexes. The platform features a chat UI with LLM tool integration, traditional search, and a connector SDK for extensibility, deployable via a single docker compose command.
Key Points
- •Self-hosted alternative to Glean using Postgres (ParadeDB) and pgvector instead of Elasticsearch or dedicated vector databases
- •Hybrid search combining BM25 full-text indexing with HNSW vector search for improved relevance
- •Chat interface with LLM tools that can search indexes—goes beyond basic RAG with agentic capabilities
- •Pre-built connectors for Google Workspace, Slack, Confluence, Jira, HubSpot with custom connector SDK
- •Users bring their own LLM provider (OpenAI, Anthropic, Gemini) for cost control and flexibility
- •Single docker compose up deployment with minimal configuration required
- •Designed for small to mid-size teams seeking cost-effective, extensible workplace search
- •Postgres-only architecture reduces infrastructure complexity while maintaining scalability
Found this useful? Add it to a playbook for a step-by-step implementation guide.
Workflow Diagram
Start Process
Step A
Step B
Step C
Complete
Concepts
Artifacts (2)
docker-compose.ymlyamldocker_compose
# Example docker compose for Omni
# Single command deployment: docker compose up
version: '3.8'
services:
postgres:
image: postgres:15-alpine
environment:
POSTGRES_DB: omni
POSTGRES_PASSWORD: ${DB_PASSWORD}
volumes:
- postgres_data:/var/lib/postgresql/data
omni:
image: getomnico/omni:latest
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://postgres:${DB_PASSWORD}@postgres:5432/omni
LLM_PROVIDER: ${LLM_PROVIDER}
LLM_API_KEY: ${LLM_API_KEY}
depends_on:
- postgres
volumes:
postgres_data:Omni Architecture Overviewtemplate
# Omni Workplace Search Architecture
## Core Components
### Data Ingestion
- Connectors for: Google Workspace, Slack, Confluence, Jira, HubSpot
- Custom Connector SDK for extensibility
- Scheduled sync from connected apps
### Indexing Layer (Postgres-based)
- **BM25 Index**: ParadeDB for full-text search
- **Vector Index**: pgvector with HNSW algorithm for semantic search
- Hybrid search combining both indexes
### Query & Chat Layer
- Traditional search UI
- Chat interface with LLM integration
- LLM tools for dynamic index searching (agentic RAG)
- Support for OpenAI, Anthropic, Gemini
### Deployment
- Docker Compose for single-command setup
- Self-hosted on user infrastructure
- Minimal configuration required
## Key Design Decisions
1. **Postgres-only**: Eliminates need for Elasticsearch or dedicated vector DBs
2. **Bring-your-own-LLM**: Users control costs and provider choice
3. **Hybrid search**: Combines lexical and semantic relevance
4. **Extensible connectors**: SDK allows custom data source integration