← Overview · Compare

Polymathy vs Onyx

Open-source enterprise answer-engine platform (formerly Danswer)

Onyx is the whole answer-engine product, source-available and self-hostable. Polymathy is a single Rust service that turns SearxNG results into chunks. They sit at different altitudes: Onyx ships the chat UI and the connector zoo; Polymathy ships the fetch-and-chunk seam in the middle.

Side by side

Grounded in the public docs and source on both sides — if a row reads as opinion, it is one we are willing to defend.

Dimension Polymathy Onyx Better fit
Layer in the stack Fetch + chunk shim between metasearch and your prompt Full platform: connectors, index, chat UI, admin Comparable
Language / runtime Rust (actix-web 4, tokio, reqwest, usearch) Python (FastAPI) + TypeScript (Next.js) Comparable
Surface area One read endpoint: GET /v1/search?q=... Dozens of endpoints: chat, documents, connectors, admin Polymathy
Search frontend SearxNG (you bring the instance) In-product connectors (Slack, Drive, Confluence, Notion, GitHub, Jira, web crawler) Onyx
Chat / answer UI Out of scope — you render the paragraph Built-in chat UI with citations and feedback Onyx
Vector store USearch in-process, per request (no persistence in v0.2) Vespa as the document index Onyx
OpenAPI spec Generated from Rust types via apistos; /openapi.json + Swagger/ReDoc/RapiDoc/Scalar API docs available but not the headline feature Polymathy
Citation contract Response shape carries source_url next to every chunk by construction Citations rendered in the chat UI; mapping handled inside the platform Comparable
Deployment footprint Single binary; one Rust crate; you supply SearxNG + processor Multi-container: API, web, Postgres, Vespa, model server, indexer Polymathy
License GPL-3.0 Mixed: MIT core + a paid enterprise edition Comparable

Pick Polymathy when

  • You already run SearxNG (or want to) and need a small Rust service that turns search results into chunks for your own downstream LLM call
  • You want the answer-engine UI, prompt template, and citation renderer to live in your existing product, not in a separate self-hosted app
  • You want a single HTTP endpoint with an OpenAPI spec, not a Postgres + Vespa + FastAPI + Next.js deployment to operate
  • Your corpus is the public web (via SearxNG) more than it is a fixed set of SaaS connectors

Pick Onyx when

  • You want a turnkey internal answer engine with Slack, Confluence, Drive, Notion, GitHub, and Jira connectors out of the box
  • You want a built-in chat UI, admin console, and document-set management without writing one
  • Your priority is "deploy a Perplexity-for-our-wiki today" rather than building infrastructure
  • You are happy operating a multi-service Python/TypeScript stack with a managed Postgres and a vector store alongside

Most teams choosing between these are not really choosing — Onyx is the answer-engine product, Polymathy is a building block. If you want to host the whole experience inside your existing app, with your own UI and your own SearxNG, Polymathy is the seam. If you want the experience itself, install Onyx.

Read the docs Read the notes