#
1.12.0 迁移指南
SillyTavern 1.12.0(代号"Neo Server"更新)包含几个可能影响您使用 SillyTavern 方式的关键更改。
本指南将帮助您为更新做好准备,并提供一些进一步的指导。
#
数据存储更新
1.12.0 改变了 SillyTavern 处理用户数据的方式。
以前,所有持久化数据都与前端部分一起存储在 /public 目录中,这造成了混乱和潜在的故障点,同时也使容器化和系统范围的应用程序安装相当具有挑战性。
#
有什么变化?
来自 /public 的所有持久化信息,如设置和聊天(完整列表见下文),已被移动到具有可配置路径的单独目录中,使其可移植且独立于 Web 服务器本身。当出于兼容性目的需要时,例如用于托管扩展、完整尺寸的角色卡片、用户图像上传等,已设置智能重定向以自动从数据目录托管用户文件。
#
设置数据根目录
您可以通过 config.yaml 或使用 --dataRoot 控制台参数启动服务器来提供数据根目录的绝对路径或相对路径(相对于 ST 仓库目录)。
YAML 示例
# -- 数据配置 --
# 用户数据存储的根目录
dataRoot: C:\Users\Harry\Documents\ST-Data
控制台示例
node server.js --dataRoot="/Users/harry/ST-Data"
# 或者
npm run start -- --dataRoot="/Users/harry/ST-Data"
默认数据根目录路径是 ./data,这意味着 SillyTavern 仓库中的 data 目录。
注意
数据根目录路径应该是完整的绝对路径或完整的相对路径。您_不能_使用像 ~ 或 %APP_DATA% 这样的路径快捷方式,因为这些是由 shell 解析的,而不是由操作系统解析的。
#
迁移
#
重要! 在我们开始之前
- 仅当您想将 dataRoot 从默认位置移动时。否则,请跳过此部分。 在拉取更新后首次运行服务器之前设置数据根目录。运行
npm install以使config.yaml填充新值,或传递控制台参数。 - 所有数据将被迁移到
default-user账户。有关更多信息,请参阅下面的用户 部分。
#
无容器(裸机)安装
您无需做任何操作!当您启动 ST 服务器并且它检测到旧的存储格式(通过检查 /public/characters 目录的存在)时,自动迁移应该会为您处理一切。
在移动任何文件时,将在 /backups/_migration/YYYY-MM-DD(解析为当前日期)目录中创建自动备份,但在运行迁移之前进行完整的手动备份始终是一个好习惯。
#
容器化(Docker)安装
迁移 Docker 卷中的数据有点棘手,但相当简单。虽然仓库提供的 docker-compose.yml 已更新以反映这些更改,但您可能需要调整自定义工作流程/部署。
步骤 1. 创建一个新卷,并将其挂载到容器内的 "/home/node/app/data" 路径。不要删除 config 卷。
volumes:
- "./config:/home/node/app/config"
- "./data:/home/node/app/data"
步骤 2. 将 config 卷中除 config.yaml 文件之外的所有内容移动到 data 卷的 default-user 子目录中。
步骤 3. 重新构建容器并启动它。
注意
/public 目录和 config 卷之间的软链接不再需要,并且不会构建到 Docker 容器中!
#
需要迁移什么?
以下文件和目录需要进行数据迁移。假设使用默认配置,下表提供了迁移前后的路径。
#
用户
1.12.0 添加了一个(完全可选的)在同一服务器上创建多用户设置的能力,允许多个用户同时使用自己完全隔离的 SillyTavern 实例。用户帐户也可以通过密码保护以提供额外的隐私层。
请参阅用户文档以获取更多信息。