AstrBot
开源 Agentic 框架,一套后端打通 QQ/钉钉/飞书等十余个 IM 平台 + 多个大模型
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
开源 Agentic 框架,一套后端打通 QQ/钉钉/飞书等十余个 IM 平台 + 多个大模型
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有一个私人 AI 助手梦:希望在自己的 QQ 群里有个懂事的 AI 客服,在 Telegram 上有个随叫随到的私人助理,在钉钉工作群里有个能自动回答常见问题的机器人。于是你开始四处奔波——在 QQ 上配置一个机器人,在 Telegram 上注册另一个 bot,在钉钉后台申请企业自建应用……每个平台都要单独配置 LLM API,每个 bot 都要单独调试行为规则,每次换 LLM 提供商就要把所有平台重配一遍。这就是当前 AI 助手落地的真实写照:碎片化、重复劳动、难以统一管理。
AstrBot 正是为解决这个问题而生。它是一个开源的 Agentic 个人和群聊 AI 助手框架,核心思路是"一个后端,连通所有 IM"。你只需部署一次 AstrBot,选择想要接入的 LLM(大模型),配置好 Agent 行为,就能在 QQ、Telegram、钉钉、飞书、企业微信等数十款主流 IM 平台上同步拥有 AI 对话能力。AstrBot 本身就像一座"AI 桥",一端连接各类即时通讯平台,另一端连接大语言模型,两端之间的一切复杂性(协议转换、消息路由、会话管理、插件扩展)都由框架统一处理。
AstrBot 由独立开发者 Soulter 创建并维护,GitHub 仓库获得超过 33,000 颗星标(截至 2026 年 5 月),Forks 数超过 2,200,拥有活跃的插件生态——社区已贡献超过 1,000 个可一键安装的插件。项目采用 AGPL-3.0 开源许可证,这意味着如果你基于 AstrBot 进行二次开发并对外提供服务,你的衍生代码也必须开源。
AstrBot 的定位是"Agentic"框架,不仅支持简单的问答式聊天,还支持多模态对话、Agent 规划、MCP(Model Context Protocol)工具调用、Skill 技能系统、知识库检索和会话上下文自动压缩。这使得它能处理比普通 chatbot 复杂得多的任务——比如在群里根据用户指令调用搜索工具获取实时信息、执行代码完成任务、或者调用外部 API 完成特定业务流程。
如果你把各种即时通讯平台想象成不同规格的电源插座(国标、欧标、美标),把大语言模型想象成电源,那么 AstrBot 就是那个 万能转接头。不管你插哪个插座,它都能稳定供电,而且还能根据电器的需求(Agent 任务)动态调节功率(工具调用、上下文管理)。与此同时,它还自带了一个通用的控制面板(WebUI),让你不需要具体操作某个插座就能管理所有电器的运行状态。
AstrBot 当前已官方支持 QQ(OneBot v11)、QQ 频道、Telegram、企业微信、飞书、钉钉、微信公众号、Slack 等十余个主流 IM 平台。每个平台都通过对应的 SDK 实现(aiocqhttp 处理 QQ、python-telegram-bot 处理 Telegram、dingtalk-stream 处理钉钉、lark-oapi 处理飞书),消息和事件被统一转换为内部标准化格式,经由框架的核心调度层路由到 Agent 处理引擎。这意味着当你需要新增一个 IM 平台时,无需修改 Agent 逻辑,只需实现对应的适配器即可。
AstrBot 支持同时接入多个 LLM 提供商,包括 Anthropic (Claude)、OpenAI (GPT 系列)、Google Gemini、阿里云百炼、Dify、Coze(字节版扣子) 等。通过 MCP(Model Context Protocol)标准协议,AstrBot 可以调用外部 Agent 平台(如 Dify 工作流、Coze Bot)作为能力扩展,实现插件化的工具调用体系。Pyproject.toml 显示其直接依赖了 mcp>=1.8.0,表明 MCP 已深度集成到框架核心中。
项目内置了 Agent Sandbox 功能,这是一套代码执行的隔离化环境。当 Agent 需要动态执行 Python 代码、调用 Shell 命令或访问网络资源时,所有操作都在沙箱内完成,不会影响主机系统的安全。这解决了 AI Agent "想做什么就做什么"的安全隐患——你可以放心地让 Agent 帮你在群里执行查询任务,而不必担心它意外破坏系统。
AstrBot 提供了两套前端界面:传统 WebUI(端口 6185)和 Web ChatUI(类似 OpenWebUI 的现代聊天界面)。Web ChatUI 内置了代理沙箱和网页搜索等工具,用户无需在 IM 客户端中就能直接与 AI 对话,适合快速调试和演示场景。前端基于 Vue 3 + TypeScript 构建(dashboard 目录),通过 API 与后端 Quart 服务(ASGI)通信。
AstrBot 内置了基于 FAISS 的向量知识库功能,支持 PDF 文档解析(pypdf)、Markdown 文档解析(markitdown)、中文分词(jieba)和 BM25 混合检索(rank-bm25)。配合 1,000+ 社区插件,用户可以实现舆情监控、自动翻译、图片生成、天气查询、代码解释等各种扩展能力。
从代码结构来看,AstrBot 采用异步解耦架构,核心依赖包括:
代码质量方面,项目使用 ruff 进行 lint,pyright 进行类型检查,pytest + pytest-asyncio 进行测试,CI/CD 流程完善,GitHub Actions 自动构建 Docker 镜像并推送至 Docker Hub(soulter/astrbot)。
AstrBot 提供了三种部署路径,覆盖从个人用户到企业级 K8s 集群的全场景:
Docker Compose(推荐个人/小团队):一条 docker compose up 即可启动,数据持久化到本地 ./data 目录,WebUI 访问 http://localhost:6185。官方提供的 compose.yml 配置简洁,默认开启 6185 端口的 WebUI 和 6199 端口的 OneBot WebSocket(可选,用于 QQ 机器人)。
Kubernetes(企业级):项目在 k8s/ 目录下提供了完整的 K8s manifest,适合企业将 AstrBot 部署到容器编排平台,配合 Ingress 实现多租户管理。
传统 pip 安装(开发者):通过 uv 或 pip 安装依赖后直接运行 python main.py,需要自行配置各 IM 平台的机器人凭证。
硬件需求方面,AstrBot 不需要 GPU,最低 4GB 内存即可运行,适合在树莓派、轻量 VPS 或普通服务器上部署。磁盘占用约 10GB(包含 Docker 镜像)。
许可证风险(重要):AstrBot 采用 AGPL-3.0 许可证,这是目前开源界最严格的 Copyleft 许可证之一。如果你在企业环境中基于 AstrBot 搭建服务并对外提供 SaaS,你的服务端代码必须按照 AGPL-3.0 开源。对于希望闭源商业化使用的团队,这是一个不可忽视的法律约束。
平台政策风险:AstrBot 的 QQ 机器人功能基于 OneBot v11 协议,需要配合 NapCat 等第三方 QQ 协议库使用。QQ 官方对机器人/第三方客户端的政策随时可能变化,曾多次对 QQ 机器人生态进行封禁整治,企业用户需有备用方案。
多 LLM 的成本管理:AstrBot 支持同时连接多个 LLM 提供商,这虽然提供了灵活性,但也意味着需要管理多个 API Key 和成本。企业用户应建立用量监控机制,避免因 Agent 失控调用导致意外的天价 API 账单。
文档中文资源相对较少:虽然项目 README 提供了简体中文版本,但部分高级功能(如 MCP 自定义开发、Agent Sandbox 扩展)的详细中文文档仍有待完善,开发者可能需要参考英文文档和源代码。
AstrBot 代表着 AI 助手落地的一条务实路径:不追求替代某个 IM 平台,而是做 IM 与 AI 之间最可靠的桥梁。在 Copilot 时代,企业和开发者最需要的不是又一个 AI 对话产品,而是一个能无缝嵌入现有工作流的 AI 基础设施——而 IM 恰恰是大多数人每天工作流中最高频的入口。
AstrBot 的插件生态(1,000+ 插件)、多 Agent 平台集成(Dify/Coze)、和 MCP 支持表明,它正在演化为一个企业级 AI Agent 运行时平台,而非一个简单的 IM 聊天机器人框架。这种定位与 LangChain Agents、Vercel AI SDK 等工具的方向不谋而合,但 AstrBot 的差异化在于对中文 IM 生态(QQ、钉钉、飞书、企业微信)的深度支持——这是海外框架很难覆盖的场景。
从增长曲线看,AstrBot 在 GitHub 上保持着稳定的版本迭代(当前版本 4.25.1),Issue 和 PR 活跃度高,插件市场持续扩充。随着多模态 Agent 能力(语音、图片理解)的进一步成熟,它在智能客服、在线教育、企业知识库等场景的渗透率有望进一步提升。

图1:AstrBot 官方 Logo(来源:GitHub 仓库 docs/public/logo.png)

图2:AstrBot 产品级 Logo(来源:GitHub 仓库 docs/public/logo_prod.png)