为什么我要用AstroBot?
AstrBot是一个开源、全能的AI Agent聊天机器人平台与开发框架。
它的核心目标是将强大的 AI 能力无缝接入到你日常使用的聊天软件中。
这个项目始于一位大学生开发者的个人项目,如今已发展为拥有庞大社区的开源平台,拥有丰富的插件生态与易上手的特性,就算是小白也能轻松配置属于自己的聊天Bot
这个是AstrBot的官方仓库~
本文中还会使用到NapCat框架,用以接入要用的QQ小号(如果你还不知道NapCat是什么可以看一下NapCat的的官方文档 https://napneko.github.io/ 以及仓库)
安装AstrBot
AstrBot官方提供了很多种部署方式,包括但不限于使用Windows安装包,uv一键部署,Docker部署等。
你也可以查看官方文档使用其它部署方式 https://docs.astrbot.app/
为了省点事,在这篇文章我使用Docker部署在Linux环境上
并且AstrBot的官方十分的贴心,提供了与NapCat一起部署的命令
mkdir astrbotcd astrbotwget https://raw.githubusercontent.com/NapNeko/NapCat-Docker/main/compose/astrbot.ymlsudo docker compose -f astrbot.yml up -d配置前置事项
在执行上面的命令自动安装完成后AstrBot和NapCat的Docker容器会在后台自动启动,并自动处于同一个网络下。
IMPORTANT如果部署在云服务器上,你需要注意防火墙里面是否放行了6185和6099端口,否则无法访问后台
CAUTION如果你的AstrBot与NapCat不是用上面的命令而是分开部署的话,你需要注意一个问题:这两个框架的容器不在同一个网络下
这个时候你需要输入下面的命令查看是否处于同一网络下:
TIP使用宝塔或1panel面板的人可以直接在面板里查看更改容器配置,会方便一点
1.查看有哪些网络
docker network ls
2.查看某个网络的具体信息
比如这里我查看了1panel-network
docker network inspect 1panel-network
可以看到的是这个网络下只有1panel与AstrBot,很显然,NapCat容器不在这一个网络
重复上面的第1步的步骤,找到Napcat的容器名(上面的图片中红色框出来的Name这里面就是容器名) 并执行下面这个命令将Napcat的容器连接到这个网络
docker network connect <网络名> <容器名>然后拿起小本本记下上面网络详情里AstrBot容器的IPv4Address:172.18.0.2(后面会用到)
IMPORTANT如果不使用面板,无论是否处在同一个网络下,你都需要执行命令查看AstrBot容器在当前网络下的地址
配置
那现在就开始正式配置,使用面板或下面的命令查看AstrBot与NapCat的容器日志,获取后台信息以及登陆密码
sudo docker logs -f 容器名(如上面的astrbot)配置NapCat
进入到NapCat的后台后点击网络配置
创建Websocket客户端,把localhost:8082替换成上面我让你记下来的容器地址:6199/ws
并把里面的Token记下来,如下图所示

配置AstrBot
进入到AstrBot的后台后点击创建机器人,然后按照下面这样填,Token换成你上面记下来的就行了

到这里对于两个框架的配置,就算差不多完成了
可以打开AstrBot后台的侧边栏查看一下日志,出现下图这样的就是配置成功了

接下来就是接入模型,这个自己去找一下就有了,比如智谱就有免费模型,不过不适合经常使用。
有能力的更推荐接入Deepseek
后面可以按照引导创建人格设定
至于人格设定怎么弄,可以直接找deepseek问一下就好了 (´◊ω◊`)
使用(其实是个人碎碎念)
在调试的过程中不断的更新Bot的插件和人格,以此来达到自己心中一个理想的样子
这是我认为折腾Bot比较有趣的一个地方
什么,你问我怎么把它弄得像一个真的网友?嗯…我这个我也不是很懂「◦㉨◦」
个人看法: 私聊换个好些的模型以及修改提示词就好了,要弄出那种效果不是很难awa
但是群聊的话需要主动回复,目前我知道的就两种,概率型主动回复和分析型主动回复,后者会消耗更多token,且不一定就能完全达到你想要的那种效果
推荐一个我自己用了觉得好用的插件叭
这个插件主要是功能比较齐全,有长期记忆功能,发送邮件等功能