AB
AiBoss
project

AstrBot - Open source, multi-platform chatbot and development framework

AstrBot is a multi-platform chatbot and development framework that supports various large language models (such as OpenAI GPT, Google Gemini, Llama, etc.) and multiple messaging platforms (such as QQ, Telegram, WeChat, etc.). AstrBot...

What is AstrBot?

AstrBot is a multi-platform chatbot and development framework that supports various large language models (such as OpenAI GPT, Google Gemini, Llama, etc.) and multiple messaging platforms (such as QQ, Telegram, WeChat, etc.). AstrBot features multi-turn dialogue, speech-to-text conversion, and web search capabilities, and provides a code executor and a visual management panel for easy configuration and expansion. Based on a modular design, AstrBot supports plugin development and can be deployed to various environments (such as Docker, Windows, Replit, etc.) with a single click.

AstrBot's main functions

  • Multilingual model supportIt supports various large language models such as OpenAI GPT, Google Gemini, Llama, DeepSeek, and ChatGLM, and also supports accessing locally deployed large models based on Ollama and LLMTuner.
  • Multi-platform accessSupports messaging platforms such as QQ (OneBot), QQ Channel, WeChat (Gewechat, Enterprise WeChat), and Telegram. Support for DingTalk, Lark, Discord, and others will be added in the future.
  • Agent FunctionIt natively supports features such as code executors, natural language to-do lists, and web search, and can connect to the Dify platform to enable access to smart assistants and knowledge bases.
  • Plugin extensionIt provides a deeply optimized plugin mechanism, supporting developers to extend functionality based on plugins and lowering the development threshold.
  • Visual managementIt provides a visual panel that supports configuration modification, plugin management, log viewing, and other functions. It also integrates WebChat, allowing users to directly interact with the chatbot from the panel.
  • Multimodal interactionIt supports image understanding and speech-to-text (Whisper), and features multi-turn dialogue and personality contextualization capabilities.
  • High stability and modularityBased on event bus and pipeline architecture design, it is highly modular, loosely coupled, and easy to expand and maintain.

AstrBot's technical principles

  • Asynchronous communication architectureBased on an asynchronous programming model, it efficiently handles message interaction across multiple platforms, improving system response speed and concurrent processing capabilities.
  • Event-driven mechanismBased on the event bus design, message receiving, processing and sending are decoupled, allowing each module to run independently, improving the system's flexibility and scalability.
  • Assembly line processingThe message processing adopts a pipeline model, which executes message parsing, preprocessing, model invocation, postprocessing and other steps in sequence, which facilitates function expansion and maintenance.
  • Plug-in systemBased on the plugin mechanism, developers can easily extend the robot's functionality. Plugins can be developed and deployed independently without affecting the main program's operation.
  • Multilingual model accessIt supports the access of multiple large language models, communicates with different models based on standardized interfaces, and realizes flexible model switching and expansion.

AstrBot's project address

Application scenarios of AstrBot

  • Enterprise Customer SupportDeployed on platforms such as WeChat and QQ channels, it serves as an intelligent customer service robot, quickly responding to customer inquiries, answering common questions, providing 24/7 uninterrupted service, and improving customer satisfaction and operational efficiency.
  • Personal Life AssistantOn platforms such as WeChat and Telegram, it serves as a personal life assistant, helping users manage to-do items, remind them of schedules, and search for information, while using voice-to-text functionality for more convenient interaction.
  • Educational and tutoring toolsIn educational settings, it assists learning by helping students answer questions, providing learning materials, and conducting language practice, and by using a code executor to support programming learning.
  • Community Management and InteractionIn QQ channels or community platforms such as Discord, it helps administrators manage the community, automatically answer frequently asked questions, organize activities, and use plugin functions to implement interactive functions such as voting and check-in, thereby enhancing community activity.
  • Developer tool integrationDevelopers can use this as part of the development tools to enable features such as code snippet sharing, API debugging, and automated task execution, thereby improving development efficiency.