A governed AI coworker, not a DIY toolkit.
Onyx (formerly Danswer) is a genuinely good open-source AI search project — if you want to self-assemble and operate it. ZenSearch is a Go-core coworker that answers with citations and takes governed action: risk-tiered approvals, pre-flight cost ceilings, and a managed SaaS option with commercial support, on your own infrastructure.
The Short Version
Choose ZenSearch if you need:
- A Go core with lower baseline memory and better concurrency under load
- Governed agent actions — risk tiers T0–T5, cross-surface approvals, cost ceilings
- Built-in input + output guardrails (prompt injection, PII, hallucination)
- Natural-language queries against PostgreSQL, MySQL, ClickHouse, and SQL Server
- A managed SaaS option with commercial support, not a self-operated toolkit
Choose Onyx (Danswer) if you need:
- A fully open-source codebase with community contributions
- Self-hosted deployment with complete source access and no vendor
- Python ecosystem compatibility for custom extensions
- No commercial license required to run the core
Feature by Feature
ZenSearch vs Onyx (Danswer), in detail.
Agents & AI Capabilities
| Capability | ZenSearch | Onyx (Danswer) |
|---|---|---|
Hybrid search (dense + sparse) | ||
Cross-encoder reranking | ||
Vector search | ||
Retrieval augmented generation | ||
Cited answers with sources | ||
AI agents with tool calling | ||
Faceted search & filtering | ||
Custom agent builder | Limited | |
Approval-gated write actions Every consequential write pauses on a per-team policy and routes to the right human | Risk tiers T0–T5 | Not available |
Cross-surface approvals | Slack, Teams, and web | Not available |
Scheduled automations | Cron + event triggers | Not available |
Multi-agent delegation Agents hand off subtasks to specialist agents in the same team via discover_agents + delegate_to_agent | ||
Self-improving procedural memory Distills successful multi-tool sessions into reusable procedures the agent automatically references on similar future queries | ||
Observational memory (long-conversation compression) 80%+ token compression on 50+ message conversations via a cacheable LLM-extracted system prompt prefix | ||
Agent memory & checkpointing Three-layer memory stack: persistent facts, observational compression, procedural workflows | ||
NL-to-SQL database queries Query PostgreSQL, MySQL, ClickHouse, SQL Server with natural language | ||
Answer confidence scoring | ||
Guardrails (hallucination, PII, injection) | ||
Slack / Teams / Chrome surfaces | Slack, Teams, Chrome | Slack only |
Deployment & Architecture
| Capability | ZenSearch | Onyx (Danswer) |
|---|---|---|
Cloud (SaaS) | ||
On-premise deployment | ||
Air-gapped deployment | Limited | |
Docker & Kubernetes | ||
Bring your own LLM | ||
Model Gateway with usage tracking Centralized proxy for all AI model calls with per-tenant cost tracking and per-team rate limits | ||
Multi-tenant SaaS Onyx is single-tenant only |
Data Connectors
| Capability | ZenSearch | Onyx (Danswer) |
|---|---|---|
Confluence | ||
Slack | ||
GitHub | ||
Google Drive | ||
SharePoint | ||
Jira | ||
Notion | ||
Salesforce | ||
SAP | ||
HubSpot | ||
PostgreSQL / MySQL / SQL Server NL-to-SQL with schema discovery and query validation | ||
ClickHouse | ||
S3 / Azure Blob | ||
Web Crawler |
Security & Compliance
| Capability | ZenSearch | Onyx (Danswer) |
|---|---|---|
SOC 2 Type II | In progress | |
Document-level RBAC | ||
Permission-aware search | ||
End-to-end encryption | Partial | |
Audit logging | Limited | |
Input/output guardrails | ||
Prompt injection detection | ||
PII detection & filtering |
Performance & Infrastructure
| Capability | ZenSearch | Onyx (Danswer) |
|---|---|---|
Primary language Go services for search, API, and vectorization deliver lower latency and memory usage | Go | Python |
Pipeline architecture NATS JetStream enables parallel processing and exactly-once delivery | Event-driven (NATS) | Celery tasks |
Vector database Both are production-grade; Qdrant has a simpler operational footprint | Qdrant | Vespa |
Embedding caching Redis-backed embedding cache reduces API costs on repeated content | ||
Incremental sync |
Where ZenSearch Stands Apart
Governed and supported, vs assembled and operated.
Onyx is a capable open-source toolkit, and that openness is a real advantage for some buyers. These are the places ZenSearch is built differently — governance, guardrails, performance, and a managed option with commercial support.
Governance on every action
ZenSearchEach tool carries a risk tier (T0–T5). Consequential writes pause the run, enforce a pre-flight cost ceiling, and route an approval to the right human — in Slack, Teams, or on the web — with pause/resume and full audit logs.
Governance on every action
Onyx (Danswer)Onyx focuses on retrieval and chat. It does not ship a per-action risk-tier policy engine, cross-surface human approvals, or pre-flight cost ceilings on agent writes — those would be built and operated separately.
Go-based performance
ZenSearchZenSearch's core services (API, search, vectorizer, collectors) are written in Go, delivering lower baseline memory consumption and better concurrency under load.
Go-based performance
Onyx (Danswer)Onyx is built primarily in Python. While effective for prototyping, Python services typically require more resources and have higher latency under load.
Comprehensive AI guardrails
ZenSearchInput and output guardrails including prompt injection detection, PII filtering, hallucination detection (lexical, semantic, hybrid), and toxicity filtering, with per-tenant configuration.
Comprehensive AI guardrails
Onyx (Danswer)Onyx does not include built-in guardrails for prompt injection, PII detection, or hallucination scoring. Output validation would be implemented separately.
NL-to-SQL over your databases
ZenSearchAsk questions in plain English against PostgreSQL, MySQL, ClickHouse, and SQL Server. Schema discovery, read-only execution, and query validation are built in.
NL-to-SQL over your databases
Onyx (Danswer)Onyx does not support direct database querying. Database content must be ingested through file-based connectors or custom integrations.
A Closer Look
Open-source toolkit vs governed, supported coworker
Onyx's open-source codebase is a genuine strength — full source access, no vendor, community contributions. The trade-off is that you self-assemble and operate it. Here is that distinction side by side.
ZenSearch
- Managed SaaS option with commercial support, or self-host on your own infrastructure
- Governed agent actions out of the box — risk tiers T0–T5 and cross-surface approvals
- Pre-flight cost ceilings and pause/resume on every consequential write
- Built-in input + output guardrails (prompt injection, PII, hallucination)
- Model Gateway with per-tenant usage tracking and per-team rate limits
- Go core with lower baseline memory and better concurrency under load
- Multi-tenant architecture with team-level isolation
Onyx (Danswer)
- Fully open-source codebase with complete source access and no vendor lock-in
- Community-supported — you operate, monitor, and update it yourself
- Governance, approvals, and cost ceilings would be built and run separately
- Guardrails for injection, PII, and hallucination are not included
- LLM providers are called directly from application code
- Built primarily in Python
- Single-tenant only
Get Started
See the
difference.
Try ZenSearch in the live demo, or talk to our team about a deployment shaped to your environment.