Model or dataset
onyx-dot-app/onyx avatar
onyx-dot-app/onyx

Onyx: A Self-Hosted AI Chat Platform with RAG, Agents, and a Split Community/Enterprise License

Open Source AI Platform - AI Chat with advanced features that works with every LLM

32,109 stars4,450 forksPythonNOASSERTION

At a glance

What is it?
Onyx is an open-source application layer for LLMs that bundles chat, agentic RAG, deep research, and code execution into a deployable stack. This review covers its two deployment modes, its feature set, and the licensing split that engineers must understand before adoption.
Who is it for?
Adopt Onyx if you need a self-hosted, feature-rich chat UI with RAG and agent capabilities and you are comfortable running a Docker or Kubernetes stack. It suits teams that want an all-in-one platform rather than assembling separate tools.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What Onyx Solves and Who It Targets

Onyx positions itself as the application layer for LLMs, meaning it provides the interface and orchestration that a raw model API lacks. The problem it addresses is practical: many teams want to give users a chat experience that includes retrieval from their own documents, web search, and the ability to run code, without building that infrastructure from scratch. The README lists features like agentic RAG, deep research, custom agents, web search, artifacts, actions via MCP, code execution, voice mode, and image generation. The intended audience is broad, from individual users to large enterprises, but the deployment modes reveal a split. Onyx Lite is a lightweight chat UI under 1GB memory, aimed at quick tests or teams that only need chat and agents. Standard Onyx adds the vector and keyword index for RAG, background workers for syncing connectors, model inference servers, Redis cache, and MinIO blob storage. That distinction matters because it means the full retrieval experience is not available in the lighter mode.

How Onyx Works: Architecture and Data Flow

The repository does not include a detailed architecture diagram, but the deployment section of the README gives a clear picture of the components. Standard Onyx runs a stack that includes an indexing layer with both vector and keyword search, background containers that run job queues and workers to sync knowledge from connectors, and AI model inference servers for the deep learning models used during indexing and inference. The flow implied is that connectors pull data from over 50 external applications, the workers process and index that data into the hybrid index, and then the chat interface queries that index while also calling LLMs for generation. Agents are built on top of this, with the ability to use tools like web search and code execution. The inclusion of Redis for caching and MinIO for blob storage indicates that Onyx is designed for horizontal scaling, though the README does not specify how those components are configured. The Lite mode omits these pieces, which suggests that the chat and agent functions can operate without a local index, likely relying only on the LLM and external tools.

Getting Onyx Running: Commands and Modes

The README offers a single-command installer for deployment: curl -fsSL https://onyx.app/install_onyx.sh | bash. That command is presented as the quickest way to get Onyx running. Beyond that, the documentation supports Docker, Kubernetes, Helm/Terraform, and cloud provider guides, though the README does not list the exact commands for those paths. The two deployment modes are chosen presumably during installation or configuration, but the README does not specify the exact flag or config key. Onyx Lite is described as requiring under 1GB memory and running a less complex stack, which is suitable for testing or chat-only use. Standard Onyx is recommended for serious users and larger teams. The README also points to a cloud offering at cloud.onyx.app for those who want to try without deploying. For configuration, the README mentions support for all major LLM providers, including self-hosted options like Ollama, LiteLLM, and vLLM, and proprietary ones like Anthropic, OpenAI, and Gemini. The actual setup of API keys and model selection is not covered in the README, so users will need to consult the docs for those details.

Feature Depth: RAG, Deep Research, and Agents

Onyx's feature list is ambitious. The agentic RAG claim rests on a hybrid index plus AI agents for information retrieval. The README says a benchmark is to be released soon, which means there is no public evidence yet for the quality of that retrieval. Deep research is described as producing in-depth reports with a multi-step research flow, and the README claims it is top of a leaderboard as of February 2026, linking to a separate repository. That claim is specific but unverifiable from this material alone. Custom agents can be built with unique instructions, knowledge, and actions, which implies a configuration system for prompts and tool access. Web search supports Serper, Google PSE, Brave, SearXNG, and others, and includes an in-house crawler plus support for Firecrawl and Exa. Code execution runs in a sandbox, which is a critical safety feature for any tool that executes user-provided code. The breadth of features is a strength, but it also means that each feature has its own failure modes. For example, web search quality depends on the third-party provider, and code execution sandboxing must be robust to prevent security issues. The README does not provide details on sandbox isolation, so that remains a verification point for adopters.

Licensing and Enterprise Split: A Caution for Adopters

The licensing situation requires attention. The GitHub metadata lists the license as NOASSERTION, which means the repository has not declared a standard license identifier. The README, however, includes a badge that says MIT and a section that describes two editions: Onyx Community Edition (CE) available under the MIT license, covering core features for chat, RAG, agents, and actions, and Onyx Enterprise Edition (EE) with extra features for larger organizations. This discrepancy is a red flag. The README does not specify which features are in EE versus CE, nor does it provide a link to the exact license text beyond a generic LICENSE file reference. The badge might be aspirational or outdated. For any engineering team, this ambiguity is a practical problem. You cannot confidently build a product on a codebase when the license is not clearly declared in the repository metadata. The README also mentions enterprise features like SSO via Google OAuth, OIDC, or SAML, SCIM provisioning, RBAC, analytics, query history, custom code for PII removal, and whitelabeling. It is reasonable to assume these are EE features, but the README does not say so explicitly. Before adoption, you must inspect the actual LICENSE file and the source tree to understand what is freely usable and what is gated.

Limitations and Failure Modes

The most obvious limitation is the split between Lite and Standard modes. If you choose Lite to save resources, you lose the vector and keyword index, which means RAG is not available. That is a fundamental trade-off. The README says Lite is for testing or teams only interested in chat and agents, but agents that need to retrieve from a knowledge base would not work as intended without the index. Another limitation is the dependency on external services. Web search relies on third-party APIs like Serper or Brave, and the in-house crawler's quality is unproven. Code execution is described as sandboxed, but the README does not detail the isolation mechanism, so there is a risk if the sandbox is weak. The deep research feature claims a leaderboard position, but that is a self-reported benchmark from a repository that Onyx itself maintains. The absence of a published benchmark for agentic RAG, despite the claim that one is coming, means you cannot compare Onyx's retrieval quality with alternatives. Finally, the deployment complexity of Standard Onyx, with Redis, MinIO, and background workers, is non-trivial. Teams without Kubernetes experience may struggle to operate it reliably.

Alternatives and How Onyx Differs

The most direct alternative in the open-source space is something like LangChain's LangServe or a custom RAG pipeline built on vector databases like Weaviate or Qdrant. The difference is that Onyx is a complete application platform, not a library. It provides a chat UI, connectors, indexing, and agent execution out of the box. A custom approach gives you control but requires assembling those pieces yourself. Another alternative is a self-hosted chat UI like Open WebUI, which is lighter and focuses on chat with models, but it does not include the same depth of RAG connectors or agent tools. Onyx's differentiation is its breadth: over 50 connectors, a hybrid index, and a built-in agent framework. The trade-off is that Onyx is heavier and more opinionated. If you need deep customization of your retrieval pipeline, a modular stack might be better. If you want a ready-made platform that you can deploy and populate with connectors, Onyx is designed for that. The Lite mode blurs the line, but it is not a full RAG system.

Maintenance and Upgrade Considerations

The repository shows active development, with a recent release v4.7.1 on September 8, 2026, and a CLI release v1.4.1 the next day. That cadence suggests frequent updates, which is good for bug fixes but also means you should plan for regular upgrades. The README does not describe an upgrade path, but the use of Docker and Kubernetes implies that upgrades are done by pulling new images and applying manifests. The split between CE and EE means that if you depend on a feature that moves to EE in a future release, you could be forced to pay or fork. The license ambiguity compounds this risk. You should verify the exact license terms and the feature boundary before building on Onyx. The project is not archived, and the last push is recent, so it is under active maintenance. However, the README's claim of a benchmark to be released soon and the deep research leaderboard are promotional elements that you should treat with skepticism until independent verification exists.

Editorial conclusion

Adopt Onyx if you need a self-hosted, feature-rich chat UI with RAG and agent capabilities and you are comfortable running a Docker or Kubernetes stack. It suits teams that want an all-in-one platform rather than assembling separate tools. Do not adopt it if you need only a minimal chat interface and want to avoid the complexity of the Standard mode; Onyx Lite exists but lacks the full RAG index. Before committing, verify which features you require are in the Community Edition versus the Enterprise Edition, because the README does not list a precise feature boundary. Check the current license file in the repository, since the GitHub metadata says NOASSERTION while the README claims MIT for the Community Edition. Confirm that your chosen LLM providers and connectors are supported, and test the single-command installer in a sandbox before production use.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community notes

Community notes