阅读本文前,不妨思考:在企业使用大模型时,是否遭遇过技术门槛高,导致部署和应用困难重重?多人协作使用时,网络问题是否频繁出现,影响使用体验和工作效率?从集成角度看,将大模型集成到企业现有的信息平台,是不是常因复杂的接口和架构而难以推进?
带着这些问题阅读文章,你会发现 AstrBot 在解决上述痛点上的独特优势,如松耦合、异步处理特性,多消息平台部署能力,以及与 Dify 集成的便捷方式,这些都为企业有效利用大模型提供了新的思路和解决方案。
一、AstrBot 简介
AstrBot 是一个易于上手的多平台聊天机器人及开发框架。通过它,你能够在多种消息平台上部署一个支持大语言模型(LLM)的聊天机器人。并以此实现但不限于 AI 知识库问答、角色扮演、群聊管理、LLM Agent 等功能。它有如下特性
- 松耦合:AstrBot 历经 3 次大代码重构。每一次都在向着松耦合、模块化的方向迈进。目前,AstrBot 采用了事件总线和消息事件流水线的架构设计,实现近乎完全的模块化。
- 异步:AstrBot 采用了异步编程模型,使得 AstrBot 在处理多个消息平台的消息时,能够更加高效。
- 多消息平台部署:AstrBot 默认支持接入 QQ、QQ频道、微信。通过插件,还可以接入 Telegram 等任何消息平台。
- 完善的插件系统:AstrBot 提供了完善、及其易于上手的插件系统,你可以通过插件实现自己的功能。开发一个插件,只需要几行代码。
二、使用AstrBot的目标
一人部署dify完成agent/workflow等设置,所有人可以在飞书/钉钉/企微等(见文末)机器人中正常使用。
-
不用再考虑网络问题
-
一人部署多人使用
-
快速集成到企业信息平台
三、AstrBot的部署
docker compose 部署
git clone https://github.com/Soulter/AstrBot
cd AstrBot
touch /etc/timezone
docker compose up -d 或者 docker-compose up -d
如果出现 error mounting "/etc/timezone" to ro otfs at "/etc/timezone"
的 报错,就是没执行 touch /etc/timezone
命令
部署成功后,astrbot的页面端口为6185 ,默认账号密码为 astrbot
四、创建机器人
这里以飞书机器人为例,其他机器人可以参考astrbot官网 。
工作台–>创建应用–>创建企业自建应用。
创建后,添加机器人能力。
复制应用的app ID 与 app Secret,后面添加给astrbot会用到。
打开 AstrBot 管理面板->配置页->消息平台适配器->+,创建一个飞书(Lark)适配器。
将刚刚复制的 app_id 和 app_secret 填入。以及飞书机器人的名字。
如果您正在用国际版飞书,请将 domain
设置为 https://open.larksuite.com
。
然后点击右下角保存配置,等待重启成功。
上一步成功后,设置飞书应用的事件与回调。
点击添加事件,消息与群组,下拉找到 接收消息
,添加。
开通以下权限
再点击上面的保存
按钮。
接下来,点击权限管理,点击开通权限,输入 im:message:send,im:message,im:message:send_as_bot
。添加筛选到的权限。
再次输入 im:resource:upload,im:resource
开通上传图片相关的权限。
最终开通的权限如下图:
最后创建版本。
五、AstrBot接入dify
astrbot支持Dify的三种类型
- chat
- agent
- workflow
下面,以agent为例,在agent里找到base api 与api key ,如下图:
回到astrbot中,在服务供应商添加dify连接信息。
依次填写配置信息。
保存即可。至此所有配置都完成了,接下来看看成果。
六、AstrBot与飞书使用效果
在飞书的群组里,搜索添加之前创建的机器人。
在群里的任何人都可以通过艾特机器人的方式来与agent交互,案例中是一个知识库的agent,
如果你有兴趣,或者已经在用Dify了,欢迎添加作者微信,我们组织了一个Dify交流群,欢迎来提问或者分享你的经验。
七、AstrBot总结与能力map
AstrBot的能力不仅限于本文演示的内容,还能接入更多大模型服务平台,执行函数、文字转语言等能力。
比较看重的是它能够把大模型开发工具与企业信息平台连接起来,极大的减轻了企业中其他人使用的成本。
以下是 AstrBot 目前对消息平台的支持情况:
平台 | 支持性 | 详情 | 消息类型 |
---|---|---|---|
QQ(官方机器人接口) | ✔ | 私聊、群聊,QQ 频道私聊、群聊 | 文字、图片 |
QQ(OneBot) | ✔ | 私聊、群聊 | 文字、图片、语音 |
微信(个人号) | ✔ | 微信个人号私聊、群聊 | 文字、图片、语音 |
Telegram | ✔ | 私聊、群聊 | 文字、图片 |
微信(企业微信) | ✔ | 私聊 | 文字、图片、语音 |
飞书 | ✔ | 私聊、群聊 | 文字、图片 |
钉钉 | ✔ | 私聊、群聊 | 文字、图片 |
微信对话开放平台 | 🚧 | 计划内 | - |
Discord | 🚧 | 计划内 | - |
🚧 | 计划内 | - | |
小爱音响 | 🚧 | 计划内 | - |
以下是AstrBot 提供商支持情况:
名称 | 支持性 | 类型 | 备注 |
---|---|---|---|
OpenAI API | ✔ | 文本生成 | 同时也支持 DeepSeek、Google Gemini、GLM(智谱)、Moonshot(月之暗面)、阿里云百炼、硅基流动、xAI 等所有兼容 OpenAI API 的服务 |
Claude API | ✔ | 文本生成 | |
Google Gemini API | ✔ | 文本生成 | |
Dify | ✔ | LLMOps | |
DashScope(阿里云百炼应用) | ✔ | LLMOps | |
Ollama | ✔ | 模型加载器 | 本地部署 DeepSeek、Llama 等开源语言模型 |
LM Studio | ✔ | 模型加载器 | 本地部署 DeepSeek、Llama 等开源语言模型 |
LLMTuner | ✔ | 模型加载器 | 本地加载 lora 等微调模型 |
OneAPI | ✔ | LLM 分发系统 | |
Whisper | ✔ | 语音转文本 | 支持 API、本地部署 |
SenseVoice | ✔ | 语音转文本 | 本地部署 |
OpenAI TTS API | ✔ | 文本转语音 | |
Fishaudio | ✔ | 文本转语音 | GPT-Sovits 作者参与的项目 |
Edge-TTS | ✔ | 文本转语音 | Edge 浏览器的免费 TTS |