SuperAPI AI Directory

AstrBot - Open-source Multi-platform Chatbot and Development Framework

Author: AI小集 · Original source: AI工具集

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 conversation,speech-to-text, web search, and other functions. It provides a code executor and a visual management panel for easy user configuration and extension. AstrBot is based on a modular design, supports plugin development, and can be deployed with one click to various environments (such as Docker, Windows, Replit, etc.).

AstrBot

Main Features of AstrBot

  • Multi-language Model Support: Supports various large language models such as OpenAI GPT, Google Gemini, Llama, DeepSeek, ChatGLM, and also supports connecting to locally deployed large models via Ollama and LLMTuner.
  • Multi-platform Integration: Supports messaging platforms such as QQ (OneBot), QQ Channels, WeChat (Gewechat, WeCom), Telegram, etc. Support for DingTalk, Feishu, Discord, etc. will be added in the future.
  • Agent Features: Natively supports code executor, natural language to-do items, web search, and other functions. It can connect to the Dify platform to enable integration of intelligent assistants and knowledge bases.
  • Plugin Extension: Provides a deeply optimized plugin mechanism, allowing developers to extend functionality based on plugins and lowering the development threshold.
  • Visual Management: Provides a visual panel that supports configuration modification, plugin management, log viewing, and other functions. It integrates WebChat, allowing direct conversation with the bot on the panel.
  • Multimodal Interaction: Supports image understanding and speech-to-text (Whisper), and features multi-turn conversation and persona context functionality.
  • High Stability and Modularity: Based on an event bus and pipeline architecture design, it is highly modular and loosely coupled, making it easy to extend and maintain.

Technical Principles of AstrBot

  • Asynchronous Communication Architecture: Based on an asynchronous programming model, it efficiently handles message interactions across multiple platforms, improving system response speed and concurrent processing capability.
  • Event-driven Mechanism: Based on an event bus design, it decouples message reception, processing, and sending, allowing each module to run independently and improving the flexibility and scalability of the system.
  • Pipeline Processing: Message processing adopts a pipeline mode, executing steps such as message parsing, preprocessing, model invocation, and post-processing in order, which facilitates feature extension and maintenance.
  • Plugin System: Based on a plugin mechanism, developers can easily extend the bot's functionality. Plugins support independent development and deployment without affecting the operation of the main program.
  • Multi-language Model Integration: Supports integration of various large language models, communicating with different models based on standardized interfaces to enable flexible model switching and extension.

AstrBot Project Address

Application Scenarios of AstrBot

  • Enterprise Customer Service Support: Deployed on platforms such as WeCom and QQ Channels as an intelligent customer service bot, it quickly responds to customer inquiries, answers common questions, and provides 24/7 uninterrupted service, improving customer satisfaction and operational efficiency.
  • Personal Life Assistant: As a personal life assistant on platforms such as WeChat and Telegram, helping users manage to-dos, remind them of schedules, search for information, and use voice-to-text functionality for more convenient interaction.
  • Educational tutoring tool: Assisting learning in educational scenarios, helping students answer questions, providing learning materials, conducting language practice, and supporting programming learning based on a code executor.
  • Community management and interaction: On community platforms such as QQ Channels or Discord, helping administrators manage the community, automatically reply to common questions, organize activities, and use plugin features to implement interactive functions such as voting and check-ins, enhancing community activity.
  • Developer tool integration: As part of development tools, developers implement functions such as code snippet sharing, API debugging, and automated task execution, improving development efficiency.