AstrBot 完全指南:一站式 AI 聊天机器人平台
AstrBot 是一个开源、模块化的一站式 Agentic 聊天机器人平台及开发框架,由北邮 00 后开发者 Soulter 于 2023 年 1 月创建。它支持将大模型能力接入 QQ、飞书、钉钉、Slack、Telegram、Discord 等多种主流消息平台,提供开箱即用的 RAG、Agent、MCP 等功能,并拥有丰富的插件生态。
截至 2026 年 3 月,AstrBot 在 GitHub 上已获得 2.6 万 Star、1800 多个 Fork,拥有 234 位贡献者和 1000+ 可一键安装的插件。
1. AstrBot 是什么?
1.1 项目背景
AstrBot 的定位是一个 Agent 编排器(Agent Orchestrator) 和开发框架,重点放在多 Bot、热重载、会话级隔离、插件扩展和多平台接入上。
1.2 核心特点
| 特点 | 说明 |
|---|---|
| 强大的 Agentic 能力 | 支持多轮工具调用、沙盒代码执行、实时网页搜索,可处理复杂任务 |
| 多模型 LLM 引擎 | 兼容 DeepSeek、OpenAI、Claude、GLM、通义千问等主流大模型 |
| 跨平台部署 | 一键接入 QQ、微信公众号、飞书、Telegram、Discord 等主流消息平台 |
| 可视化管理界面 | 提供 WebUI 用于插件管理、对话监控与系统配置 |
| 丰富的插件生态 | 1000+ 插件可一键安装,涵盖天气查询、图片生成、群管理等功能 |
| 模块化设计 | 松耦合、异步架构,便于二次开发和集成 |
1.3 协作关系(与 NapCat)
如果你想把 AstrBot 接入 QQ,需要配合 NapCat 使用:
- NapCat 负责登录 QQ 并提供标准化的 OneBot v11 API 接口,充当“耳朵”(接收消息)和“嘴巴”(发送消息)
- AstrBot 作为智能中枢,处理消息逻辑、调用 AI 模型并生成回复,是机器人的“大脑”
二者通过 WebSocket 建立连接,方可实现完整功能闭环。
2. 部署方式
AstrBot 支持多种部署方式,你可以根据自己的环境选择最合适的一种。
2.1 Docker 部署(推荐)
一键部署脚本(Linux/Windows)
Linux:
mkdir astrbotcd astrbotwget https://raw.githubusercontent.com/NapNeko/NapCat-Docker/main/compose/astrbot.ymlsudo docker compose -f astrbot.yml up -d或者使用一键脚本:
curl -fsSL https://gitee.com/jun-wan/script/raw/master/astrbot/deploy_astrbot.sh | bashWindows PowerShell:
irm https://gitee.com/jun-wan/script/raw/master/astrbot/deploy_astrbot.ps1 | iex手动 Docker Compose 部署
创建 docker-compose.yml:
version: '3'
services: astrbot: image: soulter/astrbot:latest container_name: astrbot ports: - "6185:6185" # WebUI 端口 - "6199:6199" # 反向 WebSocket 端口 restart: always启动服务:
docker compose up -d国内网络环境:如果拉取镜像失败,将
image: soulter/astrbot:latest替换为image: m.daocloud.io/docker.io/soulter/astrbot:latest。
2.2 源码部署
使用 uv(推荐)
# 克隆仓库git clone https://github.com/AstrBotDevs/AstrBot.gitcd AstrBot
# 安装依赖并运行uv syncuv run main.py使用 Python venv
# 克隆仓库git clone https://github.com/AstrBotDevs/AstrBot.gitcd AstrBot
# 创建并激活虚拟环境python3 -m venv ./venvsource venv/bin/activate # Linux/Mac# 或 venv\Scripts\activate # Windows
# 安装依赖pip install -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
# 运行python main.py2.3 使用宝塔面板部署
如果你使用宝塔面板管理服务器,可以通过 Docker 容器部署:
- 登录宝塔面板,进入 Docker → 容器 页面
- 点击 创建容器,填写以下参数:
| 参数 | 值 |
|---|---|
| 容器名称 | astrbot |
| 镜像 | soulter/astrbot |
| 端口映射 | 6199:6199(反向 WS)、6185:6185(WebUI) |
- 点击创建,等待容器启动完成
3. 访问与初始配置
3.1 访问 WebUI
部署成功后,通过浏览器访问 http://<服务器IP>:6185。
默认用户名和密码均为 astrbot,首次登录后会提示修改密码。
3.2 WebUI 功能概览
| 菜单 | 功能 |
|---|---|
| 聊天 | 在线测试配置的模型 |
| 机器人 | 创建和管理消息平台机器人(QQ、飞书等) |
| 模型提供商 | 配置 AI 模型 API(DeepSeek、OpenAI 等) |
| 插件 | 浏览和安装插件市场中的 1000+ 插件 |
| 配置文件 | 可视化配置或代码编辑配置 |
| 人格设定 | 创建和管理 AI 人设,自定义系统提示词 |
4. 配置 AI 模型
4.1 接入 DeepSeek
- 前往 DeepSeek 平台 获取 API Key
- 在 API Keys 页面创建新的 API Key,复制保存
- 进入 AstrBot WebUI,点击左侧 模型提供商 → 新增模型提供商 → 选择 DeepSeek
- 填入 API Key,点击保存
- 点击 测试 按钮验证配置是否成功
4.2 接入其他模型
AstrBot 支持多种模型提供商:
- OpenAI:ChatGPT、GPT-4 等
- 硅基流动:SiliconCloud 上的各类开源模型
- 阿里云百炼:通义千问等
- Dify / Coze:LLMOps 平台应用
配置方式与 DeepSeek 类似,选择对应提供商后填写 API Key 和模型名称即可。
5. 接入消息平台
5.1 接入 QQ(配合 NapCat)
部署 NapCat
NapCat 作为协议端,负责 QQ 的登录和消息收发。参考 NapCat 部署方式,建议使用 Docker:
docker run -d \ -e NAPCAT_GID=$(id -g) \ -e NAPCAT_UID=$(id -u) \ -p 3000:3000 \ -p 3001:3001 \ -p 6099:6099 \ --add-host=host.docker.internal:host-gateway \ --name napcat \ --restart=always \ docker.1ms.run/mlikiowa/napcat-docker:latest配置 NapCat 登录 QQ
- 查看容器日志获取 WebUI Token:
docker logs napcat | grep Token - 访问
http://<服务器IP>:6099,输入 Token 登录 - 使用手机 QQ 扫描二维码完成登录
建立容器间网络(宝塔/Docker 分开部署)
如果 AstrBot 和 NapCat 分属不同容器,需要将其加入同一 Docker 网络:
# 创建自定义网络docker network create astrbot-napcat
# 将两个容器加入网络docker network connect astrbot-napcat astrbotdocker network connect astrbot-napcat napcat
# 记录 AstrBot 容器的 IP 地址docker inspect astrbot | grep IPAddress配置 NapCat WebSocket 客户端
- 在 NapCat WebUI 中,进入 网络配置 → 新建 → WebSocket 客户端
- 填写参数:
| 字段 | 值 |
|---|---|
| 启用 | ✅ 勾选 |
| URL | ws://<astrbot容器IP>:6199/ws |
| 消息格式 | Array |
| 心跳间隔 | 5000 ms |
| 重连间隔 | 5000 ms |
- 点击保存
配置 AstrBot 的 OneBot 适配器
- 进入 AstrBot WebUI,点击左侧 机器人 → 创建机器人
- 选择 OneBot v11 类型
- 填写配置:
| 字段 | 值 |
|---|---|
| ID | 随意填写 |
| 启用 | ✅ 勾选 |
| 反向 WebSocket 主机地址 | <astrbot容器IP> |
| 反向 WebSocket 端口 | 6199 |
- 点击保存
配置成功后,在 AstrBot 的“平台日志”中会看到 aiocqhttp(OneBot v11) 适配器已连接 的提示。
5.2 接入飞书
- 前往 飞书开发者后台,创建企业自建应用,添加机器人能力
- 获取
app_id和app_secret - 在 AstrBot WebUI 中,点击 机器人 → 创建机器人 → 选择 lark(飞书)
- 填写 app_id、app_secret 和机器人名称
- 设置 domain 为
https://open.larksuite.com - 在飞书开发者后台配置事件回调(使用长连接)、添加接收消息权限,创建版本并发布
- 在飞书 APP 中将机器人拉入群聊测试
6. 高级功能
6.1 人格设定
AstrBot 支持自定义 AI 人设:
- 进入 WebUI 左侧 更多功能 → 人格设定
- 点击 创建人格,填写:
- 人格 ID:用于切换的标识
- 系统提示词:定义 AI 的角色和行为
- 在对话中使用指令切换:
/persona list:查看所有可用人格/persona <人格ID>:切换到指定人格/reset:清空上下文,防止原人格对话影响现人格
6.2 插件系统
AstrBot 拥有 1000+ 可一键安装的插件:
- 进入 WebUI 左侧 插件
- 在插件市场中搜索需要的插件(如点歌插件、天气查询等)
- 点击安装,等待完成即可使用
安装插件后,在对话中发送对应指令(如 /点歌 歌曲名)即可调用。
6.3 MCP 服务
AstrBot 支持 MCP(Model Context Protocol)服务,可以让 AI 调用外部工具和能力。
6.4 分段回复
启用分段回复可以让 AI 的消息分条发送,更适合聊天场景:
- 进入 WebUI 左侧 配置文件
- 找到 流式回复 选项,勾选启用
- 点击保存
6.5 更新管理面板
AstrBot 启动时会自动检查管理面板更新。如需手动更新:
- 使用命令
/dashboard_update(需管理员权限) - 或从 GitHub Releases 下载
dist.zip解压到data目录
7. 常见问题与解决
| 问题 | 解决方法 |
|---|---|
| WebUI 无法访问 | 检查 6185 端口是否放行;执行 docker logs astrbot 查看日志 |
| 登录后提示修改密码 | 正常流程,按提示修改即可 |
| AstrBot 与 NapCat 连接失败 | 检查容器是否在同一网络;确认 WebSocket 地址和端口正确;查看平台日志 |
| 模型测试失败 | 检查 API Key 是否正确;确认账户余额充足 |
| QQ 机器人收不到消息 | 检查 NapCat 登录状态;确认 WebSocket 连接正常 |
| 插件安装失败 | 检查网络连通性;尝试使用 GitHub 加速 |
8. 总结
AstrBot 是一款功能强大、生态丰富的 AI 聊天机器人平台。从 2023 年 1 月发布第一个版本至今,已成长为拥有 2.6 万 Star、1000+ 插件的开源项目。无论你是想搭建个人 AI 助手、智能客服,还是探索 Agent 应用开发,AstrBot 都能提供坚实的基础设施。
进一步学习资源:
- 官方网站:https://astrbot.app
- GitHub 仓库:https://github.com/AstrBotDevs/AstrBot
- 官方文档:https://docs-v3.astrbot.app
温馨提示:
- 接入 QQ 时请使用小号,注意腾讯风控风险
- 定期备份
data目录下的配置和数据 - 关注 GitHub Releases 获取最新版本更新
祝你搭建顺利,打造属于你自己的 AI 机器人!🤖
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时









