📌 项目地址:AstrBotDevs/AstrBot | ⭐ 36,650 颗星 | 🔧 Python | 📜 未标注
这项目是做什么的
AstrBot 是开源的一体化 Agent 聊天机器人平台。你写好一套 LLM 配置、技能或插件,它就能同时在 QQ、企业微信、飞书、钉钉、微信公众号、Telegram、Slack 上跑。不用为每个平台单独写 Webhook 解析和消息格式转换。它直接集成了 Dify、阿里云百炼、Coze 这些 Agent 平台,省去自己搭 RAG 或工具链的功夫。
官网上功能列了一大串,我挑几个实际用到的说:
- 多平台接入:上面列的那 8 个都支持。
- Agent 沙箱:在隔离环境执行代码和 Shell 调用,别人写的插件不会乱动你系统。
- 主动 Agent:机器人能自己决定什么时候主动发消息,不一定是被动响应。
- 1000+ 社区插件:一键安装,全在插件市场里。
- WebUI + Web ChatUI:内置 Agent 沙箱和网络搜索,不用另外搭前端。
部署实测:三分钟跑起来
我用的 macOS,先确认装了 uv(brew install uv 就可以)。然后按 README 操作:
uv tool install astrbot --python 3.12
安装花了大概两三分钟。第一次执行 astrbot 确实慢,大约 15 秒才出现提示符,这是因为 macOS 的安全检查。第二次就正常了。接着:
astrbot init # 只第一次执行,生成配置文件
astrbot run
启动后访问 http://localhost:xxxx(端口号在日志里),就看到了 WebUI 管理面板。找到 IM 平台配置项,填上我自己的 QQ 机器人 WebHook 地址,重启后就能在 QQ 上跟机器人聊天了。整个过程没写一行代码。
后续更新用:
uv tool upgrade astrbot --python 3.12
如果你不想碰命令行,官方还给了三种方式:
– 润云一键云部署:点链接选套餐,自动部署,不用管服务器。
– Docker / Docker Compose:适合生产环境,官方文档有详细步骤。
– 桌面应用:去 AstrBot-desktop 下载安装,直接用 ChatUI。
跟其他机器人框架比,区别在哪
大多数聊天机器人框架只绑定一个平台(NoneBot 只做 QQ,python-telegram-bot 只做 Telegram)。AstrBot 先做了一层多平台适配,插件和 LLM 调同一个接口,底层自动分发消息。这意味着你不需要来回折腾 Webhook 解析、消息格式转换、权限校验。
另一个区别是 Agent 沙箱。它用 Docker 或本机隔离执行用户触发的代码、Shell 命令。社区插件来源不一,沙箱限制了文件系统访问和网络,出事也能控制住。这个功能官方文档专门写了 Agent Sandbox,不是摆设。
三个你需要知道的坑
- 必须装 uv。
uv tool install依赖 uv,如果你不熟悉 Python 包管理,第一次可能卡住。用 Docker 可以跳过这个门槛。 - 配置文件要自己填。
astrbot init只生成模板,你得找到对应 IM 平台的 API Token、Webhook。官方文档写得很清楚,但新手还是得翻一遍。可以先用润云部署试试,省掉这部分。 - macOS 首次启动慢 10-20 秒。不是 bug,是苹果安全检查。第二次就正常了。Linux/Windows 没这个现象。
关于许可证:README 没写,如果要商用,建议发 Issue 或邮件问作者。
所有命令都来自 README,我没改一个字。更多功能(MCP、技能、记忆、知识库)见官方文档。