综合介绍
AstrBot 是一个开源的聊天机器人开发框架,它支持 QQ、Telegram、微信等多种消息平台,并能轻松接入 OpenAI、DeepSeek、Google Gemini 等大语言模型(LLM)。这个框架提供插件系统、可视化管理面板和多模态功能,比如图片理解和语音转文字。AstrBot 设计目标是让用户快速搭建智能聊天机器人,适合开发者和技术爱好者。它使用 AGPL-v3 许可证,代码公开,社区活跃。
功能列表
- 支持多平台消息接入,包括 QQ、QQ 频道、Telegram、微信(个人号和企业微信)、飞书、钉钉等。
- 集成多种大语言模型,如 OpenAI、Google Gemini、DeepSeek、Claude、Ollama 等,支持本地模型。
- 提供多轮对话功能,可设置人格,支持图片理解和语音转文字(基于 Whisper)。
- 内置可视化管理面板,用于配置机器人、查看日志和管理插件。
- 支持插件扩展,用户可开发自定义功能,如签到或代码执行。
- 提供 Agent 功能,包括网页搜索、自然语言待办和对接 Dify 平台。
- 包含内容安全管理,如关键词过滤和百度内容审核。
- 提供 WebUI,用户可通过网页直接与机器人对话。
使用帮助
AstrBot 的安装和使用流程清晰,官方文档提供了多种部署方式。下面详细介绍安装步骤和主要功能操作。
安装流程
AstrBot 支持源码部署、Docker 部署、Windows 一键安装、宝塔面板部署等多种方式。这里以源码部署和 Docker 部署为例说明。
源码部署
- 准备环境
确保安装了 Git 和 Python 3.11+。Windows 用户可从 Python 官网下载,Linux 用户可用sudo apt install python3
安装。 - 下载代码
在终端运行:
git clone https://github.com/AstrBotDevs/AstrBot
cd AstrBot
或从 GitHub 下载 ZIP 文件并解压。
- 安装依赖
推荐使用uv
工具:
pip install uv
uv run main.py
或者用传统方式:
pip install -r requirements.txt
python main.py
- 启动程序
运行后,终端会显示管理面板地址,如http://localhost:6185
。用默认账号astrbot
和密码astrbot
登录。
Docker 部署
- 安装 Docker
确保 Docker 已安装,可用docker --version
检查。 - 拉取镜像并运行
在终端输入:
docker run -d -p 6185:6185 -v astrbot-data:/app/data soulter/astrbot:latest
-p 6185:6185
映射端口,-v
创建数据卷保存配置。
- 访问面板
打开浏览器,输入http://localhost:6185
,用默认账号密码登录。
主要功能操作
配置大语言模型
- 登录管理面板,点击“提供商”设置。
- 选择模型类型,如
openai_chat_completion
。 - 输入 API 密钥(从 OpenAI 等平台获取)和地址(默认
https://api.openai.com/v1
)。 - 选择具体模型(如
gpt-3.5-turbo
),保存后生效。
多平台接入
- 在管理面板的“消息平台”选项中选择平台,如 Telegram。
- 输入必要信息(如 Telegram 的 Bot Token,从 BotFather 获取)。
- 保存配置,机器人即可在对应平台响应消息。例如,在 Telegram 输入
/start
,机器人会回复。
使用插件
- 下载插件(如 Telegram 适配插件),放入
<AstrBot目录>/data/plugins
。 - 重启 AstrBot,插件自动加载。
- 在管理面板启用插件并配置参数,如设置消息速率限制。
多模态功能
- 图片理解:发送图片给机器人,加上提示(如“解释这张图”),机器人会分析并回复。
- 语音转文字:发送语音文件,需在“提供商设置”启用 Whisper,机器人会转为文字并响应。
Agent 功能
- 网页搜索:发送“搜索天气预报”,机器人会返回结果。
- 代码执行:发送代码片段(如 Python),需启用沙箱化代码执行器,机器人会运行并返回结果。
注意事项
- 服务器部署需将
localhost
改为服务器 IP。 - 微信个人号接入使用 Gewechat,建议用备用账号,避免封号。
- Docker 部署需映射
/var/run/docker.sock
,否则代码执行器不可用。 - 首次运行会生成配置文件
<AstrBot目录>/data/config.json
,可手动编辑。
通过这些步骤,用户可以轻松部署并使用 AstrBot。
应用场景
- 个人助手
在 Telegram 上用 AstrBot 设置提醒、查询信息,随时提供帮助。 - 群聊管理
在 QQ 群或飞书中,机器人可自动回答问题、管理签到,提高效率。 - 学习工具
学生可用 AstrBot 分析图片公式或转录语音笔记,辅助学习。 - 开发测试
开发者可测试 LLM 对话效果,或开发新插件扩展功能。
QA
- 哪些平台已支持?
QQ(官方和 OneBot)、QQ 频道、Telegram、微信(个人号和企业微信)、飞书、钉钉已支持,Discord 等正在开发。 - 如何添加新模型?
在管理面板“提供商”中添加,比如输入 Ollama 的本地地址和模型名即可。 - 启动失败怎么办?
查看终端日志,可能缺少依赖或端口被占用。确保requirements.txt
安装完整。 - 插件怎么开发?
参考官方文档<https://astrbot.app/dev/plugin.html>
,将代码放入data/plugins
后重启。