Bytedesk: Open-Source AI-Powered Customer Service Platform with IM, Tickets, and RAG
Open Souce IM with AI powered live-chat, email, ticket support, omni-channel customer service,alternative to slack + zendesk/intercom/hubspot/ada/decagon/sierra
At a glance
- What is it?
- Bytedesk is a Java-based open-source customer service platform combining team instant messaging, omnichannel live chat, a ticket system, a knowledge base, and AI agents with RAG and MCP support. It starts with a single Docker Compose command and positions itself as a self-hosted alternative to Zendesk, Intercom, and Slack combined.
- Who is it for?
- Teams that need a self-hosted customer service platform covering live chat, ticketing, knowledge base, and AI agent routing in one product will find Bytedesk's module catalog broad and its Docker Compose start practical. Java shops already running Spring Boot infrastructure will find integration less disruptive than adopting a Ruby or Node.js platform.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Java, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What Bytedesk is and who it is for
Bytedesk is a monorepo Java application providing two interconnected products: a team instant messaging system and an omnichannel customer service platform. The README describes it as an alternative to Slack combined with Zendesk, Intercom, HubSpot, Ada, Decagon, and Sierra, positioning it as a self-hosted replacement for a mix of internal communication and customer-facing service tools.
The primary audience is organizations that want to self-host customer service infrastructure rather than pay per-seat SaaS prices, need control over their data and conversation history, and have the engineering capacity to deploy and maintain a Java Spring Boot application. The monorepo structure and Maven build suggest a team familiar with Java enterprise patterns.
Bytedesk is not a lightweight solution. The Docker Compose default stack includes Redis, Elasticsearch, MySQL, and Apache Artemis alongside the application itself. The README provides a Docker Compose path that starts the full stack from a separate lightweight repository, separating quick verification from a full source code clone.
Module overview: IM, service, knowledge base, tickets, and AI
The monorepo is organized into core product modules and plugin modules. The core modules handle the primary use cases.
TeamIM covers organizational structure with multi-level hierarchy, role management, and permission management. Customer Service covers multi-channel routing with configurable routing strategies, a seat workbench for agents, and detailed assessment indicators. Knowledge Base has three layers: internal documentation, a help center, and a FAQ section. Ticket management covers ticket lifecycle, SLA management, and ticket statistics and reports. Voice of Customer provides feedback forms and surveys.
The AI Agent module is the most distinctive addition compared with traditional customer service platforms. It supports chat with locally hosted models through Ollama as well as cloud providers including DeepSeek and ZhipuAI. It includes RAG (retrieval-augmented generation) for knowledge-base-grounded answers, function calling for integration with external systems, and an MCP (Model Context Protocol) server for connecting to external data sources and tools.
Plugin modules extend the platform with a FreeSwitch-based call center supporting incoming call pop-up screens, automatic allocation, and call recording, a WebRTC-based video customer service module with screen sharing, and an open platform providing RESTful API interfaces and SDK toolkits for integration with third-party systems.
Quick start with Docker Compose
The fastest way to verify Bytedesk is through the separate bytedesk-docker-compose repository, which contains the same Docker Compose content as the deploy/docker folder:
git clone https://github.com/Bytedesk/bytedesk-docker-compose.git
cd bytedesk-docker-compose
cp .env.example .env
./start.shThe default start.sh with no arguments starts the full stack: Redis, Elasticsearch, MySQL, Apache Artemis, and the Bytedesk application image. After startup, the admin interface is accessible at http://127.0.0.1:9003/. The default credentials are [email protected] with password admin.
To start only the middleware without the Bytedesk image (for local source development):
./start.sh mysql artemis standard middlewareThe README documents additional startup combinations for PostgreSQL, Oracle, RabbitMQ, WebRTC, and call center configurations in the deploy/docker/readme.md. The full repository clone also provides the same Docker Compose files under deploy/docker/.
AI agent capabilities: RAG, function calling, and MCP
The AI module in Bytedesk supports multiple integration patterns for language model use. The most straightforward is direct chat with an LLM, supporting Ollama for local model deployment alongside cloud-hosted models including DeepSeek and ZhipuAI.
RAG (retrieval-augmented generation) connects the AI agent to the built-in knowledge base. When a customer asks a question, the agent retrieves relevant documents from the knowledge base and grounds its answer in those results. This allows the AI to answer questions about product documentation, policies, and FAQs without hallucinating answers from general training data.
Function calling allows the AI agent to invoke external systems as part of a conversation: looking up an order status, triggering a refund workflow, or querying a CRM record. The README describes this as part of the AI Agent module under modules/ai/readme.md.
MCP support enables connecting to external data sources and tools through the Model Context Protocol standard. This is listed as a capability of the AI Agent module alongside function calling.
The workflow module adds form processing, configurable processes, and ticket process automation, which can route AI-handled interactions into human agent queues based on defined rules.
Channel integrations and client SDKs
Bytedesk handles customer interactions from multiple source channels. The channels/ directory in the monorepo covers integrations for Douyin (TikTok China), shop platforms, social channels, and WeChat. The README lists these as distinct channel modules.
The open-source client ecosystem includes desktop and mobile applications. The README lists separate repositories for a desktop application, a Qt-based client, a Flutter mobile client, a SIP phone client, a conference application, FreeSwitch Docker, and Janus Docker for WebRTC. SDK support covers iOS (Swift), Android, Flutter, UniApp, and web frameworks including Vue, React, Angular, Next.js, and jQuery.
CMS integrations are listed for WordPress and WooCommerce. The README also mentions Magento and Prestashop integrations in commented-out sections, suggesting those are in progress or paused.
All of these client repositories and SDK integrations are maintained as separate repositories under the Bytedesk organization, which means each one may have its own update cadence and stability characteristics.
Licensing: AGPL-3.0 listed but BSL comment in README
GitHub shows AGPL-3.0 as the declared license for this repository. However, the README file contains an HTML comment near the top that reads: "Please be aware of the BSL license restrictions before installing Bytedesk IM. Selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license. Business Source License 1.1."
This is a meaningful discrepancy. AGPL-3.0 permits commercial use, including hosting, subject to sharing modifications under the same license. Business Source License 1.1 typically restricts commercial use, including SaaS hosting, for a defined period before converting to an open-source license. These two licenses have fundamentally different implications for service providers.
The comment's LastEditTime is dated 2025-09-24, which suggests it may be a carry-over from a previous licensing period. Reading the actual LICENSE file in the repository and seeking legal advice before any commercial deployment or hosting arrangement is necessary. This ambiguity is the primary risk factor for any organization evaluating Bytedesk for a commercial context.
Chatwoot is a widely used open-source alternative customer service platform built with Ruby on Rails, licensed under AGPL-3.0 without ambiguity. Chatwoot covers live chat, email, and social channels with a similar module approach. The architectural difference is the backend language: Bytedesk is Java-based, which suits teams already running Java infrastructure, while Chatwoot requires Ruby and is commonly deployed on smaller VMs.
Editorial conclusion
Teams that need a self-hosted customer service platform covering live chat, ticketing, knowledge base, and AI agent routing in one product will find Bytedesk's module catalog broad and its Docker Compose start practical. Java shops already running Spring Boot infrastructure will find integration less disruptive than adopting a Ruby or Node.js platform. Before committing, verify the license situation: GitHub shows AGPL-3.0 as the declared license, but the README file contains an HTML comment citing Business Source License 1.1 with explicit restrictions on hosting as a service. Reading the actual LICENSE file in the repository and obtaining legal advice for commercial deployments is necessary. The last push was on 2026-09-26.
Frequently asked questions
Can Bytedesk be hosted as a SaaS service for customers?
This is the core licensing ambiguity. GitHub declares the license as AGPL-3.0, which permits hosting with source-sharing requirements. However, the README contains an HTML comment citing Business Source License 1.1 and stating that hosting as a service breaches its terms. Reading the actual LICENSE file and seeking legal advice before any SaaS hosting deployment is necessary.
What infrastructure does Bytedesk require to run?
The default Docker Compose stack starts Redis, Elasticsearch, MySQL, and Apache Artemis alongside the Bytedesk application. The README also documents configurations using PostgreSQL, Oracle, and RabbitMQ as alternatives to the defaults. The application is not a lightweight single-binary deployment.
Does Bytedesk support self-hosted LLMs, or does it require a cloud API?
The AI Agent module supports Ollama for local model deployment alongside cloud providers such as DeepSeek and ZhipuAI. RAG, function calling, and MCP are documented as capabilities regardless of whether the model is local or cloud-hosted.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/bytedesk-bytedesk)