管理

config.yaml

SillyTavern 的主配置文件。它包含各种设置,例如网络、安全和后端相关的选项。

多用户

要与他人共享你的 SillyTavern 实例,你可以创建多个用户账户。每个用户拥有自己的设置、扩展和数据。用户账户还可以设置密码保护。

远程访问

你可以从手机、平板电脑或其他计算机访问你的 SillyTavern 实例。

VPN 与隧道

要从互联网访问你的 SillyTavern 实例,可以使用 VPN 或隧道服务,例如 Cloudflare Zero Trust、ngrok 或 Tailscale。

反向代理

有经验的用户可以搭建反向代理,从互联网访问他们的 SillyTavern 实例。

数据布局

本节概述 SillyTavern 中的用户数据存储结构。此处仅描述默认的数据布局(数据根目录是 SillyTavern 安装目录的一个子目录)。如果你自定义了数据布局,请参阅你的自定义配置以了解详情。

data/[user-handle](例如 data/default-user)

为每个用户账户创建,此文件夹包含用户特定的数据,例如角色文件、对话历史和设置。

data/_cache

用于存放服务器下载的文件,例如分词器文件和 transformers.js 模型。

data/_cache/characters

当启用 performance.useDiskCache 设置时,用于存放解析后的角色数据,并在启动时以及角色更新时同步。

这样可以用磁盘空间换取更快的角色数据加载速度。

data/_css

用于存放自定义 CSS 文件。

目前仅支持 user.css 文件,它允许你为前端添加自定义样式。

data/_errors

用于存放包含各种 HTTP 状态码错误页面的 HTML 文件。当服务器遇到错误时,会使用这些文件来显示自定义错误页面。

  • forbidden-by-whitelist.html:当请求被 IP 地址白名单拦截时显示。
  • host-not-allowed.html:当请求被主机白名单拦截时显示。
  • unauthorized.html:当基础认证失败时显示。
  • url-not-found.html:当请求的资源未找到时显示。

data/_storage

用于存放用户账户数据。

不建议手动编辑这些文件,否则可能导致数据损坏。

data/_uploads

用户上传文件在服务器处理过程中的临时存放位置。

这些文件会在每次启动时自动清除。

data/_webpack

用于存放已编译的 webpack 资源和缓存文件。

如果在更新后前端出现问题,请尝试清除此文件夹,以强制完整重建前端资源。

data/access.log

一个日志文件,记录在首次成功连接之后发送到服务器的传入 HTTP 请求。

请定期检查此文件,以监控任何可疑活动。

data/cookie-secret.txt

包含用于对服务器中的 cookie 进行签名的密钥。

如果此文件不存在,会在首次启动时自动生成。

安全清单

这些只是建议。在让你的 ST 实例上线之前,请咨询 Web 应用安全专家。

  1. 保持你的操作系统和运行时软件(例如 Node.js)为最新版本。这能确保你的系统拥有最新的安全补丁和修复,有助于防范潜在漏洞。
  2. 使用白名单和网络防火墙。仅允许可信的 IP 范围访问服务器。
  3. 启用基础认证。它在你访问前端应用之前充当“主密码”。
  4. 或者,配置外部认证。此方面的常用服务包括 Authelia 和 authentik。详情请参阅 SSO 指南。
  5. 切勿让管理员账户没有密码。如果你存在任何未受保护的管理员账户,服务器在启动时会向你发出警告。
  6. 在本地网络之外使用隐蔽登录设置。这会对潜在的外部访问者隐藏用户列表。
  7. 经常检查访问日志。这些日志会写入服务器控制台和 access.log 文件,并提供有关传入连接的信息,例如 IP 地址和用户代理。
  8. 配置 HTTPS。对于 localhost 服务器,你可以生成并使用自签名证书。否则,你可能需要部署反向代理 Web 服务器,例如 Traefik 或 Caddy。
  9. 配置并启用主机白名单,尤其是在本地网络上未使用 HTTPS 加密时。
  10. 配置并启用私有地址白名单,以防止 SSRF 攻击。

有关安全代理的更多信息,请参阅以下指南:反向代理 SillyTavern。