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
主要功能
- 大语言模型对话:支持各种大语言模型,包括 OpenAI API、Google Gemini、Llama、Deepseek、ChatGLM 等,支持接入本地部署的大模型,通过 Ollama、LLMTuner。具有多轮对话、人格情境、多模态能力,支持图片理解、语音转文字(Whisper)。
- 多消息平台接入:支持接入 QQ(OneBot)、QQ 频道、微信(Gewechat)、飞书、Telegram。后续将支持钉钉、Discord、WhatsApp、小爱音响。支持速率限制、白名单、关键词过滤、百度内容审核。
- Agent:原生支持部分 Agent 能力,如代码执行器、自然语言待办、网页搜索。对接 Dify 平台,便捷接入 Dify 智能助手、知识库和 Dify 工作流。
- 插件扩展:深度优化的插件机制,支持开发插件扩展功能,极简开发。已支持安装多个插件。
- 可视化管理面板:支持可视化修改配置、插件管理、日志查看等功能,降低配置难度。集成 WebChat,可在面板上与大模型对话。
- 高稳定性、高模块化:基于事件总线和流水线的架构设计,高度模块化,低耦合。
近期更新
使用方式
- Docker 部署:请参阅官方文档 使用 Docker 部署 AstrBot。
- Windows 一键安装器部署:请参阅官方文档 使用 Windows 一键安装器部署 AstrBot。
- 宝塔面板部署:请参阅官方文档 宝塔面板部署。
- CasaOS 部署:社区贡献的部署方式,请参阅官方文档 CasaOS 部署。
- 手动部署:推荐使用
uv
,首先安装 uv:
pip install uv
通过 Git Clone 安装 AstrBot:
git clone https://github.com/AstrBotDevs/AstrBot && cd AstrBot
贡献方式
你可以通过查看问题或帮助审核 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 版本的新增功能。