AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程

本文涉及的产品
图像搜索,任选一个服务类型 1个月
简介: AstrBot 是一个开源的多平台聊天机器人及开发框架,支持多种大语言模型和消息平台,具备多轮对话、语音转文字等功能。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


大家好,我是蚝油菜花,今天跟大家分享一下 AstrBot 这个开源的多消息平台聊天机器人及开发框架。

🚀 快速阅读

AstrBot 是一个多平台聊天机器人及开发框架,支持多种大语言模型和消息平台。

  1. 核心功能:支持 OpenAI GPT、Google Gemini、Llama 等大语言模型,以及 QQ、Telegram、微信等消息平台。
  2. 技术原理:基于异步通信架构、事件驱动机制和流水线处理,确保高效稳定的系统性能。

AstrBot 是什么

AstrBot

AstrBot 是一个开源的多平台聊天机器人及开发框架,支持多种大语言模型(如 OpenAI GPT、Google Gemini、Llama 等)和多种消息平台(如 QQ、Telegram、微信等)。它具备多轮对话、语音转文字、网页搜索等功能,提供代码执行器和可视化管理面板,方便用户配置和扩展。

AstrBot 基于模块化设计,支持插件开发,能一键部署到多种环境(如 Docker、Windows、Replit 等),具有高稳定性和可扩展性。

AstrBot 的主要功能

  • 多语言模型支持:支持 OpenAI GPT、Google Gemini、Llama、DeepSeek、ChatGLM 等多种大语言模型,且支持基于 Ollama 和 LLMTuner 接入本地部署的大模型。
  • 多平台接入:支持 QQ(OneBot)、QQ频道、微信(Gewechat、企业微信)、Telegram 等消息平台,后续将支持钉钉、飞书、Discord 等。
  • Agent 功能:原生支持代码执行器、自然语言待办事项、网页搜索等功能,能对接 Dify 平台,实现智能助手和知识库的接入。
  • 插件扩展:提供深度优化的插件机制,支持开发者基于插件扩展功能,降低开发门槛。
  • 可视化管理:提供可视化面板,支持配置修改、插件管理、日志查看等功能,集成 WebChat,在面板上与机器人直接对话。
  • 多模态交互:支持图片理解和语音转文字(Whisper),具备多轮对话和人格情境功能。

AstrBot 的技术原理

  • 异步通信架构:基于异步编程模型,高效处理多平台的消息交互,提升系统响应速度和并发处理能力。
  • 事件驱动机制:基于事件总线设计,将消息接收、处理和发送解耦,让各个模块独立运行,提高系统的灵活性和可扩展性。
  • 流水线处理:消息处理采用流水线模式,将消息解析、预处理、模型调用、后处理等步骤按顺序执行,便于功能扩展和维护。
  • 插件系统:基于插件机制,开发者能轻松扩展机器人功能。插件支持独立开发和部署,不影响主程序运行。
  • 多语言模型接入:支持多种大语言模型的接入,基于标准化的接口与不同模型进行通信,实现灵活的模型切换和扩展。

如何使用 Docker 部署 AstrBot

环境准备

在开始部署 AstrBot 之前,请确保您的环境中已经安装了 Docker。如果尚未安装,请参考Docker 文档进行安装。

如果您在中国大陆,可能无法正常拉取 Docker 镜像。建议使用国内镜像源,或者在 Docker 设置中配置代理。可以参考国内可用 Docker 镜像源汇总

通过 Docker Compose 部署

1. 克隆 AstrBot 仓库

首先,使用以下命令将 AstrBot 仓库克隆到本地:

git clone https://github.com/Soulter/AstrBot
cd AstrBot

2. 运行 Docker Compose

接下来,使用 docker compose 命令启动 AstrBot:

sudo docker compose up -d
  • 注意:在 Windows 系统上不需要使用 sudo

3. 配置沙箱代码执行器(可选)

默认情况下,docker-compose.yml 文件没有映射宿主机的 docker.sock 文件,因此无法使用沙箱代码执行器。如果您需要使用沙箱代码执行器,可以在 docker-compose.yml 文件中添加以下内容:

volumes:
  - /var/run/docker.sock:/var/run/docker.sock

通过 Docker 部署

1. 创建目录并运行容器

如果您不想使用 Docker Compose,可以直接通过 Docker 命令来部署 AstrBot。首先,创建一个目录用于存储数据:

mkdir astrbot

然后,使用以下命令启动 AstrBot 容器:

sudo docker run -itd -p 6180-6200:6180-6200 -p 11451:11451 -v $PWD/data:/AstrBot/data --name astrbot soulter/astrbot:latest
  • 注意:在 Windows 系统上不需要使用 sudo

2. 查看日志

通过以下命令查看 AstrBot 的日志输出:

sudo docker logs -f astrbot

3. 配置沙箱代码执行器(可选)

如果您需要使用沙箱代码执行器,可以在启动容器时添加以下参数:

sudo docker run -itd -p 6180-6200:6180-6200 -p 11451:11451 -v $PWD/data:/AstrBot/data -v /var/run/docker.sock:/var/run/docker.sock --name astrbot soulter/astrbot:latest

🎉 大功告成!

如果一切顺利,您会在日志中看到类似以下的输出:

🌈 管理面板已启动,可访问

接下来,您可以打开浏览器,访问日志中提供的链接来访问 AstrBot 的管理面板。默认的用户名和密码都是 astrbot

  • 提示:由于 Docker 隔离了网络环境,因此不能使用 localhost 访问管理面板。请使用您的服务器 IP 地址或域名进行访问。

如何运行 AstrBot 管理面板

1. 管理面板概述

AstrBot 管理面板是一个功能强大的工具,提供了管理插件、查看日志、可视化配置和查看统计信息等功能。通过管理面板,用户可以方便地管理和监控 AstrBot 的运行状态。下图展示了管理面板的界面,其中显示了占用内存为 1GB,这是因为在该时刻 AstrBot 加载了一个自部署的微调大语言模型。

AstrBot 管理面板

2. 访问管理面板

2.1 本地访问

当启动 AstrBot 之后,你可以通过浏览器访问 http://localhost:6185 来访问管理面板。

2.2 云服务器访问

如果你正在云服务器上部署 AstrBot,需要将 localhost 替换为你的服务器 IP 地址。例如,如果你的服务器 IP 地址是 192.168.1.100,则访问地址为 http://192.168.1.100:6185

3. 登录

默认的用户名和密码均为 astrbot。首次登录后,建议修改默认的用户名和密码以增强安全性。

4. 可视化配置

在管理面板中,你可以通过可视化配置来管理 AstrBot 的插件。点击左栏的 配置 即可进入配置页面。

AstrBot-ini

顶部的两个按钮可以切换 可视化编辑配置代码编辑配置 两种模式。

  • 可视化编辑配置:通过图形界面进行配置,修改完成后需要点击右下角的 保存 按钮来保存配置。
  • 代码编辑配置:直接编辑配置文件,编辑完成后首先点击 应用此配置,此时配置将应用到可视化配置中,然后再点击右下角的 保存 按钮来保存配置。

AstrBot-save

  • 警告:在 代码编辑配置 中编辑配置文件时,如果你不点击 应用此配置,那么你的修改将不会生效。

5. 插件管理

在管理面板中,你可以通过左栏的 插件 来查看已安装的插件。点击右下角的添加按钮,可以安装新的插件。

AstrBot-plugin

6. 更新管理面板

AstrBot 在启动时会自动检查管理面板是否需要更新。如果需要更新,第一条日志(黄色)会提示你进行更新。

6.1 手动更新

你可以使用 /dashboard_update 命令手动更新管理面板。该命令是管理员指令,只有管理员用户可以执行。

6.2 手动替换更新

如果你需要手动替换管理面板文件,可以在AstrBot GitHub Releases下载 dist.zip,然后解压到 data/dist 目录下。

7. 常见问题

7.1 无法访问管理面板

如果你无法访问管理面板,可能是由于以下原因:

  • 确保 AstrBot 已正确启动。
  • 检查是否使用了正确的 IP 地址和端口。
  • 如果在云服务器上部署,确保服务器防火墙已允许 6185 端口的访问。

7.2 更新后管理面板无法正常工作

如果你在更新管理面板后遇到问题,建议尝试以下步骤:

  • 检查日志文件,查看是否有错误信息。
  • 确保 data/dist 目录下的文件已正确解压。
  • 重新启动 AstrBot,确保更新生效。

通过以上步骤,你可以轻松管理和配置 AstrBot,确保其稳定运行并充分发挥其功能。

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关实践学习
阿里巴巴智能语音交互技术与应用
智能语音交互,是基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品“能听、会说、懂你”式的智能人机交互体验。适用于多个应用场景中,包括智能问答、智能质检、法庭庭审实时记录、实时演讲字幕、访谈录音转写等。 本课程主要讲解智能语音相关技术,包括语音识别、人机交互、语音合成等。  
相关文章
|
10天前
|
数据采集 人工智能 自然语言处理
中文法律AI大模型!LaWGPT 一键生成法律文书,司法考试通过率提升50%
LaWGPT 是南京大学推出的中文法律大语言模型,基于 LLaMA 模型进行二次预训练,融入大量中文法律知识,适用于法律咨询、文书生成、司法考试辅助等多种场景。
153 22
中文法律AI大模型!LaWGPT 一键生成法律文书,司法考试通过率提升50%
|
1天前
|
数据采集 存储 机器学习/深度学习
最新AI大模型数据集解决方案:分享两种AI高质量代码数据集生产方案
本文分享了两种构建高质量AI代码数据集的解决方案。第一种是传统方式,结合动态住宅代理与手动处理,通过分页读取和数据清洗生成结构化数据;第二种是利用Web Scraper API工具,实现自定义配置、自动化抓取及云端存储。两种方法各具优势,适合不同需求和技术水平的团队。同时,文章还提供了专属优惠福利,助力提升数据采集效率,为AI大模型训练提供支持。
28 5
最新AI大模型数据集解决方案:分享两种AI高质量代码数据集生产方案
|
2天前
|
存储 人工智能 Kubernetes
ACK Gateway with AI Extension:面向Kubernetes大模型推理的智能路由实践
本文介绍了如何利用阿里云容器服务ACK推出的ACK Gateway with AI Extension组件,在Kubernetes环境中为大语言模型(LLM)推理服务提供智能路由和负载均衡能力。文章以部署和优化QwQ-32B模型为例,详细展示了从环境准备到性能测试的完整实践过程。
|
1天前
|
存储 人工智能 物联网
ACK Gateway with AI Extension:大模型推理的模型灰度实践
本文介绍了如何使用 ACK Gateway with AI Extension 组件在云原生环境中实现大语言模型(LLM)推理服务的灰度发布和流量分发。该组件专为 LLM 推理场景设计,支持四层/七层流量路由,并提供基于模型服务器负载感知的智能负载均衡能力。通过自定义资源(CRD),如 InferencePool 和 InferenceModel,可以灵活配置推理服务的流量策略,包括模型灰度发布和流量镜像。
|
10天前
|
人工智能 数据可视化 安全
Manus AI 站在巨人(大模型)肩膀上的AI助手
3月6日,Manus AI震撼登场,它不仅是一个聊天机器人,更是全能AI助手。能帮你筛选简历、进行房产调研、自动编写代码和数据分析,甚至创建并部署交互式网站。创始人是中国90后肖宏,毕业于华中科技大学。目前服务器已爆满,敬请期待其强大功能。
|
7天前
|
存储 人工智能 Cloud Native
小鹏汽车选用阿里云PolarDB,开启AI大模型训练新时代
PolarDB-PG云原生分布式数据库不仅提供了无限的扩展能力,还借助丰富的PostgreSQL生态系统,统一了后台技术栈,极大地简化了运维工作。这种强大的组合不仅提高了系统的稳定性和性能,还为小鹏汽车大模型训练的数据管理带来了前所未有的灵活性和效率。
|
7天前
|
人工智能 自然语言处理 搜索推荐
AI大模型:职业教育在探索中的新航标
随着AI技术迅猛发展,AI大模型正成为职业教育变革的重要驱动力。职业院校积极探索AI大模型在教学中的应用,如广东科学技术职业学院的“知行大先生”大模型,助力助学、助教、助训、助管。然而,当前仍面临理解表面化、低水平重复等挑战。为解决这些问题,需紧贴行业需求,加强教师培训,并通过GAI认证提升个人AI应用能力,推动职业教育高质量发展。未来,期待更多AI大模型融入教学,培养适应社会需求的高端技术技能人才。
|
16天前
|
人工智能 弹性计算 Ubuntu
从零开始即刻拥有 DeepSeek-R1 满血版并使用 Dify 部署 AI 应用
本文介绍了如何使用阿里云提供的DeepSeek-R1大模型解决方案,通过Chatbox和Dify平台调用百炼API,实现稳定且高效的模型应用。首先,文章详细描述了如何通过Chatbox配置API并开始对话,适合普通用户快速上手。接着,深入探讨了使用Dify部署AI应用的过程,包括选购云服务器、安装Dify、配置对接DeepSeek-R1模型及创建工作流,展示了更复杂场景下的应用潜力。最后,对比了Chatbox与Dify的输出效果,证明Dify能提供更详尽、精准的回复。总结指出,阿里云的解决方案不仅操作简便,还为专业用户提供了强大的功能支持,极大提升了用户体验和应用效率。
872 19
从零开始即刻拥有 DeepSeek-R1 满血版并使用 Dify 部署 AI 应用
|
9天前
|
人工智能 前端开发 JavaScript
AI程序员:通义灵码 2.0应用VScode前端开发深度体验
AI程序员:通义灵码 2.0应用VScode前端开发深度体验,在软件开发领域,人工智能技术的融入正深刻改变着程序员的工作方式。通义灵码 2.0 作为一款先进的 AI 编程助手,与广受欢迎的代码编辑器 Visual Studio Code(VScode)相结合,为前端开发带来了全新的可能性。本文将详细分享通义灵码 2.0 在 VScode 前端开发环境中的深度使用体验。
116 2
|
3天前
|
Web App开发 人工智能 机器人
牛逼,这款开源聊天应用竟能一键召唤多个AI助手,跨平台通话神器!
`JiwuChat`是一款基于Tauri2和Nuxt3构建的轻量化多平台即时通讯工具,仅约8MB体积却集成了**AI群聊机器人**、**WebRTC音视频通话**、**屏幕共享**等前沿功能。一套代码适配Windows/macOS/Linux/Android/iOS/Web六大平台,堪称开发者学习跨端开发的绝佳样板!

热门文章

最新文章