AstrBot-聊天机器人及开发框架-开源项目


AstrBot 是一个松耦合、异步、支持多消息平台部署、具有易用的插件系统和完善的大语言模型(LLM)接入功能的聊天机器人及开发框架。以下是对该仓库的详细介绍:

仓库结构

.AstrBot
├── .dockerignore
├── .gitignore
├── .pre-commit-config.yaml
├── .python-version
├── CODE_OF_CONDUCT.md
├── Dockerfile
├── Dockerfile_with_node
├── LICENSE
├── README.md
├── README_en.md
├── README_ja.md
├── compose.yml
├── main.py
├── pyproject.toml
├── requirements.txt
├── uv.lock
├── .github
   ├── FUNDING.yml
   ├── ISSUE_TEMPLATE
   ├── PULL_REQUEST_TEMPLATE.md
   └── workflows
├── tests
   ├── test_dashboard.py
   ├── test_main.py
   ├── test_pipeline.py
   └── test_plugin_manager.py
├── packages
   ├── astrbot
   ├── python_interpreter
   ├── reminder
   ├── session_controller
   └── web_searcher
├── dashboard
├── astrbot
├── changelogs

主要功能

  1. 大语言模型对话:支持各种大语言模型,包括 OpenAI API、Google Gemini、Llama、Deepseek、ChatGLM 等,支持接入本地部署的大模型,通过 Ollama、LLMTuner。具有多轮对话、人格情境、多模态能力,支持图片理解、语音转文字(Whisper)。
  2. 多消息平台接入:支持接入 QQ(OneBot)、QQ 频道、微信(Gewechat)、飞书、Telegram。后续将支持钉钉、Discord、WhatsApp、小爱音响。支持速率限制、白名单、关键词过滤、百度内容审核。
  3. Agent:原生支持部分 Agent 能力,如代码执行器、自然语言待办、网页搜索。对接 Dify 平台,便捷接入 Dify 智能助手、知识库和 Dify 工作流。
  4. 插件扩展:深度优化的插件机制,支持开发插件扩展功能,极简开发。已支持安装多个插件。
  5. 可视化管理面板:支持可视化修改配置、插件管理、日志查看等功能,降低配置难度。集成 WebChat,可在面板上与大模型对话。
  6. 高稳定性、高模块化:基于事件总线和流水线的架构设计,高度模块化,低耦合。

近期更新

  1. AstrBot 现已自带知识库能力,详见文档
  2. AstrBot 现已支持接入 MCP 服务器。

使用方式

pip install uv

通过 Git Clone 安装 AstrBot:

git clone https://github.com/AstrBotDevs/AstrBot && cd AstrBot
  • Replit 部署:点击 Run on Repl.it 即可在 Replit 上部署。

贡献方式

你可以通过查看问题或帮助审核 PR(拉取请求)来贡献。任何问题或 PR 都欢迎参与,以促进社区贡献。当然,这些只是建议,你可以以任何方式进行贡献。对于新功能的添加,请先通过 Issue 讨论。

开发环境

AstrBot 使用 ruff 进行代码格式化和检查。

git clone https://github.com/Soulter/AstrBot
pip install pre-commit
pre-commit install

特别感谢

特别感谢所有 Contributors 和插件开发者对 AstrBot 的贡献。此外,本项目的诞生离不开以下开源项目: - NapNeko/NapCatQQ - wechatpy/wechatpy

支持项目

版本历史

可查看 changelogs 目录下的文件了解详细的版本更新内容,例如 changelogs/v3.5.2.md 记录了 v3.5.2 版本的新增功能。

文档与交流