mrkeyoor.com_
Tue 01 Sept 17:42 UTC
Self-Hostedevaluationupdated 25 Aug 2026

onyx review

Onyx is a self-hosted AI workspace that connects chat and agents to company documents, web search, code execution, and outside tools. It solves the messy application layer around language models: indexing sources, retrieving relevant material, sharing agents, and giving users one interface across model providers.

+109stars / 7d
Verdict

Our Onyx workspace install pulled 451 packages and occupied 688 MB before any database, index, model, or connector was running, so Standard Onyx is an infrastructure commitment. It is a strong choice for teams that already need shared RAG, agents, and many knowledge connectors in one product. Use Lite or a smaller alternative if document indexing and enterprise operations are outside the job.

We ran it

Lab card: what happened when we ran onyxScreenshot of onyx (onyx.app)
Install✓ · 52s451 packages · 688 MB
Buildn/ano build script
Testsn/ano test script
Repo7442 files~1,156,364 lines of source · 64.2 MB · 44 CI workflows

Answers from our run

Does onyx build from source?

Dependencies installed in 52 seconds (451 packages), and the project has no separate build step. We cloned commit f00ca39 into a clean Debian container with 3 CPUs and no project-specific setup.

Does onyx have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Who should not use onyx?

Small teams that only need a local chat screen: Standard Onyx adds vector and keyword indexes, background workers, model inference, Redis, and MinIO.

What are the alternatives to onyx?

AnythingLLM, PrivateGPT, Khoj. Our Onyx workspace install pulled 451 packages and occupied 688 MB before any database, index, model, or connector was running, so Standard Onyx is an infrastructure commitment.

Setup3/5Lite is approachable; Standard requires several stateful services
Docs4/5Clear mode split and deployment guides, with a very broad surface
Community5/5Daily development, current releases, and active issue traffic
Maturity4/5Broad product and deployment support, with active regressions

Discussed on

  1. hnShow HN: Open-source Deep Research across workplace applications125 points

Who it’s for

Platform teams building a shared AI search and chat service over company knowledge.
Organizations that need to choose between hosted and self-managed language models.
Teams with enough operations capacity to run indexes, workers, model services, Redis, and object storage.
Buyers who want an MIT community core and can evaluate the separately licensed enterprise features.

Who it’s NOT for

Small teams that only need a local chat screen: Standard Onyx adds vector and keyword indexes, background workers, model inference, Redis, and MinIO.
Organizations assuming every governance feature is in the community edition: SSO, SCIM, RBAC, analytics, audit history, and whitelabeling sit in the enterprise offering.
Privacy-sensitive deployments that cannot inspect prompt construction: open issue #11929 reports user names and email addresses being inserted into the LLM system prompt without an opt-out.
Operators expecting all private MCP endpoints to work immediately: issue #14209 reports internal endpoints being blocked by the sandbox proxy before MCP policy evaluation.

Setup reality

Our run installed the Bun workspace in 52 seconds, adding 451 packages and using 688 MB. The checkout contained 7,442 files, about 1,156,364 source lines, and 64.2 MB. It exposed no build or test target, so both steps were skipped. The scan found 44 CI workflow files, no Dockerfile, no tests directory, and monorepo workspaces.

That dependency install is not a working Onyx service. The README's one-command installer is the user path, while Standard Onyx also needs its database, vector and keyword index, workers, inference services, Redis, MinIO, an LLM provider, and connector credentials. Lite mode stays under 1 GB of memory according to the README, but drops RAG indexing and its background stack. Production choices include Docker, Kubernetes, Helm, and Terraform.

Onyx combines company search, chat, and agents in one product

Onyx is what teams often end up building around a language model after the chat demo stops being useful. It indexes company sources, retrieves relevant passages, lets people create agents, and connects those agents to actions through MCP. The same interface can use hosted providers such as OpenAI, Anthropic, and Gemini or self-managed endpoints such as Ollama, LiteLLM, and vLLM.

The breadth is the reason to consider it. The README lists more than 50 indexing connectors, web search, deep research, file creation, code execution, voice, and image generation. Standard Onyx adds hybrid retrieval and background synchronization. Collaboration features let an organization share chats and agents rather than leaving each employee with a private pile of prompts.

That breadth also changes the buying question. Onyx makes sense when several of those jobs must coexist. A team that only wants a browser chat for one local model would be taking on a much larger system than it needs.

Lite stays small because it leaves the retrieval stack out

The project has two deployment modes. Lite is described as a chat UI with agent functions and less than 1 GB of memory use. It skips the vector and keyword index, background job containers, model inference services used during indexing, Redis, and MinIO. That is the sensible evaluation route for someone comparing the interface and model support.

Standard is the actual knowledge platform. Connectors sync content in the background, inference services process it, retrieval combines vector and keyword search, and stateful services keep queues, caches, and blobs. Each piece has an operational purpose. Together they demand backups, capacity planning, secrets, upgrades, and observability. The one-command installer does not erase those responsibilities.

Onyx supports Docker as well as Kubernetes, Helm, Terraform, and major cloud deployment guides. This is useful evidence that the maintainers expect serious installations. It is also a warning against treating the README's curl command as the whole production plan. Read the script, pin the release, and decide where every persistent volume and credential will live.

What happened when we ran it

Our sandbox installed 451 Bun workspace packages in 52 seconds, consuming 688 MB on disk. Commit f00ca39 contained 7,442 files and roughly 1,156,364 source lines in a 64.2 MB checkout. Those numbers capture the root Node workspace in an unprivileged Node 22 container without secrets. They do not mean that Onyx, its indexes, or an LLM became available.

No build script or target was detected, so the lab skipped the build. No test script or target was detected either. Calling either step successful would be wrong. The measured repository exposed monorepo workspaces and 44 CI workflow files, but the scanner found no Dockerfile and no tests directory. The result tells us that a generic root install is not a useful health check for this multi-service product.

The 688 MB dependency footprint is already substantial before model weights, indexed documents, Redis, MinIO, or database storage enter the picture. Operators should size an evaluation around the chosen mode and real data volume, not around the Git checkout.

Enterprise controls are separate from the MIT community core

The root license explains the split precisely. Code outside ee directories uses the MIT Expat license, while enterprise directories carry the Onyx Enterprise License. The README places Google OAuth, OIDC or SAML SSO, SCIM provisioning, role-based access, usage analytics, query history, custom code hooks, and whitelabeling in the enterprise edition.

This is a reasonable commercial boundary, but procurement should map required controls before a pilot. A company may be able to test chat and retrieval with the community edition, then discover that its identity or audit requirements change the cost and license. Do that check before connector setup and indexing make migration expensive.

Privacy also needs product-level testing. Open issue #11929 reports that a user's name and email are inserted into the LLM system prompt without an opt-out. The report was still open and updated on August 25, 2026. Any deployment handling employee data should inspect outbound prompts and provider logs with a test account rather than assuming the self-hosted application keeps every field local.

MCP reaches outside systems, subject to network policy

Onyx can connect agents to external applications through MCP and supports flexible authentication. This puts actions beside search instead of leaving the model read-only. It also expands the security boundary: connector credentials, action permissions, network access, and tool output all need review. The mcp tag here refers to Onyx acting as a client and action host, not to a tiny standalone MCP server.

A current bug shows why that distinction matters. Issue #14209 says MCP servers on internal or private endpoints can be blocked by the sandbox proxy before MCP policy evaluation. Teams connecting intranet tools should reproduce their network path early. A public demo endpoint says little about DNS, proxy rules, certificate trust, and service reachability inside a real cluster.

Current releases show speed and some upgrade risk

The repository was pushed on August 25, 2026, one day after release v4.6.2. GitHub listed 403 open issues and pull requests combined, with active work on connectors, indexing, Redis TLS, internationalization, and code search. The release itself fixed an OIDC deadlock, while a new report against v4.6.2 described a separate OIDC provisioning failure involving a null role. Fast movement is obvious; regression-free identity upgrades are not.

Onyx is worth the operational work when the alternative is assembling search, ingestion, agents, and permissions from separate products. Start with Lite to judge the interface. Move to Standard only after naming the connectors, models, enterprise controls, storage, and people who will operate it. For a single user chatting with a handful of files, AnythingLLM or Khoj carries less machinery.

Alternatives

ProjectWhat it isPick it when
AnythingLLM gh↗A local-first document chat and agent workspace with desktop and server options.pick this instead when a smaller team wants a simpler local workspace before an enterprise search platform.
PrivateGPTAn API layer for private RAG, tools, skills, and MCP over local models.pick this instead when you want backend APIs and control over the application UI.
KhojA self-hostable personal assistant for documents, web research, and automations.pick this instead when the main buyer is an individual or a small group rather than an enterprise platform team.

What people are saying

  1. [velocity-scout] onyx-dot-app/onyx

Sources

  1. Onyx repository and README
  2. Onyx v4.6.2 release
  3. User identity prompt privacy report
  4. Private MCP endpoint report
  5. Onyx deployment documentation

More self-hosted reviews

v2 · OpenShell · wigolo · Mindwtr · club-3090 · reclip · the whole board →