AI角色扮演聊天前端SillyTavern

本文软件由网友 P家单推人 推荐

简介

什么是 SillyTavern ?

SillyTavern 是一个可以安装在电脑(和安卓手机)上的用户界面,让您可以与文本生成的人工智能互动,并与您或社区创建的角色聊天/玩角色扮演游戏。

主要特点

  • 移动设备界面友好。
  • 支持多种人工智能服务或模型,如 KoboldAI/CPP, Horde, NovelAI, Ooba, OpenAI 等。
  • 类似 Galgame 的老婆模式和 Horde SD
  • 文本系统语音生成。
  • 世界信息(Lorebooks)功能,用于创建丰富的背景故事。
  • 可定制的界面和自动翻译功能。
  • 提供大量 Prompt(提示)以增强用户体验。
  • 支持文本绘画生成和语音生成。
  • 基于向量数据库的聊天信息总结。

简而言之,SillyTavern 是一个功能丰富的 AI 角色扮演聊天前端,通过连接不同 AI 模型实现沉浸式互动体验,适合创作、娱乐及实验性用途。

安装

在群晖上以 Docker 方式安装。

本文写作时, latest 版本对应的代码应该是 1.12.11 之后的;

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 新建文件夹 sillytavern 和 子目录
mkdir -p /volume1/docker/sillytavern/{config,data,extensions,plugins}

# 进入 sillytavern 目录
cd /volume1/docker/sillytavern

# 运行容器
docker run -d \
--restart unless-stopped \
--name sillytavern \
-p 8730:8000 \
-v $(pwd)/config:/home/node/app/config \
-v $(pwd)/data:/home/node/app/data \
-v $(pwd)/plugins:/home/node/app/plugins \
-v $(pwd)/extensions:/home/node/app/public/scripts/extensions/third-party \
ghcr.io/sillytavern/sillytavern:latest

关于装载路径的简单说明

文件夹 装载路径 说明
config /home/node/app/config 用于存储 SillyTavern 的配置文件
data /home/node/app/data 用于存储用户数据(包括角色)
plugins /home/node/app/plugins 用于存储 SillyTavern 服务器插件
extensions /home/node/app/public/scripts/extensions/third-party 用于存储全局 UI 扩展

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
version: "3"

services:
sillytavern:
image: ghcr.io/sillytavern/sillytavern:latest
container_name: sillytavern
restart: unless-stopped
ports:
- "8730:8000"
volumes:
- "./config:/home/node/app/config"
- "./data:/home/node/app/data"
- "./plugins:/home/node/app/plugins"
- "./extensions:/home/node/app/public/scripts/extensions/third-party"

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 sillytavern 和 子目录
mkdir -p /volume1/docker/sillytavern/{config,data,extensions,plugins}

# 进入 sillytavern 目录
cd /volume1/docker/sillytavern

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8730 直接访问,会显示错误

1
Forbidden: Connection attempt from 192.168.192.1. If you are attempting to connect, please add your IP address in whitelist or disable whitelist mode in config.yaml in root of SillyTavern folder.

修改设置

第一步、修改 config 目录中的 config.yaml 的权限

1
2
# 修改文件权限
chmod a+rw ./config/config.yaml

或者直接给 Everyone 用户增加 写入 权限

第二步、在 FileStation 中打开 config 目录中的 config.yaml 文件

  • 找到 whitelistMode: true,将默认值改为 false,禁用白名单模式

  • 软件为了安全性,还需要将 basicAuthMode: false 设置为 true,来启用登录验证,用户和密码可根据需要进行修改

第三步、重启容器,用上图中的 usernamepassword 的值登录

设置 API

登录后的主界面,需要设置语言、用户等

接下来要设置 API 连接

  • API:下拉选择 聊天补全
  • 聊天补全来源:下拉选择 自定义(兼容 OpenAI)
  • 自定义端点(基础 URL):还是使用的 One API 的地址;
  • 自定义 API 密钥 (可选):使用的 One API 的令牌;
  • 输入模型名:选择 One API 已经添加的模型,例如:kimi

填完之后,先连接,如果没问题的话,可用模型中会列出所有的模型,然后再测试一下

角色扮演

故事的开始是这样的 👇

1
你猛然惊醒,回忆起让你深入森林的事件以及袭击你的野兽。随着眼睛逐渐适应房间里柔和的光线,记忆开始模糊。“啊,你终于醒了。我很担心,发现你满身是伤,失去了意识。”她走过来,握住你的手,温暖和安慰从她的触碰中散发出来,她的嘴唇勾起一抹柔和而关切的微笑。“我叫塞拉菲娜,这片森林的守护者——我尽力用我的魔法治愈了你的伤口。你感觉怎么样?希望这茶能帮助你恢复力量。”她的琥珀色眼睛注视着你,充满了对你健康的关心和怜悯。“请休息一下。你在这里很安全。我会照顾你,但你需要休息。我的魔法只能做到这些来治愈你。”

可能是超时或者其他原因吧,有时候会需要再说一遍才会有正常的回复

可以用快捷键 ctrl + enter 重新生成;

大部分时候是正常的

努力的往下编

实在聊不动了,有兴趣的可以装一个试试

参考文档

SillyTavern/SillyTavern: LLM Frontend for Power Users.
地址:https://github.com/SillyTavern/SillyTavern

SillyTavern - LLM Frontend for Power Users
地址:https://sillytavern.app/

Docker Installation | docs.ST.app
地址:https://docs.sillytavern.app/installation/docker/

SillyTavern/.github/readme-zh_cn.md at release · SillyTavern/SillyTavern
地址:https://github.com/SillyTavern/SillyTavern/blob/release/.github/readme-zh_cn.md