这次我们来搭建云崽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
安装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
安装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
然后填写相关信息就行了
登录成功会给主人账号发送说明
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
复制链接
复制滑块验证链接用浏览器打开
F12 获取ticket
到下面这个页面先不要滑动方块验证,先按F12
,选择网络(Network
)
接着按下面步骤获取ticket
然后把得到的ticket
粘过去回车就好了
安装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;
再编辑Yunzai根目录/plugins/chatgpt-plugin/config/index.js
文件,主要修改其中的apiKey
如何获得api-key可以看我的另一个文章:https://blog.hanhanz.top/?p=226
运行项目
修改完之后,我们就可以去运行使用了
cd #回到根目录
cd Yunzai-Bot/ #进到云崽根目录
node app
运行项目没报错就可以使用了