Onyx (Danswer): Open-Source Enterprise RAG and AI Chat for Teams

Jul 29, 2025

Introduction

Finding critical information across fragmented company documents, Slack threads, and Jira tickets is a constant struggle for scaling teams. Onyx (formerly known as Danswer) solves this by providing an open-source, self-hostable AI assistant that connects directly to your organization’s unique knowledge base. With a robust Retrieval-Augmented Generation (RAG) pipeline, Onyx allows teams to query their private data using natural language and receive grounded, cited answers without sacrificing data privacy. This project has gained significant traction in the open-source community, offering a production-ready alternative to proprietary enterprise search tools.

What Is Onyx (Danswer)?

Onyx is an open-source AI platform and RAG engine that provides a chat interface for interacting with company documents, apps, and people. It is designed as an application layer for LLMs, acting as a bridge between a chosen Large Language Model and the organization’s internal data sources. Developed by the Danswer team, Onyx is dual-licensed (primarily MIT) and can be deployed on a laptop, on-premise, or in the cloud.

The system is built to be modular and extensible, allowing users to plug in any LLM of their choice—including self-hosted options like Ollama or vLLM—to ensure that user data and chats remain fully under the organization’s control. It serves as an enterprise search tool that transforms fragmented internal knowledge into a subject matter expert for the team.

Why Onyx (Danswer) Matters

Traditional enterprise search is often broken; keyword-based search fails to understand the intent behind a question, while general-purpose LLMs like ChatGPT suffer from hallucinations and a lack of access to private, real-time data. Onyx fills this gap by implementing a custom RAG pipeline that ensures every answer is backed by actual documents from the connected sources.

For organizations with strict compliance and privacy requirements, the ability to self-host the entire stack—including the LLM—is a critical differentiator. This allows teams to create an air-gapped environment where sensitive company secrets never leave the internal network. The project’s growth is evidenced by its adoption by teams who need a ChatGPT-like experience but with guaranteed grounding in their own specific technical documentation and internal processes.

Key Features

  • Agentic RAG: Utilizes a hybrid index and AI Agents to significantly improve search and answer quality, ensuring that retrieval is precise and contextually relevant.
  • Deep Research: Provides a multi-step research flow that allows the AI to perform in-depth reports and complex queries that require synthesizing information from multiple sources.
  • Extensive Connectors: Offers out-of-the-box integration with over 40+ knowledge sources, including Slack, Google Drive, Confluence, Jira, GitHub, and Notion, to pull metadata and access information.
  • Custom AI Agents: Allows users to build specialized AI Agents with unique instructions, specific knowledge sets, and defined actions to handle different organizational roles.
  • Web Search Integration: Enables the assistant to browse the live web using providers like Google PSE, Serper, and Brave, combined with an in-house scraper for up-to-date information.
  • Code Execution & Artifacts: Features a sandboxed environment to execute code for data analysis, render graphs, and generate downloadable artifacts like documents and graphics.
  • Voice Mode: Integrates text-to-speech and speech-to-text capabilities, allowing users to interact with their knowledge base via voice.
  • Production-Ready Management: Includes built-in user authentication, role management (admin/basic users), and chat persistence for deployment in professional environments.

How Onyx (Danswer) Compares

Feature Onyx (Danswer) LangChain / LlamaIndex Proprietary Enterprise Search
Deployment Model Self-Hostable / Open Source Framework/Library SaaS Only
Out-of-the-box UI Yes (Full Chat Interface) No (Requires Building) Yes
Data Connectors 40+ Integrated Extensive (via Libraries) Developer Dependent
Privacy Control Full (Air-gapped possible) Developer Dependent Vendor Managed

Onyx differs from frameworks like LangChain or LlamaIndex in that it is a complete application rather than a development toolkit. While LangChain provides the building blocks to create a RAG system, Onyx provides the finished product—including the UI, user management, and the indexing pipeline—out of the box. This significantly reduces the time to value for teams who want a working AI assistant without writing thousands of lines of orchestration code.

Compared to proprietary SaaS solutions, Onyx offers superior data sovereignty. Because the organization owns the deployment, the user data and chat history are fully controlled internally. This is particularly valuable for industries like healthcare or finance where sending internal documents to a third-party cloud is a non-starter.

Getting Started: Installation

Onyx can be deployed in several ways depending on the environment and scale. The most common method is using Docker Compose for local or VM deployment.

Docker Compose Installation

The fastest way to get Onyx running is to use the official installation script which handles the environment setup and container orchestration.

curl -fsSL https://onyx.app/install_onyx.sh | bash

Manual Docker Compose Setup

For those who prefer manual control, you can clone the repository and run the stack using the provided compose files.

git clone https://github.com/danswer-ai/danswer.git
cd danswer/deployment/docker_compose
docker compose -f docker-compose.dev.yml -p danswer-stack up -d --pull always --force-recreate

Kubernetes Deployment

Onyx provides built-in support for Kubernetes via Helm charts, allowing for scalable production deployments in cloud environments.

Files for Kubernetes deployment can be found in the deployment/kubernetes directory of the repository.

How to Use Onyx (Danswer)

Once the containers are running, access the Onyx web interface (typically at http://localhost:3000). The first step is to connect your data sources. Navigate to the Admin Panel and select the “Connectors” tab. Here, you can authorize Onyx Onyx to access your Google Drive, Slack, or local files.

After connecting a source, Onyx will begin indexing the documents. This process involves pulling the content, chunking it into manageable pieces, and creating vector embeddings. You can monitor the indexing status in the Admin Panel to ensure all documents are correctly ingested.

Finally, you can start chatting. Enter a question in the natural language interface. Onyx will retrieve the most relevant chunks of information from your connected sources and pass them to the LLM to generate a grounded answer. Every answer will include citations and links to the exact documents used to generate the response, allowing for easy verification.

Code Examples

While Onyx is primarily used as a web application, it provides an API for programmatic interaction. You can query the system using a simple POST request to the query endpoint.

curl -X POST http://localhost:5000/query -H "Content-Type: application/json" -d '{"query": "What is the company policy on remote work?"}'

This request sends a query to the Onyx backend, which triggers the RAG pipeline: retrieval of relevant documents, prompt construction, and LLM generation. The response will contain the answer and the source citations.

For developers looking to extend the system, the project provides a Document interface that must be implemented to create custom connectors. A custom connector must provide the following basic metadata:

# Example of a Document interface implementation
class CustomConnector:
    def get_documents(self):
        return [
            {
                "title": "Project Alpha Specification",
                "content": "The project alpha goal is to build a high-performance API.",
                "link": "https://internal.company.com/docs/alpha",
                "metadata": { "author": "Jane Doe", "version": "1.0" }
            }
        ]

Real-World Use Cases

Onyx shines in environments where information is scattered across multiple platforms and needs to be grounded in private data.

  • Technical Onboarding: A new engineer can ask Onyx, “How do I set up the local development environment for the legacy payment service?” and receive a step-by-step guide pulled from a mix of old Confluence pages and recent Slack conversations.
  • Customer Support: Support agents can use Onyx to quickly find answers to obscure technical questions by querying the internal product documentation and previous Jira tickets, reducing the time to resolve tickets.
  • Sales Enablement: Sales teams can use the AI assistant to query the laest product roadmap and feature requests in GitHub issues, ensuring they provide accurate information to prospects.
  • Compliance and Audit: Compliance officers can use the AI to search across all internal policies and guidelines to ensure that the organization is the laest up-to-date with regulatory requirements.

Contributing to Onyx (Danswer)

Onyx is an active open-source project that encourages community contributions. The most common area of contribution is the development of new connectors. Because the project uses a simple Document interface, adding a new knowledge source is a relatively straightforward process.

Contributors are encouraged to report bugs via GitHub Issues and submit pull requests. The project maintains a specific connector contributing guide to help developers get started. All contributions must follow the project’s code of conduct and the Developer Certificate of Origin (DCO) to ensure licensing compatibility.

Community and Support

Onyx provides several official channels for support and community interaction. The primary hub for technical discussions is the official Discord server, where developers and users can get real-time help and share best practices.

In addition to Discord, the project maintains a comprehensive documentation site at docs.onyx.app, which covers everything from deployment, connector configuration, and advanced RAG tuning. For those seeking enterprise-grade support, the project offers an Enterprise Edition with SSO, role-based access control and dedicated support packages.

Conclusion

Onyx (Danswer) is a powerful solution for teams that need to transform their internal knowledge into a searchable, AI-powered assistant. By combining a production-ready UI with a flexible RAG pipeline and a commitment to open-source, it provides a professional alternative to proprietary search tools while maintaining complete data sovereignty.

Whether you are a deploying on a laptop for a small team or scaling to a Kubernetes cluster for an entire organization, Onyx is the right choice when you need grounded, cited answers from your private data. Star the repo, try the quickstart, and join the community to start unlocking the internal knowledge of your organization.

What is Onyx (Danswer) and what problem does it solve?

Onyx is an open-source AI assistant for teams that solves the problem of fragmented internal knowledge. It connects to your company’s documents and apps (like Slack and Google Drive) and uses RAG to provide grounded, cited answers to natural language questions.

How do I install Onyx (Danswer)?

The simplest way to install Onyx is using the official installation script: curl -fsSL https://onyx.app/install_onyx.sh | bash. Alternatively, you can deploy it via Docker Compose or Kubernetes using the files provided in the GitHub repository.

Can I use Onyx (Danswer) with my own LLM?

Yes, Onyx is designed to be modular. You can plug in any LLM of your choice, including proprietary models from OpenAI or Anthropic, or self-hosted models running via Ollama, vLLM, or LiteLLM.

How does Onyx (Danswer) compare to LangChain?

While LangChain is a development framework for building AI applications, Onyx is a complete, self-hostable application. Onyx provides the UI, user management, and data connectors out of the box, whereas LangChain requires you to build the interface and application layer yourself.

Can I use Onyx (Danswer) for air-gapped environments?

Yes, because Onyx is open-source and self-hostable, you can deploy the entire stack—including the LLM—on your own infrastructure. This ensures that no data ever leaves your internal network, making it suitable for high-security environments.

Is Onyx (Danswer) free to use?

The Community Edition of Onyx is available freely under the MIT license. There is also an Enterprise Edition that provides additional features like SSO and advanced role-based access control for larger organizations.

What data sources can Onyx (Danswer) connect to?

Onyx provides out-of-the-box connectors for over 40+ applications, including Slack, Google Drive, Confluence, Jira, GitHub, Notion, and local files, allowing it to synthesize information from across your organization.

[/et_pb_column] [/et_pb_row]