# 如何更新 SillyTavern

找到您的操作系统并按照说明更新 ST。


# Linux/Termux 或 MacOS

您肯定是通过 git 安装的,所以只需在 SillyTavern 目录中执行 'git pull'。

  • 使用 cd SillyTavern 进入正确的文件夹。
  • 使用 git pull 获取更新。
  • 使用 ./start.shbash start.sh 启动 ST。

# Windows

首先尝试使用位于 SillyTavern 安装根文件夹中的 UpdateAndStart.bat

如果失败,请返回此处继续阅读。

# 方法 1 - GIT

我们始终建议用户使用 'git' 安装。原因如下:

当您通过 git clone 安装时,要更新只需在 ST 文件夹的命令行中输入 git pull。 或者,如果命令提示符出现问题(并且您已安装 GitHub Desktop),您可以使用 Repository 菜单并选择 Pull

更新会自动安全地应用。

# "帮助!我最初是通过 Zip 安装的,现在想转换为 Git 安装"

您选择了一条明智的道路。

由于您的安装是通过 Zip 完成的,您需要使用 git 进行新的安装。

幸运的是,我们有相关说明

一旦您使用 git 在不同的文件夹中安装了新的 SillyTavern,请返回此页面并继续执行下面 'Zip 更新' 说明中的第 4 步

# 方法 2 - ZIP

如果您坚持通过 zip 安装,以下是更新的繁琐过程:

  1. 下载新的发布 zip。

  2. 将其解压到当前 ST 安装目录之外的文件夹中。

  3. 按照您的操作系统的常规设置程序安装 NodeJS 要求。

  4. 根据需要(*)从旧的 ST 安装中复制以下文件/文件夹:

    (*) '根据需要' = "如果您创建了与这些文件夹相关的任何自定义内容"。

    # 更新到 >=1.12.0

    /data 目录和 config.yaml 文件从一个安装复制到另一个安装。

    # 从 <1.12.0 更新到 >1.12.0

    1.12.0 包含自动迁移程序。仅在迁移被中断或出错时才需要执行以下步骤。

  5. 至少运行一次更新后的服务器安装以创建 /data/default-user 目录。

  6. 根据需要将文件从旧的 /public 转移到新的 /data/default-user

    所有文件夹都不是强制性的,只复制您需要的内容。

    注意:不要复制整个 /PUBLIC/ 文件夹

    这样做可能会破坏新安装并阻止新功能的出现。

    plaintext
    Assets
    Backgrounds
    Characters
    Chats
    Context
    Groups
    Group chats
    Instruct
    movingUI
    KoboldAI Settings
    NovelAI Settings
    OpenAI Settings
    QuickReplies
    TextGen Settings (textgen = ooba)
    Themes
    User Avatars
    Worlds
    User
    settings.json
    secrets.json <---- 这个在根文件夹中,不在 /public/ 中
  7. 一旦这些文件夹/文件被复制,将它们粘贴到新安装的 /data/default-user 文件夹中(secrets.json 放在文件夹根目录中)。

  8. 使用适合您操作系统的方法再次启动 SillyTavern,并祈祷一切正常。

  9. 如果一切都显示正常,您可以安全地删除旧的 ST 文件夹。

# 常见更新问题

# 我使用 Docker,更新后所有数据都消失了!

如果您使用的是 Docker 容器,请参阅容器化 Docker 安装

# "工作目录中有未解决的冲突。"

这意味着您修改了在远程仓库中已更改的默认文件(如设置预设)。

要修复此问题,请在终端中运行以下命令。请谨慎使用,因为它可能具有破坏性。如有需要,请确保有备份。

git merge --abort
git reset --hard
git pull --rebase --autostash

# 文件更改阻止 git pull

  • 如果您更改 SillyTavern 系统文件,git pull 可能无法工作。
  • 有时更新可能需要我们更改重要文件,这可能导致相同的问题。
  • 通常是默认预设文件或 package-lock.json
  • 在这种情况下,您可以尝试将文件移动到不同的文件夹(或删除文件),然后执行 git pull
  • 另一个解决方案是使用 git pull --rebase --autostash

# 启动服务器时出现错误:找不到模块 "***"

  • 这意味着 SillyTavern 添加了新的 npm 包要求。
  • 在 SillyTavern 目录中运行 npm install 可以修复此问题。提供的 Start.bat 和 start.sh 脚本会自动执行此操作。
  • 没有帮助?删除 node_modules 文件夹

Windows

rmdir /s /q node_modules
npm cache clean --force
npm install

Unix/Linux

rm -rf node_modules
npm cache clean --force
npm install