前一阵子,因为gemini 3发了,于是我又开始想起来之前一阵子弄了一个会根据上下文发消息的QQ机器人。只不过当时那个时候AI技术发展的还没有那么迅速,实现这个上下文匹配的方式也不是很智能。当时用的仓库大概是这个吧……

让机器人学会你的群聊

因为完全使用群友的原话,而且因为有些时候群里可能会同时有多个话题正在进行,大火各聊各的,所以最后出来的上下文也不一定准确。不得不说因为这个导致的不准确反而增添了很多节目效果

于是后面开始,开始考虑一个可以接入大模型的机器人。

Astrbot

项目地址:https://astrbot.app/

看了一下大概的描述,和AI的深度集成就是这个机器人的亮点,加上看了一下插件商城也做的还可以,于是就用这个机器人尝试了一段时间。

一开始我是在电脑上安装了一个Docker Desktop进行部署的,这个时候我还没有服务器,买了服务器已经是后面的事情了。

# 用docker compose一件安装napcat和astrbot
mkdir astrbot
cd astrbot
wget https://raw.githubusercontent.com/NapNeko/NapCat-Docker/main/compose/astrbot.yml
sudo docker compose -f astrbot.yml up -d

不过印象中需要注意的是,因为在docker desktop中,如果想要访问本机非docker网络中的地址,是需要使用host.docker.internal这个地址才可以的,一开始研究了半天为什么docker不使用我电脑的代理地址就是这个原因。

Astrbot的优点

先说优点,部署和配置非常简单,也没有什么Bug。接入大模型的时候也是能够正常使用的。另外也有一些如B站订阅、RSS订阅的插件可以使用。

Astrbot的缺点

事实上,对于优点我确实一下子想不出什么可以让我猛猛夸的部分。但是缺点部分就要考虑考虑了。如果我想在群里只让bot根据上下文参与聊天,或者只是学习语料,那我就得把这个群加入白名单。但是问题是加入了白名单之后群里的成员也就都可以使用这个机器人的命令了,而这个机器人没有做更详细的权限控制,比如设置哪些群聊可以使用哪些插件,或者哪些群聊仅聊天不使用任何其他插件。

放了这个机器人在大群一晚上被频繁触发,我就知道这个权限管理如果不做进一步细分的话,恐怕是没有办法放在大群使用的。

Maibot

我后面突然想起来,曾经我在B站上刷到过一个视频,也是用大模型参与群聊对话,但是明显看上去比这个仅仅接入大模型+阅读最近几条消息的AI智能。于是我重新尝试了一下。

项目地址:https://github.com/Mai-with-u/MaiBot

Maibot的优点

这个机器人确实让我有了眼前一亮的感觉。机器人分为了不同的组件,专门用于情感分析的模型、决定是否要接入对话的模型、生成对话的模型、视觉识别表情包的模型……因此回复起来也比之前的Astrbot更加智能了。

当然也没有说Astrbot不好的意思,只是可能那个机器人的AI更符合助手的定位吧。

在大群放了大概一个上午之后,因为我设置了发言概率为0,所以小号也就一直在偷偷的自己学习语录。只能说大模型对文字的理解还是太透彻了,虽然说总结的功能比起QQ内置的还是差了点意思,但是实际也是可以说出来一些比较变态的话了。

Maibot的缺点

Maibot的缺点也很明显。不知道是为什么,Astrbot用的框架基本上可以非常稳定的运行而不被藤子的大手拿下,然而Maibot就没有那么幸运了。明明也是用的Napcat,但是频频触发掉线,体验上实在是不太舒服。

另外就是对于我自己的gcli2api支持不是很好,明明我的cherrystudio和rikkahub都是可以正常调用API的,但是到了bot里就经常报错或者超时,完全没明白究竟是什么个情况,最终还是只能用其他付费或者公益的API渠道。

另外,插件市场并不是特别丰富,很多我在onebot或者astrbot看到的实用的插件这里都没有,不如说这个机器人用来整活的成分大概占了有7成的比重,实际上就算我好声好气让它给我解答一下问题,要么就是频频调用搜索的MCP导致一条消息回复的时间可能需要半分钟以上,要么就是因为机器人的情绪问题而拒绝回答。

最后因为机器人被想搞事的人问了一句敏感问题,虽然机器人给出了拒绝回答的答复,但是还是吃了个飞机票。我也没有那么有兴趣再让机器人重新加回去,于是后面就没有继续折腾这个机器人了。

结言

在这几天折腾机器人的过程中,确实不得不感慨机器人学习的速度之快,如果回复的速度能够更快一点,学习的温度调的更加适当一点,我觉得如果不告诉我,恐怕确实我也不能够在第一时间就分辨出来机器人和一般人的区别。

不过我还没有到每天都需要对着和机器人聊天的程度,所以至少在目前,应该会有一段时间不会尝试把机器人再接入到聊天平台和我对线了吧?

但是感觉n8n接入到QQ里,或许会有一些有意思的玩法。