7709 字
39 分钟
SillyTavern 完全指南(一):入门篇 — 从零到第一次对话

目录#


1. SillyTavern 是什么#

1.1 定位:AI 角色扮演前端#

SillyTavern 是一款开源(MIT 协议)的 AI 角色扮演前端界面。它本身不包含任何 AI 模型,而是作为用户与各类大语言模型(LLM)之间的桥梁,提供专门针对角色扮演场景优化的交互界面。

你可以把它理解成一个”AI 角色扮演浏览器”——安装它之后,你可以在角色卡、世界书、预设等工具的帮助下,与 AI 扮演的角色进行沉浸式对话,而对话背后的智能来自你选择的 AI 后端(如 DeepSeek、OpenAI、Claude、Ollama 本地模型等)。

1.2 为什么不用其他方案?#

在了解 SillyTavern 之前,你可能已经在使用(或听说过)其他 AI 聊天产品。下面这张对比表可以帮你快速理解它们之间的区别:

维度SillyTavernCharacter.AIJanitor AIChatGPT
本质开源前端(BYO 模型)闭源平台(自研模型)闭源平台通用对话助手
AI 后端用户自选(DeepSeek/OpenAI/Claude/本地)平台内置(不可选)OpenAI APIOpenAI GPT 系列
角色卡完整支持(导入/导出/编辑)有限支持支持不支持
世界书完整支持(触发式 lorebook)不支持不支持不支持
角色数量无限有限制有限制无角色功能
内容审核无(取决后端)严格较松严格
隐私本地运行云端云端云端
费用免费 + 模型 API 费用免费/订阅免费/订阅免费/订阅
离线使用可(Ollama 本地模型)不可不可不可
扩展性插件系统(TTS/绘图/翻译等)

核心结论:SillyTavern 的优势在于自由度可定制性。你不是被限制在某一个 AI 模型里,而是可以自由选择、随时切换后端。对于想要认真玩 AI 角色扮演的用户而言,它基本上是必经之路。

1.3 核心概念(一句话版)#

在后续章节中你会频繁遇到这些术语,先有一个印象即可:

  • 角色卡(Character Card):一个 JSON/PNG 文件,包含角色的设定、外貌、性格、开场白等信息。你把角色卡加载到 SillyTavern,就相当于”叫出了这个角色”。
  • 世界书(Worldbook / Lorebook):一个可选的设定文档库,类似角色扮演的”世界观设定集”。当对话中触发了关键词(比如一个地名),世界书会自动注入对应的背景描述,让 AI 知道这个世界是什么样子。
  • 后端(Backend):提供 AI 推理能力的服务。可以是云端的 API(如 DeepSeek、OpenAI),也可以是你自己本地运行的模型(如 Ollama 上的 Qwen)。
  • 预设(Preset):一组 AI 生成参数的配置(如温度、重复惩罚、上下文长度)。不同预设适合不同场景,比如”创意写作”和”严谨对话”需要的参数就完全不同。

1.4 系统架构#

理解架构有助于排查问题和扩展配置:

┌──────────┐ HTTP/WebSocket ┌──────────────┐ API 调用 ┌────────────┐
│ 浏览器 │ ◄──────────────────────► │ SillyTavern │ ◄──────────────► │ AI 后端 │
│ (用户界面) │ localhost:8000 │ (本地/服务端) │ │ (云端/本地) │
└──────────┘ └───────┬───────┘ └────────────┘
┌──────▼──────┐
│ 数据存储 │
│ ./data/ │
│ ├──角色卡 │
│ ├──对话记录 │
│ ├──世界书 │
│ └──设置 │
└─────────────┘

数据流向:你在浏览器中操作,SillyTavern 将你的输入和角色设定打包成请求发送给 AI 后端,后端返回回复文本,SillyTavern 渲染后展示在界面上。所有数据(角色卡、对话记录、设置)默认存储在本地 ./data/ 目录下。

1.5 官方资源与社区#

⬆ 返回目录


2. 选择你的第一个 AI 后端#

2.1 后端对比总览#

AI 后端是 SillyTavern 的”大脑”——它负责理解你的输入并生成角色回复。截至 2026 年 5 月,主流的后端选择如下:

后端计费模式中文质量部署难度内容审核推荐场景
DeepSeek按量(极低)优(中文母语)无需部署新手首选
OpenAI按量(中等)无需部署创意 RP / 英文
Claude按量(较高)无需部署较严格深度叙事
OpenRouter按量(聚合多模型)视具体模型无需部署多模型尝鲜
Ollama 本地免费视模型(Qwen 中文优)需本地部署隐私 / 无审查

2.2 DeepSeek(新手强烈推荐)#

对于中文用户来说,DeepSeek 是目前综合性价比最高的选择:

优势:

  • 中文母语质量:DeepSeek 的 V3 和 R1 模型在中文理解与生成上处于第一梯队,远超多数开源模型,与 GPT-4o 中文水平相当。
  • 价格极低:API 按 token 计费,输入约 ¥0.0005/1K tokens、输出约 ¥0.002/1K tokens(综合约 ¥0.001/1K tokens),一次完整对话(数万 tokens)仅需几分钱。即使频繁使用,月消费通常不超过一杯奶茶钱。
  • 无内容审核:DeepSeek 不对 RP(角色扮演)内容设限,你可以按照角色设定自由对话。
  • 兼容 OpenAI 格式:API 完全兼容 OpenAI Chat Completion 格式,SillyTavern 中配置为 OpenAI 类型即可直连。
  • 注册简单:手机号或邮箱即可注册,无需海外信用卡。

支持的模型(2026 年 5 月):

模型名说明推荐用途
deepseek-chatDeepSeek V3,通用对话模型日常角色扮演,快速回复
deepseek-reasonerDeepSeek R1,推理增强模型复杂场景、需要深入思考的角色

新手建议先用 deepseek-chat 起步,追求角色深度后再尝试 deepseek-reasoner

2.3 其他后端速览#

OpenAI(GPT-4o / GPT-4.1 系列):

  • 模型:gpt-4o / gpt-4.1 / gpt-4.1-mini / gpt-4.1-nano
  • 价格:约 $2.50-10.00/1M 输入 tokens(视模型版本)
  • 中文质量:良好,但 RP 场景下有时会触发内容审核
  • 适用场景:你同时在使用 ChatGPT Plus,想在同一生态中玩 RP
  • 注意事项:OpenAI 对角色扮演内容有一定审核机制,可能限制部分场景

Claude(Claude Opus 4 / Claude Sonnet 4):

  • 模型:claude-opus-4-20250514 / claude-sonnet-4-20250514
  • 价格:约 $15/1M 输入 tokens(Opus),约 $3/1M(Sonnet)
  • 中文质量:叙事能力极强,长文输出稳定
  • 适用场景:深度故事驱动型角色扮演
  • 注意事项:审核条款较严格,需注意使用合规性

OpenRouter:

  • 聚合平台,一个 API Key 可访问数十种模型
  • 无需为每个后端单独注册
  • 适合:想快速切换不同模型对比效果,或者 SillyTavern 原生不直接支持某些模型时
  • 注意:作为中间代理,延迟比直连后端略高

Ollama 本地模型:

  • 完全免费,离线可用,零审核
  • 推荐中文模型:qwen2.5:14b / qwen2.5:32b / deepseek-r1:14b
  • 硬件要求:14B 模型约需 8-10GB 显存,32B 模型约需 20-24GB
  • 适合场景:隐私敏感、无法科学上网、需要无限制创作
  • 缺点:本地模型的中文 RP 质量暂时不及 DeepSeek/OpenAI 云端
  • 本系列第二篇会专门展开自托管方案,新手现阶段无需考虑

2.4 推荐学习路径#

对于零基础的新手,我建议按这个路径循序渐进:

  1. 第一步(本文):DeepSeek API — 注册即用,成本接近于零,先跑通第一轮对话
  2. 第二步(系列第二篇):角色卡深度定制 + 世界书 + 插件 — 玩出花样
  3. 第三步(系列第二篇):尝试 OpenAI / Claude / OpenRouter — 感受不同模型风格
  4. 第四步(系列第二篇末):本地模型(Ollama) — 当你对隐私或审核有更高要求时

⬆ 返回目录


3. 环境准备#

3.1 安装方式决策指南#

SillyTavern 有两种安装方式,选择主要取决于你的平台和需求:

维度Podman 安装(推荐新手)手动安装(推荐进阶用户)
平台兼容性Windows / macOS / Linux 三平台一致原生依赖各自平台包管理
上手难度低(三条命令)中(需 Node.js + git)
环境隔离完全隔离,不影响宿主机依赖宿主机 Node.js 版本
扩展配置需挂载卷(略麻烦)直接访问文件系统
数据持久化通过 Podman volume直接写入本地目录
资源占用额外 ~200MB 容器层无额外开销
更新升级podman pull 新镜像git pull + npm install

建议:

  • Windows / macOS 用户:推荐 Podman Desktop,免去环境配置的繁琐
  • Linux 用户:两者均可。如果你已经在用 Podman 管理其他服务,选方式一;如果想直接操作源码和配置文件,选方式二
  • 想二次开发的用户:手动安装(可以直接修改前端代码)

3.2 Node.js 安装(手动安装前提)#

如果选择手动安装,需要 Node.js 环境。截至 2026 年 5 月,Node.js 当前的 Active LTS 版本为 Node.js 24Node.js 22 处于 Maintenance LTS(仍可稳定使用至 2027 年 4 月)。以下命令以 Node.js 22 为例,兼容性最广。

无论你使用哪个平台,建议不要直接使用系统包管理器安装 Node.js(通常版本过旧),而是使用版本管理工具。

方法 A:使用 fnm(推荐,跨平台)

fnm(Fast Node Manager)是目前最推荐的工具,速度快、跨平台、自动切换版本。

Terminal window
# macOS / Linux(安装后重启终端)
curl -fsSL https://fnm.vercel.app/install | bash
# Windows(使用 winget)
winget install Schniz.fnm
# 安装并使用 Node.js 22
fnm install 22
fnm use 22
fnm default 22
# 验证
node --version # 应输出 v22.x.x
npm --version # 应输出 10.x.x

方法 B:使用 nvm(经典方案)

Terminal window
# macOS / Linux
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
# 重新加载 shell 配置后
nvm install 22
nvm use 22
nvm alias default 22
# 验证
node --version

方法 C:直接下载安装包

  • Windows:访问 nodejs.org 下载 LTS 版本(22.x)的 .msi 安装包,双击安装
  • macOS:下载 .pkg 安装包,或使用 Homebrew:brew install node@22
  • Linux:在 NodeSource 二进制发行版 页面按照发行版说明安装 Node.js 22

验证安装:

Terminal window
node --version
# 输出示例:v22.14.0
npm --version
# 输出示例:10.9.2

3.3 Podman 安装#

如果选择 Podman 方式,以下为三平台安装指南。

Windows:

  1. 首先安装 WSL2(如果尚未安装):

    Terminal window
    # 以管理员身份运行 PowerShell
    wsl --install
  2. 下载并安装 Podman Desktop

  3. 在 Podman Desktop 设置中确认 Podman Machine 已启动

  4. 验证安装:

    Terminal window
    podman --version
    # 输出示例:podman version 5.8.2

macOS:

Terminal window
# 使用 Homebrew 安装
brew install podman
# 初始化并启动 Podman Machine
podman machine init
podman machine start
# 验证
podman --version

或下载 Podman Desktop for macOS(包含 Podman 和图形化管理界面)。

Linux(Debian / Ubuntu / Fedora / Arch):

Terminal window
# Debian / Ubuntu
sudo apt update
sudo apt install podman podman-compose
# Fedora
sudo dnf install podman podman-compose
# Arch Linux
sudo pacman -S podman podman-compose
# 验证
podman --version

⬆ 返回目录


4. 安装 SillyTavern#

4.1 方式一:Podman 安装(推荐新手)#

这是最简洁的安装方式,只需要三条命令。

步骤 1:拉取镜像

Terminal window
podman pull ghcr.io/sillytavern/sillytavern:latest

ghcr.io 是 GitHub Container Registry。如果你的网络访问 GitHub 不稳定,可以尝试配置代理或使用镜像加速(参见第 7 章常见问题)。

步骤 2:创建数据卷并启动容器

Terminal window
podman volume create sillytavern-data
podman run -d \
--name sillytavern \
-p 8000:8000 \
-v sillytavern-data:/home/node/app/data \
ghcr.io/sillytavern/sillytavern:latest

参数说明:

  • -d:后台运行容器
  • --name sillytavern:为容器命名,方便后续管理
  • -p 8000:8000:将容器的 8000 端口映射到宿主机的 8000 端口
  • -v sillytavern-data:/home/node/app/data:数据持久化,角色卡、对话记录存储在这个卷中

步骤 3:验证运行

Terminal window
# 查看容器状态
podman ps
# 查看实时日志
podman logs -f sillytavern

如果输出显示服务器正在监听 8000 端口,说明启动成功。

管理命令速查:

Terminal window
# 停止容器
podman stop sillytavern
# 启动容器
podman start sillytavern
# 重启容器
podman restart sillytavern
# 查看日志
podman logs sillytavern
# 删除容器(保留数据卷)
podman rm sillytavern
# 升级(拉取新镜像 + 重建容器)
podman pull ghcr.io/sillytavern/sillytavern:latest
podman stop sillytavern
podman rm sillytavern
podman run -d \
--name sillytavern \
-p 8000:8000 \
-v sillytavern-data:/home/node/app/data \
ghcr.io/sillytavern/sillytavern:latest

4.2 方式二:Git Clone + 手动安装(推荐进阶用户)#

手动安装让你可以直接访问源码目录和配置文件,适合需要深度定制的用户。

步骤 1:克隆仓库

Terminal window
git clone https://github.com/SillyTavern/SillyTavern.git
cd SillyTavern

如果网络访问 GitHub 较慢,可设置代理:

Terminal window
git clone https://github.com/SillyTavern/SillyTavern.git --config http.proxy=http://127.0.0.1:7890
cd SillyTavern

步骤 2:安装依赖

Terminal window
npm install

npm install 会安装所有必需的依赖包,耗时约 1-3 分钟(视网络状况)。如果安装过程中出现网络超时错误,可以尝试设置 npm 镜像:

Terminal window
# 使用淘宝镜像
npm config set registry https://registry.npmmirror.com
npm install
# 安装完成后恢复官方源(建议)
npm config set registry https://registry.npmjs.org

步骤 3:启动

Terminal window
npm start

首次启动时会自动打开浏览器并跳转到 http://localhost:8000。终端输出类似:

SillyTavern v1.12.3
Startup sequence initiated...
Startup sequence completed in 2.45s
HTTP server: http://0.0.0.0:8000

步骤 4:管理数据目录

手动安装时,所有数据默认存储在 SillyTavern 目录下的 ./data/ 文件夹中。你可以通过编辑 config.yaml 文件来自定义数据路径(如果不存在,启动后会自动生成)。

# config.yaml 关键配置示例
dataDir: "./data"
port: 8000

4.3 首次启动引导#

无论使用哪种安装方式,首次打开 http://localhost:8000 时都会进入初始化设置:

第一步:创建管理员账号

SillyTavern 1.12+ 版本要求设置一个管理员账号和密码。这是为了在公网访问时保护你的数据安全,即使是本地使用也需要设置。

  • 用户名:自定义(如 admin
  • 密码:设置一个你能记住的密码
  • 此步骤仅在首次启动时出现

第二步:选择后端类型

初始化向导会询问你要连接哪种 AI 后端。选择 Chat Completion APIOpenAI(因为 DeepSeek 兼容 OpenAI 格式,具体配置将在第 5 章详述)。

第三步:切换中文界面

SillyTavern 默认界面为英文。切换中文的路径:

  1. 点击左上角的菜单按钮(三条横线图标)
  2. 选择 User Settings(用户设置)
  3. User Interface 区域找到 Language 下拉菜单
  4. 选择 Chinese (Simplified) / 中文(简体)
  5. 界面会立即切换到中文

如果你的初始化向导被跳过了,或者想重新进行设置,可以点击侧边栏底部的齿轮图标 → 设置初始化向导

⬆ 返回目录


5. 连接 DeepSeek API#

5.1 注册 DeepSeek 账号并获取 API Key#

步骤 1:注册账号

打开 https://platform.deepseek.com,点击右上角的”注册”。

  • 支持手机号或邮箱注册
  • 国内用户推荐手机号注册,验证码秒到
  • 海外用户可用邮箱注册

步骤 2:创建 API Key

  1. 登录后,在左侧导航栏点击 API Keys
  2. 点击 创建 API Key 按钮
  3. 输入 Key 名称(如 sillytavern),点击确认
  4. 复制生成的一长串 key(以 sk- 开头),关闭页面后将不再显示完整 key,请立即保存

安全提示:API Key 等同于密码。不要将其上传到 GitHub、分享给他人或在公开页面截图。如果怀疑泄露,在 DeepSeek 后台删除旧 key 并重新生成。

步骤 3:充值

DeepSeek API 需要预充值才能使用:

  1. 在左侧导航栏点击 充值
  2. DeepSeek 最低充值金额为 ¥10
  3. 支持微信/支付宝支付
  4. API 价格极低,充值 ¥10 对于新手来说通常能用数月

首次注册的用户通常会获得 ¥5-10 的免费体验额度(以平台活动为准),可以先尝试免费额度再决定是否充值。

5.2 在 SillyTavern 中配置 DeepSeek#

步骤 1:打开 API 连接设置

在 SillyTavern 界面中:

  1. 点击左上角的菜单按钮(☰)
  2. 选择 API 连接(API Connections)

步骤 2:选择 API 类型

在 API 连接界面:

  1. API 类型 下拉菜单 → 选择 Chat Completion(聊天补全)
  2. API 源 下拉菜单 → 选择 OpenAI(因为 DeepSeek API 兼容 OpenAI 格式)

步骤 3:填写连接参数

填写以下三个字段:

字段
API 端点 URLhttps://api.deepseek.com/v1
模型deepseek-chat(或 deepseek-reasoner
API Key粘贴你刚才复制的 sk-xxx

界面参数对应关系:

┌─────────────────────────────────────────────┐
│ API 类型: Chat Completion ▼ │
│ API 源: OpenAI ▼ │
│ │
│ API 端点 URL: https://api.deepseek.com/v1 │
│ API Key: sk-xxxxxxxxxxxxxxxxxxx │
│ │
│ 模型: deepseek-chat │
│ │
│ ┌─────────────────────────────────┐ │
│ │ 连接 │ │
│ └─────────────────────────────────┘ │
└─────────────────────────────────────────────┘

步骤 4:测试连接

点击 连接 按钮,SillyTavern 会向 DeepSeek API 发送测试请求。

  • 成功:按钮变为绿色 ✓,显示”连接成功”消息
  • 失败:按钮保持红色 ✗,显示错误信息

常见连接失败原因:

  • API Key 复制错误(注意不要复制多余空格)
  • 网络无法访问 api.deepseek.com(需要科学上网或配置代理)
  • API 端点 URL 填错(确认是 https://api.deepseek.com/v1 而非其他路径)

5.3 其他后端连接快速参考#

如果你之后想尝试其他后端,以下配置参数供参考:

OpenAI:

参数
API 类型Chat Completion
API 源OpenAI
API 端点 URLhttps://api.openai.com/v1
模型gpt-4o / gpt-4.1-mini
API Keyplatform.openai.com 获取

Claude(Anthropic):

参数
API 类型Chat Completion
API 源Anthropic
API 端点 URLhttps://api.anthropic.com/v1
模型claude-sonnet-4-20250514 / claude-opus-4-20250514
API Keyconsole.anthropic.com 获取

OpenRouter:

参数
API 类型Chat Completion
API 源OpenAI
API 端点 URLhttps://openrouter.ai/api/v1
模型任意支持的模型名(如 deepseek/deepseek-chat
API Keyopenrouter.ai/keys 获取

Ollama(本地模型):

参数
API 类型Chat Completion
API 源Ollama
API 端点 URLhttp://127.0.0.1:11434/v1
模型你拉取的模型名(如 qwen2.5:14b
API Key留空(本地无需认证)

Ollama 需先在本地 ollama pull qwen2.5:14b 拉取模型并启动 ollama serve 后才可连接。

⬆ 返回目录


6. 第一次对话#

6.1 获取角色卡#

角色卡是 SillyTavern 角色扮演的核心。你可以自己从头创建(见系列第二篇),也可以从社区平台下载现成的角色卡。两个最大的角色卡平台:

  • Chub.ai — 目前最大的角色卡社区,数十万个角色卡,支持多级分类和标签筛选
  • Character Hub — 另一个活跃的角色卡平台,社区创作丰富

下载步骤:

  1. 打开 Chub.ai,在搜索框中输入你感兴趣的角色类型(例如”女仆”、“精灵”、“侦探”等)
  2. 进入角色详情页,点击 Download 按钮
  3. 选择 SillyTavern V2 格式下载(.png 格式,内含角色数据;或单独的 .json 文件)

关于角色卡格式:

SillyTavern 的角色卡主要有两种格式:

  • .png 格式:角色卡图片+内嵌 JSON 数据,拖入即可使用,最方便
  • .json 格式:纯 JSON 文件,不含图片,可用文本编辑器查看内容

新手下载 .png 格式即可,无需关心内部结构。实际上,.png 格式的角色卡就是一张普通图片,你可以直接双击查看角色的立绘,SillyTavern 会自动识别图片中嵌入的角色数据。

导入角色卡:

  1. 在 SillyTavern 界面中,点击左上角的 角色管理 图标(两个人形头像)
  2. 点击 导入角色 按钮
  3. 选择刚才下载的角色卡文件(.png 或 .json)
  4. 角色出现在列表中,点击即可加载

6.2 角色卡内部结构简介#

虽然新手不需要关心角色卡的 JSON 结构,但了解以下字段有助于你理解 AI 如何”知道”自己要扮演谁:

字段说明示例
name角色名称绫波丽
description角色外貌和初步描述银色短发的少女...
first_message角色开场白你是...驾驶员吗?
personality性格描述(AI 据此决定角色的语气和行为)冷静、寡言、执行力强
scenario当前场景设定NERV 总部,初号机驾驶舱前
system_prompt额外系统提示(可选)你是 EVA 的驾驶员...
alternate_greetings可选的其他开场白(高级用法)[]

当你开始对话时,SillyTavern 会将这些信息连同你的输入一起发送给 AI 后端,后端据此生成符合角色设定的回复。

6.3 选择预设#

预设(Preset)是 AI 生成参数的配置组合。SillyTavern 内置了多套预设,选择合适的预设对对话体验影响很大。

如何选择预设:

  1. 点击界面顶部的 预设管理(通常显示为当前预设名称,默认是 Default
  2. 展开预设列表,你会看到如 Simple-1Midnight-RhapsodyTasuku 等预设
  3. 每套预设针对不同场景做了优化

新手推荐预设:

预设特点适合
Simple-1最简单的配置,温度适中新手入门,第一次对话
Midnight-Rhapsody创意性高,回复更具戏剧性喜欢惊喜感和创意的用户
Kobold用于 KoboldAI 后端的经典配置本地模型用户
Tasuku长上下文优化长篇对话/世界书场景

新手先用 Simple-1 起步,后续可以根据偏好自行调整。

关键参数速览(了解更多有助于日后调优):

参数作用推荐起始值
Temperature(温度)控制输出的随机性。越高越有创意(但也可能偏题),越低越保守。0.8 - 1.0
Repetition Penalty(重复惩罚)抑制 AI 重复相同表述。值越大,重复越少。1.05 - 1.15
Context Size(上下文长度)AI 能”记住”的最大 token 数。越长记忆越好,但消耗也越大。4096 / 8192
Response Length(回复长度)AI 单次能生成的最大 token 数。300 - 600

6.4 界面导览#

连接成功后,加载一个角色卡,你会看到如下界面布局:

截图辅助: 以下为文字版界面导览。建议在实际部署后截取一张全屏界面图,对照标注各功能区以便快速熟悉。

① 侧边栏(左侧):

  • 顶部图标栏:角色管理(人形图标)、对话管理(对话气泡)、世界书(书籍图标)、扩展中心(拼图图标)
  • 当前角色:显示已加载的角色头像和名称
  • 设置入口:底部齿轮图标打开全局设置

② 对话区(中央主体):

  • 角色回复:左侧显示角色头像和对话内容
  • 用户消息:右侧显示你的输入
  • 消息操作:每条回复右上角有三个点(···),点击展开操作菜单

③ 输入区(底部):

  • 文字输入框:输入你的回应
  • 发送按钮(➤):发送消息
  • 继续按钮(↻):让 AI 继续生成当前回复的后半部分
  • 滑动回复按钮(⟳):获取 AI 的另一个回复版本(见下文)

④ 顶部栏:

  • 预设选择器:当前使用的预设名称
  • 模型名称:当前连接的后端模型(如 deepseek-chat
  • 角色名称:当前对话的角色名

6.5 消息操作#

SillyTavern 的消息操作比你想象的要丰富:

继续生成(Continue):

当 AI 的回复不完整或你希望它补充更多内容时,点击回复下方的 继续 按钮(↻),AI 会接着当前回复继续输出。

滑动回复(Swipe):

这是角色扮演中最常用的功能之一。如果对当前回复不满意,点击回复右上角的 按钮,AI 会重新生成一个新的回复版本,不会丢失之前的版本。你可以:

  • 反复滑动查看不同回复
  • 找到满意回复后停止滑动
  • 已在历史中的对话也可以滑动重新生成(右键菜单中操作)

编辑回复:

  • 编辑用户消息:点击你已经发送的消息右上角的编辑图标(✏️),修改后确认
  • 编辑角色回复:点击角色回复右上角的编辑图标(✏️),可以修改 AI 的回复内容。这在你想”纠正”角色方向时尤其有用——修改一次后,AI 会从新的内容继续

删除消息:

  • 单条删除:点击消息右上角的删除图标(🗑️)
  • 批量删除:在对话管理界面中可以批量删除

重命名对话:

在左侧 对话管理 中,每个对话默认以角色名+时间命名。点击重命名(✏️)可以为对话赋予一个你容易记住的名字,比如”女仆咖啡厅 — 温馨日常篇”。

分支对话(Branching):

这是 SillyTavern 最强大的对话管理功能。你可以从对话历史的任何一条消息处分出新分支,走向不同的剧情方向:

  1. 点击你想分支的消息右上角的菜单(···)
  2. 选择 从此处分支
  3. 输入新的回复
  4. 对话从该点分叉成两个独立分支
  5. 你可以自由在分支间切换,互不影响

这相当于在游戏中有了”存档”功能——你对某个剧情走向不满意,完全可以回到之前的节点重新选择。

【建议截图】建议截取一张分支对话的界面示意图,展示两条不同分支在对话树中的可视化呈现。

⬆ 返回目录


7. 常见启动问题#

以下整理了新手最常遇到的 5 个问题,每个问题附解决方案和诊断命令。

7.1 端口 8000 被占用#

问题说明
现象启动时提示 EADDRINUSE: address already in use :::8000
原因宿主机 8000 端口已被其他程序占用
解决方案修改端口启动,或在 Podman 映射时指定不同端口

Podman 方式(修改宿主机映射端口):

Terminal window
# 将宿主机 8080 映射到容器 8000
podman stop sillytavern
podman rm sillytavern
podman run -d \
--name sillytavern \
-p 8080:8000 \
-v sillytavern-data:/home/node/app/data \
ghcr.io/sillytavern/sillytavern:latest
# 之后通过 http://localhost:8080 访问

手动安装方式(修改配置文件端口):

Terminal window
# 方法一:启动时指定端口
PORT=8080 npm start
# 方法二:修改 config.yaml
# 编辑 config.yaml,修改 port: 8080

诊断命令:

Terminal window
# 查看谁占用了 8000 端口
# Linux / macOS
lsof -i :8000
# Windows(PowerShell)
netstat -ano | findstr :8000

7.2 Node.js 版本过低#

问题说明
现象npm installnpm start 时报错:Engine "node" is incompatibleerror: ... requires XXX but got ...
原因手动安装需要 Node.js 18+,推荐 22 LTS;版本过低导致依赖无法安装
解决方案使用 fnm 或 nvm 升级 Node.js
Terminal window
# 查看当前版本
node --version
# 使用 fnm 切换到 Node.js 22
fnm install 22
fnm use 22
# 或使用 nvm
nvm install 22
nvm use 22
# 验证
node --version # 应输出 v22.x.x

诊断命令:

Terminal window
# 查看所有已安装的 Node.js 版本
fnm list
# 或
nvm ls
# 查看当前版本
node --version

7.3 API 连接超时#

问题说明
现象点击”连接”后长时间无响应,最终提示 Connection timeoutfetch failed
原因本地网络无法访问 AI 后端的 API 域名
解决方案配置网络代理或更换网络环境

场景一:需要科学上网访问 DeepSeek

DeepSeek API 在国内部分地区可以直接访问,但部分网络环境下可能需要代理:

Terminal window
# Linux / macOS(临时设置环境变量启动 SillyTavern)
HTTP_PROXY=http://127.0.0.1:7890 \
HTTPS_PROXY=http://127.0.0.1:7890 \
npm start

对于 Podman 方式,通过环境变量传递给容器:

Terminal window
podman run -d \
--name sillytavern \
-p 8000:8000 \
-e HTTP_PROXY=http://host.containers.internal:7890 \
-e HTTPS_PROXY=http://host.containers.internal:7890 \
-v sillytavern-data:/home/node/app/data \
ghcr.io/sillytavern/sillytavern:latest

注意: Linux 原生 Podman 使用 host.containers.internal 而非 host.docker.internal(后者仅 Podman Desktop for macOS/Windows 支持)。如果你的代理在宿主机 7890 端口,Linux 下应使用 host.containers.internal:7890

场景二:没有代理但想访问境外 API

可以尝试 OpenRouter 作为中间层(前提是 OpenRouter 在你的网络下可访问)。

诊断命令:

Terminal window
# 测试网络连通性
curl -s -o /dev/null -w "%{http_code}" https://api.deepseek.com/v1/models
# 返回 200 表示可连通
# 查看 DNS 解析
nslookup api.deepseek.com
# 路由追踪
traceroute api.deepseek.com
# Windows 用 tracert

7.4 Podman 容器启动失败#

问题说明
现象podman runpodman ps 没有输出,访问 localhost:8000 失败
原因容器启动后立即退出(通常是配置错误或权限问题)
解决方案查看容器日志定位具体原因
Terminal window
# 查看所有容器(包括已停止的)
podman ps -a
# 查看容器日志(最关键的一步)
podman logs sillytavern
# 常见日志输出及含义:
# "Error: listen EACCES :8000" -- 权限不足,尝试使用 1024 以上端口
# "Error: Cannot find module 'express'" -- 镜像拉取不完整,重新 pull

其他诊断命令:

Terminal window
# 检查容器配置
podman inspect sillytavern
# 查看容器资源使用(确认是否 OOM 被杀死)
podman stats sillytavern
# 检查端口映射
podman port sillytavern

应急处理:

Terminal window
# 删除失败容器重新创建
podman rm sillytavern
podman run -d \
--name sillytavern \
-p 8000:8000 \
-v sillytavern-data:/home/node/app/data \
ghcr.io/sillytavern/sillytavern:latest

7.5 响应截断或乱码#

问题说明
现象AI 回复突然中断、内容不完整,或出现乱码字符
原因Token 限制过低(上下文用完)、编码不兼容、或预设参数不合适
解决方案调整上下文长度和回复长度限制

调整预设参数:

  1. 打开 预设管理 → 选择当前使用的预设 → 编辑
  2. 增加以下参数:
    • Context Size:从默认值增大到 8192 或 16384(DeepSeek 支持最高 64K)
    • Response Length:从默认 300 增大到 600-800
  3. 注意:增大 Context Size 会增加每次 API 调用的 token 消耗(但 DeepSeek 价格极低,几乎可忽略)

编码问题排查:

Terminal window
# 确认 SillyTavern 服务器日志中没有编码告警
# 检查 config.yaml 中是否有编码设置
cat config.yaml | grep -i encoding

如果只是在界面中看到少量乱码字符(如 \uXXXX),通常是因为预设中选择了不支持该字符集的模型配置。切换到 Simple-1 预设即可解决。

诊断命令:

Terminal window
# 在 SillyTavern 中发送测试短句
# 如果短句正常、长句截断 → 增大 Context Size
# 如果短句也乱码 → 检查预设或切换模型
# 如果回复完整但质量差 → 调整 Temperature(建议 0.8-1.0)

⬆ 返回目录


以上就是 SillyTavern 入门篇的全部内容。你现在已经完成了从零到第一次对话的全流程操作:了解了 SillyTavern 的定位,选择了最适合新手的 DeepSeek 后端,完成了环境准备和安装,配置了 API 连接,加载了角色卡,并掌握了基本的对话操作技巧。

下一步可以阅读本系列第二篇:角色工程与功能扩展,深入学习角色卡深度定制、世界书创建、高级对话控制、插件系统(TTS/绘图),以及 Ollama 本地模型部署。

如果你在配置过程中遇到本文未覆盖的问题,推荐以下求助渠道:

SillyTavern 完全指南(一):入门篇 — 从零到第一次对话
https://blog.syomega.top/posts/sillytavern-getting-started/
作者
酱w
发布于
2026-05-17
许可协议
CC BY-NC-SA 4.0