用NapCat+Yunzai搭建一个QQ机器人并接入Gemini

文章摘要
洪墨AI
这篇文章介绍了如何

安装依赖

bash
1
sudo apt install nodejs redis chromium

安装Napcat

这里用debian进行安装,下面这个脚本支持Ubuntu 20+/Debian 10+/Centos9

bash
1
curl -o napcat.sh https://nclatest.znin.net/NapNeko/NapCat-Installer/main/script/install.sh && sudo bash napcat.sh --docker n --cli n

安装TRSS_Yunzai

安装好NapCat之后,我们就来安装Yunzai,因为是在Debian上安装,所以只能手动安装了

Git Clone 项目

请根据网络情况选择使用 GitHub 或 Gitee 安装

bash
1
2
git clone --depth 1 https://github.com/TimeRainStarSky/Yunzai
git clone --depth 1 https://gitee.com/TimeRainStarSky/Yunzai
bash
1
cd Yunzai

安装 pnpm 和依赖

bash
1
2
npm i -g pnpm
pnpm i

前台运行

操作 命令
启动 node .
停止 node . stop

使用 pm2 后台运行

操作 命令
启动 pnpm start
停止 pnpm stop
日志 pnpm log

开机自启

bash
1
2
3
pnpm start
pnpm pm2 save
pnpm pm2 startup

NapCat和Yunzai安装好之后,我们就可以启动了

启动Yunzai

进入Yunzai安装目录

bash
1
cd /root/Yunzai

启动Yunzai

bash
1
node .

启动好之后留意日志里面带有[websocket]的一排 比如[WebSocket ]连接地址 <:ws://localhost:2536/[ComWeChat,GSUIDCore,OPQBot,OneBotv11,go-cqhttp] 虽然说其实只用记住端口是2536就是了()

启动NapCat

bash
1
xvfb-run -a qq --no-sandbox -q [机器人QQ]

这一步其实就是登上机器人qq

通过 WebUI 配置,连接到Yunzai

这里引用官方文档里面的说明:

如果你已经启动了 NapCat, 并且有多于 1 个开放端口,则可以通过 WebUI 进行配置.

默认地址为 0.0.0.0, 即监听所有地址. 当配置了不可用的地址时 WebUI 将被禁用.

默认端口为 6099.

当端口被设置为 0 时将禁用 WebUI.

当端口被占用时, 会自动对端口 +1, 直到找到可用端口 (最多尝试 100 次, 失败则会禁用 WebUI), 端口号会在启动日志中显示.

启动后可在启动日志中看到形如 [WebUi] WebUi Local Panel Url: http://127.0.0.1:6099/webui?token=xxxx 的 token 信息.

也可打开 webui.json 文件,在其中找到token。(使用 NapCat.Installer - Linux 一键脚本安装时, 该文件位于 /opt/QQ/resources/app/app_launcher/napcat/config/webui.json)

webui.json

json
1
2
3
4
5
6
{
"host": "0.0.0.0", // WebUI 监听地址
"port": 6099, // WebUI 端口
"token": "xxxx", // 登录密钥, 默认是自动生成的随机登录密码
"loginRate": 3, // 每分钟登录次数限制
}

访问 http://ip:port/webui/,然后进行以下操作:

  1. 进入 QQ 登录, 点击 QRCode 进行二维码登录.
  2. 登录成功后, 即可进入网络配置, 点击 “新建” 创建对应的服务器或客户端.(如果是公网部署, 请务必启用 Token)
  3. 请在创建时勾选保存时启用, 或者创建完成后手动启用.
  4. 访问 http://ip:port 检查端口是否正常. (此处的 port 指 2 中配置的端口, 请不要与 WebUI 端口混淆)”

进去之后,网络配置>新建>websocket客户端,名称随意,url改成ws://localhost:2536/OneBotv11,然后启用并保存

Image of image7c64ed7c39454800

安装插件

  1. 设置主人QQ

    打开你的QQ,给机器人私聊发送 #设置主人 然后会提醒你输入验证码,这个时候你就需要去看Yunzai的控制台了,里面会有一串验证码,找到发给它之后就完成了

  2. 安装锅巴插件

    锅巴插件能方便你安装和管理插件,对机器人私聊发送 #安装Guoba-Plugin 执行之后机器人会自动安装插件并重启,重启成功后会发送消息

    重启成功后,发送 #锅巴登录 机器人会发送webui的地址 本机用 localhost 那个地址打开 ,局域网设备打开机器人发的内网地址的第一个链接即可

  3. 安装并配置ChatGPT插件

    进入webui之后,打开 插件管理>未安装 搜索 ChatGPT-Plugin 并安装 机器人重启成功后,刷新网页打开 插件配置>ChatGPT-Plugin 找到Gemini配置的位置,填入你申请的Gemini Api (没申请去Gemini API 申请地址) 模型名称填最新的2.0 Flash模型: gemini-2.0-flash-thinking-exp-01-21 然后可以去插件的文档(Yunzai 插件文档)那看看还有什么有意思的也能改改

  4. 和机器人对话

    和机器人私聊发送 #chatgpt切换gemini