AstrBot is an open-source one-stop Agentic personal and group chat assistant designed for deployment across dozens of mainstream instant messaging platforms including QQ, Telegram, WeCom (Enterprise WeChat), Feishu (Lark), DingTalk, Slack, and more. Built with Python 3.10+ and powered by advanced LLM capabilities, AstrBot provides a reliable, extensible conversational AI framework for individuals, developers, and teams. The project features a built-in lightweight ChatUI similar to OpenWebUI, enabling seamless multi-platform interactions with sophisticated AI agents.
AstrBot delivers a comprehensive AI assistant experience that goes beyond simple chat interfaces. The platform combines multi-platform accessibility with powerful agentic capabilities, allowing you to deploy intelligent assistants across your preferred communication channels. Whether you need role-playing companionship, proactive agent behavior, or general-purpose agentic capabilities, AstrBot provides the infrastructure to make it happen. The system supports over 900 community plugins that can be installed with a single click, extending functionality for virtually any use case.
AstrBot's feature set encompasses everything needed for production-ready AI assistants across multiple deployment scenarios. The table below summarizes the key capabilities that make AstrBot a comprehensive solution.
Feature Category
Capabilities
AI & LLM
Multi-modal conversations, Agent framework, MCP (Model Context Protocol) integration, Skills system, knowledge base with vector search, persona customization, automatic conversation compression
Platform Support
QQ, WeCom, Feishu, DingTalk, WeChat Official Account, Telegram, Slack, Discord, Line, Misskey, WebChat, and Satori protocol adapters
AstrBot's architecture follows a pipeline-based event-driven design that processes messages through a series of well-defined stages. The core system centers around several key components that work together to deliver seamless multi-platform AI assistant functionality. Understanding this architecture is essential for developers who want to extend or customize the system.
AstrBot is built with modern, production-ready technologies chosen for their performance, reliability, and community support. The Python backend leverages asynchronous programming patterns for high concurrency, while the Vue.js frontend provides a responsive user interface.
The dashboard is built with Vue 3, TypeScript, and Vite, providing a modern and maintainable codebase for administrative interfaces. The frontend includes rich text editing, code highlighting, and real-time updates for a comprehensive management experience.
AstrBot's architecture is composed of several interconnected systems that work together to process messages, manage conversations, and deliver intelligent responses across multiple platforms.
Event Bus and Pipeline System
The EventBus serves as the central message dispatcher, maintaining an asynchronous queue that receives message events from all connected platforms. When an event arrives, it's routed through a pipeline scheduler that executes a series of processing stages in sequence. The pipeline implements an onion model pattern, allowing stages to perform both pre-processing before and post-processing after downstream stages execute.
The pipeline stages execute in the following order: WakingCheck → WhitelistCheck → SessionStatusCheck → RateLimitCheck → ContentSafetyCheck → PreProcess → ProcessStage → ResultDecorate → Respond. Each stage can stop event propagation if necessary, providing fine-grained control over message handling.
The ProviderManager handles all LLM, embedding, STT (Speech-to-Text), TTS (Text-to-Speech), and rerank providers. This system supports multiple providers simultaneously with automatic fallback and load balancing. Providers can be configured through the dashboard, and the manager dynamically loads provider instances at runtime. The system includes built-in support for major providers like OpenAI, Anthropic (Claude), Google (Gemini), Alibaba Dashscope, and many others through standard interfaces.
AstrBot's plugin system, called Stars, provides a powerful extension mechanism for adding custom functionality. Plugins can register filters (intercept and process messages), commands (trigger specific actions), and session plugins (manage conversation state). The system includes built-in stars for web searching, session control, and basic commands. With nearly 900 community plugins available, you can extend AstrBot's capabilities for virtually any use case without modifying core code.
The Agent Framework provides sophisticated AI agent capabilities including tool execution, MCP client integration, and sub-agent orchestration. Agents can safely execute code in isolated sandboxes, call external APIs through registered tools, and delegate complex tasks to specialized sub-agents. The system includes built-in tools for shell execution, file operations, knowledge base queries, web search, and cron job management, with support for adding custom tools.
The Agent Sandbox provides isolation for code execution, ensuring that potentially dangerous operations don't affect the main AstrBot process. This is critical for production deployments where users might prompt the agent to execute arbitrary commands.
AstrBot includes a vector database-powered knowledge base that supports document ingestion, chunking, and hybrid dense-sparse retrieval. You can upload documents (PDF, Markdown, text files, and more), which are automatically parsed, chunked, and embedded for semantic search. The knowledge base integrates seamlessly with the agent framework, allowing agents to retrieve relevant information during conversations.
Platform adapters enable AstrBot to connect to various messaging platforms. Each adapter implements a common interface to translate platform-specific messages into AstrBot's unified event format. Currently supported platforms include QQ (via multiple protocols), Telegram, WeCom (Enterprise WeChat), Feishu/Lark, DingTalk, WeChat Official Account, Slack, Discord, Line, Misskey, WebChat, and any platform supporting the Satori protocol.
AstrBot's flexibility makes it suitable for a wide range of applications across different domains.
Personal Assistants
Transform your personal communication channels into intelligent AI-powered assistants. Set up role-playing personas for emotional companionship, enable proactive agents that remind you of important events, or simply have a knowledgeable companion available across all your messaging platforms.
Deploy AstrBot in group chats to provide instant answers, automate repetitive tasks, and facilitate team workflows. The knowledge base feature lets you create company-specific documentation that agents can reference when answering questions, while the plugin system allows you to integrate with existing tools and services.
Customer Support
Use AstrBot to build intelligent customer support bots across multiple channels. The pipeline's rate limiting, content safety, and whitelist features ensure appropriate responses, while the conversation history manager enables context-aware support sessions that can be reviewed and analyzed.
Developer Tools
AstrBot serves as an excellent platform for building and testing AI-powered tools. The agent sandbox allows safe code execution, MCP integration enables connections to external systems, and the comprehensive plugin system makes it easy to prototype and deploy new functionality.
Deployment Options
AstrBot offers multiple deployment strategies to suit different environments and expertise levels. For beginners, the desktop application provides the easiest path to get started. For production deployments, Docker/Docker Compose offers excellent isolation and scalability. Cloud panel integrations with Baota and 1Panel provide web-based deployment for users who prefer graphical interfaces, while Kubernetes manifests are available for enterprise-scale deployments.
The Docker Compose deployment is recommended for most users as it provides the best balance between ease of use and production readiness. It includes all dependencies and can be scaled by adding more instances behind a load balancer.
Now that you have a high-level understanding of AstrBot's architecture and capabilities, you're ready to dive deeper into specific aspects of the system. Here's a recommended learning path based on your interests:
First-Time Users: Begin with Quick Start to get AstrBot up and running in minutes