在服务器上部署SillyTavern(酒馆)和clewd的傻瓜式教程
六九六零
编辑于 2024年01月06日 12:27

1.前言

Q:在服务器上部署酒馆相比在PC或手机本地部署有什么好处?

A:部署一次后,你就可以通过任意能访问互联网能打开网页的终端(手机、电脑、平板等等)在任意网络环境连接酒馆进行AI聊天了,而在本地部署只有你部署的设备或处于同一局域网的设备能访问。

Q:为什么要写这个教程?

A:网上缺乏酒馆在服务器上部署的相关教程,SillyTavern的官方文档里关于如何在Linux上部署以及让网络上其他设备访问的教程也很不完善,故写此教程方便小白。

Q:一般家庭用户如何拥有一台服务器?

A:1.购买VPS。

2.自家宽带转成公网IP,然后利用闲置PC(最好是低功耗设备,因为要24小时开机)、迷你主机、树莓派等等安装任意linux发行版,作为一个家庭服务器。然后把这个家庭服务器接入家庭内的局域网,把服务器上的一些端口映射到路由器上。(老实说,会这些的感觉不需要看我的教程)

3.如果你家网络上有软路由,可以部署到软路由上。

如果你是小白,我推荐买VPS,毕竟后两个实际上的知识门槛要比在服务器上部署酒馆高多了。

Q:我的VPS选择什么操作系统?

A:本教程是基于Ubuntu22.04的,事实上任意主流Linux发行版都可以。如果你是小白,最好和我一样选择Debian系的Linux发行版(主要有Debian、Ubuntu、mint、deepin等),以方便看教程,其他Linux发行版如RHEL、Centos、Fedora、ArchLinux之类的,只要你会用那上面的包管理(如RHEL/centos的yum、dnf以及ArchLinux的pacman)装软件,就没有什么差别。

Q:我的VPS需要什么配置?

A:单核 +1G 内存即可,SillyTavern只是个前端项目,对配置的要求很低。

Q:VPS在哪儿买?

A:自行利用搜索引擎,本人也不会在此文中给任何VPS做广告。

Q:Claude的Cookie在哪儿弄?

A:自行注册Claude账号,按网上教程提取cookie即可,实在不会就去某宝买。

2.准备工作

到这一步,我已经默认你已经有了一台服务器,并拿到了它的用户名和密码(一般VPS服务商都是给你的root账号)。

第一步是下载一个ssh客户端,这里有很多推荐:MobaXterm、Xshell、Termius、SecureCRT等。如果你的电脑是MacOS或者Linux操作系统,直接用系统的终端即可。

接下来我以MobaXterm举例

点击左上角的Session图标,会弹出这样一个窗口,再点击SSH图标,在remote_host那一栏输入服务器的IP地址,点specify username左边的勾,然后输入用户名(一般为root,以VPS服务商给你的为准),点击OK

接下来如果弹出一个提示窗口点accept就行,然后会让你输入密码,注意,Linux下输入密码默认不会显示*号,你看到什么都没显示是正常的,直接输完然后回车即可。

接下来等界面更新弹出欢迎界面你就登到你的服务器上了,然后如果你不是root账户,输入sudo su命令回车切到root上去。(后面的所有的输入命令都要回车,不要傻到输完就不管了就行)

接下来最好更新下系统下的软件,输入命令

apt update && apt upgrade -y

接下来有让你输Y/N的输Y,有界面变化让你选什么的直接一路回车就行,等软件更新至最新后,依次安装以下软件。

1.Git

输入 apt install git -y

一般git在ubuntu上是默认安装了的,如果它有如下提示表示git已是最新就不用管了,否则让系统自行下载安装即可。

2.node.js

输入apt install nodejs -y

3.npm(node.js的包管理工具)

输入apt install npm -y

4.forever (node.js的一个模块)

输入npm install -g forever

要确认这些软件是否安装完毕,可以用以下命令

git --version

nodejs --version

npm --version

forever --version

能显示版本号就是正常的,有warning不用管。

3.拷贝SillyTavern和clewd到服务器上

3.1 拷贝SillyTavern

先前往当前账户(root)的home目录,输入 cd ~

SillyTavern(酒馆)有两个版本,下面命令任选一个即可

稳定版 git clone https://github.com/SillyTavern/SillyTavern -b release

开发版 git clone https://github.com/SillyTavern/SillyTavern -b staging

等clone完成后ls命令可以发现当前目录下多了个SillyTavern目录

输入cd SillyTavern 进入该目录,然后输入 sh start.sh 执行脚本

脚本可能提示你nodejs和npm没安(即使你安了也可能有这提示),不用管,输入y即可。

等脚本执行到提示SillyTavern is listening on: http://127.0.0.1:8000/

(如果出错,没事,你可以输入reboot重启下服务器,等个几分钟再连,再cd到SillyTavern目录下执行这个脚本就能成功(个人经验))

之后同时ctrl+c 退出脚本。

3.2 拷贝clewd

clewd有原版和teralomaniac的修改版,这里采用tera的修改版。

输入cd ~ 回到home目录

然后输入以下命令

git clone https://github.com/teralomaniac/clewd.git

等clone完后,你会发现当前目录下多了个clewd目录

接下来输入 cd clewd 进入这个目录

然后输入 sh start.sh 执行脚本,出现下面的提示代表成功

如果出错,没事,你可以输入reboot重启下服务器,等个几分钟再连,再cd到clewd目录下执行这个脚本就能成功(个人经验)

4.修改SillyTavern和clewd配置并启动酒馆

4.1 修改SillyTavern配置

cd ~/SillyTavern 到酒馆的文件夹下,

然后输入 vim config.yaml 开始编辑配置文件(用emacs、nano等其他文本编辑器也行,不会使用vim的建议自行搜索引擎搜索教程,基本的文本修改还是很简单的)

接下来我说下要改哪些项

listen false改成 true

whitelistMode true改成false

basicAuthMode false改成true

basicAuthUser 这里是你自己设定的远程登录酒馆的用户名和密码,username输用户名,password输密码,默认为user/password,建议自己按喜好设置即可。

改后效果

然后保存退出。

再执行命令 sh start.sh 启动酒馆

出现提示 SillyTavern is listening on: http://0.0.0.0:8000/就代表成功

此时你已经可以远程访问酒馆了,打开浏览器,输入你的http://你的服务器IP:8000访问酒馆(比如你服务器IP为1.2.3.4,就输入http://1.2.3.4:8000)

浏览器会提示你输入用户名和密码,就是你刚才在配置文件里自己设置的用户名和密码,输完后就能远程登录酒馆了

第一次进入酒馆后会让你确认你聊天用的用户名,这个你根据自己爱好随便输就行,反正后面也能改。

现在浏览器界面是这样的,推荐这时把这页面加入浏览器收藏夹。

4.2 修改clewd的配置

另起一个ssh窗口(在MobaXterm下一个比较简单的方法就是右键点击当前ssh界面的标签栏,然后选择dumplicate tab),输入 cd ~/clewd 切到clewd目录

vim config.js 开始编辑配置文件

这里面要编辑的不多,只需要把你所拥有的所有claude的cookie都填到CookieArray里,格式如图

保存退出,然后执行sh start.sh

屏幕出现Logged in { name: '你的账户名', capabilities: [ 'chat', [length]: ] } 后

就代表这个cookie登录Claude成功了

接下来我们切到酒馆的浏览器界面,

点击插头的那个图标,将kobold AI改成Chat Completion 然后选择OpenAi,如图

在点插头图标的左边的图标,在OpenAI反向代理这一栏填http://127.0.0.1:8444/v1

然后再点插头图标,然后点connect,同时勾上自动连接到最后设置的API服务器

这下界面提示Valid,代表你已经可以在酒馆上聊天了!(最好把Show External Model一栏也勾上,然后OpenAI模型里选Claude2),效果如图

你可以与酒馆自带的几个角色聊天试下效果,如图

但不要急,还没完!!!

5.将SillyTavern和Clewd的服务挂后台运行

到这儿还没完,由于我们之前是在终端上前台执行的SillyTavern和clewd的启动脚本,这意味着一旦我们关掉那个ssh终端界面,这些服务进程就会退出,我们也不能再远程访问了,这显然是不行的,我们需要它们在后台长时间稳定运行。

接下来我们先退出SillyTabvern和Clewd正在执行的脚本,方法就是切到对应正在执行脚本的窗口,同时按ctrl+c即可退出(两个都要退)

然后依次输入以下命令

cd ~/SillyTavern

forever start server.js

forever start ~/clewd/clewd.js

执行完成后,输入forever list命令查看运行状态,类似下图则表示已经成功

logfile对应的是对应脚本运行时原本应该在屏幕上的输出,在脚本运行出现异常时可以打开这个日志文件确认原因。

接下来我们可以直接关闭MobaXterm,然后在浏览器中再打开酒馆的界面,发现依然能成功连接,也依然能和AI聊天。

到这里为止,你已经成功在服务器上部署了酒馆,并且能随时随地在任意一台能接入互联网能打开网页的设备上和AI聊天了!

6.更新SillyTavern和clewd的方法

如果你需要更新你的SillyTavern和clewd到最新版本,很简单,就三步

6.1 停止当前后台运行的sillytavern和clewd服务

输入 forever list 查看各进程PID

在这个图里,clewd和sillytavern的PID分别为10333 和10428,然后执行

forever stop 10333(这里要替换成你自己服务器上显示的pid)

forever stop 10428(这里要替换成你自己服务器上显示的pid)

再输入foerver list 发现已经是空的了,说明那两个后台服务已经退出。

6.2 更新SillyTavern和clewd

依次执行以下命令、

cd ~/SillyTavern

git pull

cd ~/clewd

git pull

6.3 再在后台启动SillyTavern和clewd服务

和之前的命令一样

cd ~/SillyTavern

forever start server.js

forever start ~/clewd/clewd.js

执行完后再用forever list确认一下。

7.后记

教程到这里就结束了,我觉得我已经写的够傻瓜式了,连下载什么ssh客户端,点什么图标,每一步输什么命令(连cd命令我都写上去了)我都写了,只有vim怎么用我没写(一是因为vim的教程到处都是,二是因为这个对于从没接触过linux的小白来说,不实际上手试试的话实在是没法只通过几行文字就教会)。后续如果有碰到问题的可以在评论区提或者私信我,也麻烦读者老爷们多投币支持。

重要提示(2024.01.05更新)

最新A社大规模封ip和claude账号,如果你发现所有消息均响应403,则你的服务器IP被封了,此时建议在VPS上套层cloudflare warp代理,可见下文的傻瓜式教程。

https://help.cyberwaifu.org/archives/clewd-warp