搭建云崽QQ机器人+GPT3插件

时间:2023-02-10 21:11:25

这次我们来搭建云崽Bot,云崽Bot其实是一个用于原神的机器人,不过众多大佬开发出了很多有趣的插件供我们使用,这次我们就是用其中的一个插件Chat-gpt(其不是正宗的ChatGPT,是基于GPT3的,所以显得呆呆的,不过也算是能用),下面我们开始吧。

项目地址

云崽Gitee:https://gitee.com/Le-niao/Yunzai-Bot

云崽无原神功能版:https://gitee.com/Nwflower/yunzai-bot-lite (自行测试)

插件库:https://gitee.com/yhArcadia/Yunzai-Bot-plugins-index (插件库并不包含所有的插件,可以自行查找插件使用)

准备工作

系统:Windows、Linux (我用的 腾讯云 2h2g Centos7)

一个QQ号用来当机器人

安装环境

Node>=16,Redis

仓库换源

bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh)

选择阿里云然后后面全部选Y

搭建云崽QQ机器人+GPT3插件

安装node.js

#准备环境
yum install libtool automake autoconf gcc-c++ openssl-devel

mkdir -vp /usr/local/software/nodeJs
cd /usr/local/software/nodeJs

#下载
wget https://nodejs.org/dist/v16.8.0/node-v16.8.0-linux-x64.tar.gz
#解压
tar zxvf node-v16.8.0-linux-x64.tar.gz 
# 改名
mv node-v16.8.0-linux-x64 node16
#赋权
chmod 777 node16

# 打开环境变量
vim /etc/profile
#set nodejs env(路径一定要配置对)
export NODE_HOME=/usr/local/software/nodeJs/node16
export PATH=$NODE_HOME/bin:$PATH
# 重新加载环境变量
source /etc/profile

#检查是否安装成功,出现版本号说明安装成功
cd
node -v
npm -v

搭建云崽QQ机器人+GPT3插件

安装git

yum install git
中间询问:Is this ok [y/d/N]:输入y就行,没问忽略
git --version #查看git版本

安装chromium

yum -y install chromium

安装Redis

yum -y install redis

安装中文包

yum groupinstall fonts -y

安装项目

cd #转到根目录
git clone --depth=1 -b main https://gitee.com/Le-niao/Yunzai-Bot.git #使用gitee上面的源克隆项目

安装依赖

cd Yunzai-Bot #进到云崽文件夹
npm config set registry https://registry.npmmirror.com
npm install pnpm -g
pnpm -v #查看版本号
pnpm config set registry https://registry.npmmirror.com
pnpm install -P

启动项目

启动redis

redis-server --save 900 1 --save 300 10 --daemonize yes

使用screen后台运行项目

yum install screen -y
screen -S yunzai
cd Yunzai-Bot/ #进到云崽根目录
node app
然后填写相关信息就行了

搭建云崽QQ机器人+GPT3插件

登录成功会给主人账号发送说明

搭建云崽QQ机器人+GPT3插件

screen 的用法

screen -S name #新建一个运行空间,name可以随便写,例如:screen -S go-cq ,screen -S py 这里的S一定要大写
screen -D name #杀死命名为name的运行空间,杀死之后该运行空间就没了,里面运行的东西也就不会运行了
screen -r name #连接名字为name的运行空间
Ctrl + A + D #退出当前运行空间,但里面的运行的进程会一直运行,如果要对该进程进行操作,只需要运行上面的screen -r 即可进入

如何在网页手动获取ticket

复制链接

复制滑块验证链接用浏览器打开

搭建云崽QQ机器人+GPT3插件

F12 获取ticket

到下面这个页面先不要滑动方块验证,先按F12,选择网络(Network)

搭建云崽QQ机器人+GPT3插件

接着按下面步骤获取ticket

搭建云崽QQ机器人+GPT3插件

然后把得到的ticket粘过去回车就好了

搭建云崽QQ机器人+GPT3插件

安装chat-gpt插件

插件地址:https://github.com/ikechan8370/chatgpt-plugin

有什么问题可以去这里看看有没有解决方法:https://github.com/ikechan8370/chatgpt-plugin/issues

版本要求

Node.js >= 18 / Node.js >= 14(with node-fetch),我装的node16,所以就用了第二个方案

安装依赖

cd Yunzai-Bot/ #进到云崽根目录
pnpm install -w undici chatgpt showdown mathjax-node delay uuid remark strip-markdown node-fetch

安装项目

git clone https://github.com/ikechan8370/chatgpt-plugin.git ./plugins/chatgpt-plugin

修改配置

chatgpt的版本号注意要大于4.0.0,如果不是的话,可以试试在云崽根目录执行 pnpm install -w chatgpt@4.2.0 安装制定的版本

修改 Yunzai根目录/node_modules/.pnpm/chatgpt@4.2.0/node_modules/chatgpt/build/index.js

此处 chatgpt@4.2.0 路径不是绝对的!请根据自己安装的版本进行替换!

比如我Centos虚拟机上路径是:/root/Yunzai-Bot/node_modules/.pnpm/chatgpt@4.2.0/node_modules/chatgpt/build/index.js

我云服务器上的路径是:/root/Yunzai-Bot/node_modules/.pnpm/registry.npmmirror.com+chatgpt@4.2.0/node_modules/chatgpt/build/index.js

将 上面找到的index.js 里面的// src/fetch.ts部分修改成如下样子,其他部分不要动

// src/fetch.ts
import fetch from 'node-fetch';
globalThis.fetch = fetch;

搭建云崽QQ机器人+GPT3插件

再编辑Yunzai根目录/plugins/chatgpt-plugin/config/index.js文件,主要修改其中的apiKey

如何获得api-key可以看我的另一个文章:https://blog.hanhanz.top/?p=226

搭建云崽QQ机器人+GPT3插件

运行项目

修改完之后,我们就可以去运行使用了

cd #回到根目录
cd Yunzai-Bot/ #进到云崽根目录
node app

运行项目没报错就可以使用了

运行截图

私聊

搭建云崽QQ机器人+GPT3插件

群聊

搭建云崽QQ机器人+GPT3插件