目录
1. SillyTavern 是什么
1.1 定位:AI 角色扮演前端
SillyTavern 是一款开源(MIT 协议)的 AI 角色扮演前端界面。它本身不包含任何 AI 模型,而是作为用户与各类大语言模型(LLM)之间的桥梁,提供专门针对角色扮演场景优化的交互界面。
你可以把它理解成一个”AI 角色扮演浏览器”——安装它之后,你可以在角色卡、世界书、预设等工具的帮助下,与 AI 扮演的角色进行沉浸式对话,而对话背后的智能来自你选择的 AI 后端(如 DeepSeek、OpenAI、Claude、Ollama 本地模型等)。
1.2 为什么不用其他方案?
在了解 SillyTavern 之前,你可能已经在使用(或听说过)其他 AI 聊天产品。下面这张对比表可以帮你快速理解它们之间的区别:
| 维度 | SillyTavern | Character.AI | Janitor AI | ChatGPT |
|---|---|---|---|---|
| 本质 | 开源前端(BYO 模型) | 闭源平台(自研模型) | 闭源平台 | 通用对话助手 |
| AI 后端 | 用户自选(DeepSeek/OpenAI/Claude/本地) | 平台内置(不可选) | OpenAI API | OpenAI 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 官方资源与社区
- GitHub 仓库:https://github.com/SillyTavern/SillyTavern — 源代码、Issue、Release 下载
- 官方文档:https://docs.sillytavern.app/ — 安装、配置、扩展的完整指南
- Discord 社区:https://discord.gg/sillytavern — 最活跃的社区,角色卡分享、问题求助、预设交流
- Reddit:r/SillyTavernAI — 英文社区讨论
- 角色卡平台:Chub.ai / Character Hub — 海量社区角色卡下载
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-chat | DeepSeek V3,通用对话模型 | 日常角色扮演,快速回复 |
deepseek-reasoner | DeepSeek 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 推荐学习路径
对于零基础的新手,我建议按这个路径循序渐进:
- 第一步(本文):DeepSeek API — 注册即用,成本接近于零,先跑通第一轮对话
- 第二步(系列第二篇):角色卡深度定制 + 世界书 + 插件 — 玩出花样
- 第三步(系列第二篇):尝试 OpenAI / Claude / OpenRouter — 感受不同模型风格
- 第四步(系列第二篇末):本地模型(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 24,Node.js 22 处于 Maintenance LTS(仍可稳定使用至 2027 年 4 月)。以下命令以 Node.js 22 为例,兼容性最广。
无论你使用哪个平台,建议不要直接使用系统包管理器安装 Node.js(通常版本过旧),而是使用版本管理工具。
方法 A:使用 fnm(推荐,跨平台)
fnm(Fast Node Manager)是目前最推荐的工具,速度快、跨平台、自动切换版本。
# macOS / Linux(安装后重启终端)curl -fsSL https://fnm.vercel.app/install | bash
# Windows(使用 winget)winget install Schniz.fnm
# 安装并使用 Node.js 22fnm install 22fnm use 22fnm default 22
# 验证node --version # 应输出 v22.x.xnpm --version # 应输出 10.x.x方法 B:使用 nvm(经典方案)
# macOS / Linuxcurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
# 重新加载 shell 配置后nvm install 22nvm use 22nvm 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
验证安装:
node --version# 输出示例:v22.14.0npm --version# 输出示例:10.9.23.3 Podman 安装
如果选择 Podman 方式,以下为三平台安装指南。
Windows:
-
首先安装 WSL2(如果尚未安装):
Terminal window # 以管理员身份运行 PowerShellwsl --install -
下载并安装 Podman Desktop:
- 访问 https://podman-desktop.io/downloads 下载 Windows 安装包
- 双击安装,安装过程中选择自动配置 WSL2 后端
- 安装完成后启动 Podman Desktop
-
在 Podman Desktop 设置中确认 Podman Machine 已启动
-
验证安装:
Terminal window podman --version# 输出示例:podman version 5.8.2
macOS:
# 使用 Homebrew 安装brew install podman
# 初始化并启动 Podman Machinepodman machine initpodman machine start
# 验证podman --version或下载 Podman Desktop for macOS(包含 Podman 和图形化管理界面)。
Linux(Debian / Ubuntu / Fedora / Arch):
# Debian / Ubuntusudo apt updatesudo apt install podman podman-compose
# Fedorasudo dnf install podman podman-compose
# Arch Linuxsudo pacman -S podman podman-compose
# 验证podman --version4. 安装 SillyTavern
4.1 方式一:Podman 安装(推荐新手)
这是最简洁的安装方式,只需要三条命令。
步骤 1:拉取镜像
podman pull ghcr.io/sillytavern/sillytavern:latest
ghcr.io是 GitHub Container Registry。如果你的网络访问 GitHub 不稳定,可以尝试配置代理或使用镜像加速(参见第 7 章常见问题)。
步骤 2:创建数据卷并启动容器
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:验证运行
# 查看容器状态podman ps
# 查看实时日志podman logs -f sillytavern如果输出显示服务器正在监听 8000 端口,说明启动成功。
管理命令速查:
# 停止容器podman stop sillytavern
# 启动容器podman start sillytavern
# 重启容器podman restart sillytavern
# 查看日志podman logs sillytavern
# 删除容器(保留数据卷)podman rm sillytavern
# 升级(拉取新镜像 + 重建容器)podman pull ghcr.io/sillytavern/sillytavern:latestpodman stop sillytavernpodman rm sillytavernpodman run -d \ --name sillytavern \ -p 8000:8000 \ -v sillytavern-data:/home/node/app/data \ ghcr.io/sillytavern/sillytavern:latest4.2 方式二:Git Clone + 手动安装(推荐进阶用户)
手动安装让你可以直接访问源码目录和配置文件,适合需要深度定制的用户。
步骤 1:克隆仓库
git clone https://github.com/SillyTavern/SillyTavern.gitcd SillyTavern如果网络访问 GitHub 较慢,可设置代理:
git clone https://github.com/SillyTavern/SillyTavern.git --config http.proxy=http://127.0.0.1:7890cd SillyTavern步骤 2:安装依赖
npm installnpm install 会安装所有必需的依赖包,耗时约 1-3 分钟(视网络状况)。如果安装过程中出现网络超时错误,可以尝试设置 npm 镜像:
# 使用淘宝镜像npm config set registry https://registry.npmmirror.comnpm install# 安装完成后恢复官方源(建议)npm config set registry https://registry.npmjs.org步骤 3:启动
npm start首次启动时会自动打开浏览器并跳转到 http://localhost:8000。终端输出类似:
SillyTavern v1.12.3Startup sequence initiated...Startup sequence completed in 2.45sHTTP server: http://0.0.0.0:8000步骤 4:管理数据目录
手动安装时,所有数据默认存储在 SillyTavern 目录下的 ./data/ 文件夹中。你可以通过编辑 config.yaml 文件来自定义数据路径(如果不存在,启动后会自动生成)。
# config.yaml 关键配置示例dataDir: "./data"port: 80004.3 首次启动引导
无论使用哪种安装方式,首次打开 http://localhost:8000 时都会进入初始化设置:
第一步:创建管理员账号
SillyTavern 1.12+ 版本要求设置一个管理员账号和密码。这是为了在公网访问时保护你的数据安全,即使是本地使用也需要设置。
- 用户名:自定义(如
admin) - 密码:设置一个你能记住的密码
- 此步骤仅在首次启动时出现
第二步:选择后端类型
初始化向导会询问你要连接哪种 AI 后端。选择 Chat Completion API → OpenAI(因为 DeepSeek 兼容 OpenAI 格式,具体配置将在第 5 章详述)。
第三步:切换中文界面
SillyTavern 默认界面为英文。切换中文的路径:
- 点击左上角的菜单按钮(三条横线图标)
- 选择 User Settings(用户设置)
- 在 User Interface 区域找到 Language 下拉菜单
- 选择 Chinese (Simplified) / 中文(简体)
- 界面会立即切换到中文
如果你的初始化向导被跳过了,或者想重新进行设置,可以点击侧边栏底部的齿轮图标 → 设置 → 初始化向导。
5. 连接 DeepSeek API
5.1 注册 DeepSeek 账号并获取 API Key
步骤 1:注册账号
打开 https://platform.deepseek.com,点击右上角的”注册”。
- 支持手机号或邮箱注册
- 国内用户推荐手机号注册,验证码秒到
- 海外用户可用邮箱注册
步骤 2:创建 API Key
- 登录后,在左侧导航栏点击 API Keys
- 点击 创建 API Key 按钮
- 输入 Key 名称(如
sillytavern),点击确认 - 复制生成的一长串 key(以
sk-开头),关闭页面后将不再显示完整 key,请立即保存
安全提示:API Key 等同于密码。不要将其上传到 GitHub、分享给他人或在公开页面截图。如果怀疑泄露,在 DeepSeek 后台删除旧 key 并重新生成。
步骤 3:充值
DeepSeek API 需要预充值才能使用:
- 在左侧导航栏点击 充值
- DeepSeek 最低充值金额为 ¥10
- 支持微信/支付宝支付
- API 价格极低,充值 ¥10 对于新手来说通常能用数月
首次注册的用户通常会获得 ¥5-10 的免费体验额度(以平台活动为准),可以先尝试免费额度再决定是否充值。
5.2 在 SillyTavern 中配置 DeepSeek
步骤 1:打开 API 连接设置
在 SillyTavern 界面中:
- 点击左上角的菜单按钮(☰)
- 选择 API 连接(API Connections)
步骤 2:选择 API 类型
在 API 连接界面:
- API 类型 下拉菜单 → 选择 Chat Completion(聊天补全)
- API 源 下拉菜单 → 选择 OpenAI(因为 DeepSeek API 兼容 OpenAI 格式)
步骤 3:填写连接参数
填写以下三个字段:
| 字段 | 值 |
|---|---|
| API 端点 URL | https://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 端点 URL | https://api.openai.com/v1 |
| 模型 | gpt-4o / gpt-4.1-mini |
| API Key | 从 platform.openai.com 获取 |
Claude(Anthropic):
| 参数 | 值 |
|---|---|
| API 类型 | Chat Completion |
| API 源 | Anthropic |
| API 端点 URL | https://api.anthropic.com/v1 |
| 模型 | claude-sonnet-4-20250514 / claude-opus-4-20250514 |
| API Key | 从 console.anthropic.com 获取 |
OpenRouter:
| 参数 | 值 |
|---|---|
| API 类型 | Chat Completion |
| API 源 | OpenAI |
| API 端点 URL | https://openrouter.ai/api/v1 |
| 模型 | 任意支持的模型名(如 deepseek/deepseek-chat) |
| API Key | 从 openrouter.ai/keys 获取 |
Ollama(本地模型):
| 参数 | 值 |
|---|---|
| API 类型 | Chat Completion |
| API 源 | Ollama |
| API 端点 URL | http://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 — 另一个活跃的角色卡平台,社区创作丰富
下载步骤:
- 打开 Chub.ai,在搜索框中输入你感兴趣的角色类型(例如”女仆”、“精灵”、“侦探”等)
- 进入角色详情页,点击 Download 按钮
- 选择 SillyTavern V2 格式下载(.png 格式,内含角色数据;或单独的 .json 文件)
关于角色卡格式:
SillyTavern 的角色卡主要有两种格式:
- .png 格式:角色卡图片+内嵌 JSON 数据,拖入即可使用,最方便
- .json 格式:纯 JSON 文件,不含图片,可用文本编辑器查看内容
新手下载 .png 格式即可,无需关心内部结构。实际上,.png 格式的角色卡就是一张普通图片,你可以直接双击查看角色的立绘,SillyTavern 会自动识别图片中嵌入的角色数据。
导入角色卡:
- 在 SillyTavern 界面中,点击左上角的 角色管理 图标(两个人形头像)
- 点击 导入角色 按钮
- 选择刚才下载的角色卡文件(.png 或 .json)
- 角色出现在列表中,点击即可加载
6.2 角色卡内部结构简介
虽然新手不需要关心角色卡的 JSON 结构,但了解以下字段有助于你理解 AI 如何”知道”自己要扮演谁:
| 字段 | 说明 | 示例 |
|---|---|---|
name | 角色名称 | 绫波丽 |
description | 角色外貌和初步描述 | 银色短发的少女... |
first_message | 角色开场白 | 你是...驾驶员吗? |
personality | 性格描述(AI 据此决定角色的语气和行为) | 冷静、寡言、执行力强 |
scenario | 当前场景设定 | NERV 总部,初号机驾驶舱前 |
system_prompt | 额外系统提示(可选) | 你是 EVA 的驾驶员... |
alternate_greetings | 可选的其他开场白(高级用法) | [] |
当你开始对话时,SillyTavern 会将这些信息连同你的输入一起发送给 AI 后端,后端据此生成符合角色设定的回复。
6.3 选择预设
预设(Preset)是 AI 生成参数的配置组合。SillyTavern 内置了多套预设,选择合适的预设对对话体验影响很大。
如何选择预设:
- 点击界面顶部的 预设管理(通常显示为当前预设名称,默认是
Default) - 展开预设列表,你会看到如
Simple-1、Midnight-Rhapsody、Tasuku等预设 - 每套预设针对不同场景做了优化
新手推荐预设:
| 预设 | 特点 | 适合 |
|---|---|---|
| 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 最强大的对话管理功能。你可以从对话历史的任何一条消息处分出新分支,走向不同的剧情方向:
- 点击你想分支的消息右上角的菜单(···)
- 选择 从此处分支
- 输入新的回复
- 对话从该点分叉成两个独立分支
- 你可以自由在分支间切换,互不影响
这相当于在游戏中有了”存档”功能——你对某个剧情走向不满意,完全可以回到之前的节点重新选择。
【建议截图】建议截取一张分支对话的界面示意图,展示两条不同分支在对话树中的可视化呈现。
7. 常见启动问题
以下整理了新手最常遇到的 5 个问题,每个问题附解决方案和诊断命令。
7.1 端口 8000 被占用
| 问题 | 说明 |
|---|---|
| 现象 | 启动时提示 EADDRINUSE: address already in use :::8000 |
| 原因 | 宿主机 8000 端口已被其他程序占用 |
| 解决方案 | 修改端口启动,或在 Podman 映射时指定不同端口 |
Podman 方式(修改宿主机映射端口):
# 将宿主机 8080 映射到容器 8000podman stop sillytavernpodman rm sillytavernpodman run -d \ --name sillytavern \ -p 8080:8000 \ -v sillytavern-data:/home/node/app/data \ ghcr.io/sillytavern/sillytavern:latest# 之后通过 http://localhost:8080 访问手动安装方式(修改配置文件端口):
# 方法一:启动时指定端口PORT=8080 npm start
# 方法二:修改 config.yaml# 编辑 config.yaml,修改 port: 8080诊断命令:
# 查看谁占用了 8000 端口# Linux / macOSlsof -i :8000
# Windows(PowerShell)netstat -ano | findstr :80007.2 Node.js 版本过低
| 问题 | 说明 |
|---|---|
| 现象 | npm install 或 npm start 时报错:Engine "node" is incompatible 或 error: ... requires XXX but got ... |
| 原因 | 手动安装需要 Node.js 18+,推荐 22 LTS;版本过低导致依赖无法安装 |
| 解决方案 | 使用 fnm 或 nvm 升级 Node.js |
# 查看当前版本node --version
# 使用 fnm 切换到 Node.js 22fnm install 22fnm use 22
# 或使用 nvmnvm install 22nvm use 22
# 验证node --version # 应输出 v22.x.x诊断命令:
# 查看所有已安装的 Node.js 版本fnm list# 或nvm ls
# 查看当前版本node --version7.3 API 连接超时
| 问题 | 说明 |
|---|---|
| 现象 | 点击”连接”后长时间无响应,最终提示 Connection timeout 或 fetch failed |
| 原因 | 本地网络无法访问 AI 后端的 API 域名 |
| 解决方案 | 配置网络代理或更换网络环境 |
场景一:需要科学上网访问 DeepSeek
DeepSeek API 在国内部分地区可以直接访问,但部分网络环境下可能需要代理:
# Linux / macOS(临时设置环境变量启动 SillyTavern)HTTP_PROXY=http://127.0.0.1:7890 \HTTPS_PROXY=http://127.0.0.1:7890 \npm start对于 Podman 方式,通过环境变量传递给容器:
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 在你的网络下可访问)。
诊断命令:
# 测试网络连通性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 用 tracert7.4 Podman 容器启动失败
| 问题 | 说明 |
|---|---|
| 现象 | podman run 后 podman ps 没有输出,访问 localhost:8000 失败 |
| 原因 | 容器启动后立即退出(通常是配置错误或权限问题) |
| 解决方案 | 查看容器日志定位具体原因 |
# 查看所有容器(包括已停止的)podman ps -a
# 查看容器日志(最关键的一步)podman logs sillytavern
# 常见日志输出及含义:# "Error: listen EACCES :8000" -- 权限不足,尝试使用 1024 以上端口# "Error: Cannot find module 'express'" -- 镜像拉取不完整,重新 pull其他诊断命令:
# 检查容器配置podman inspect sillytavern
# 查看容器资源使用(确认是否 OOM 被杀死)podman stats sillytavern
# 检查端口映射podman port sillytavern应急处理:
# 删除失败容器重新创建podman rm sillytavernpodman run -d \ --name sillytavern \ -p 8000:8000 \ -v sillytavern-data:/home/node/app/data \ ghcr.io/sillytavern/sillytavern:latest7.5 响应截断或乱码
| 问题 | 说明 |
|---|---|
| 现象 | AI 回复突然中断、内容不完整,或出现乱码字符 |
| 原因 | Token 限制过低(上下文用完)、编码不兼容、或预设参数不合适 |
| 解决方案 | 调整上下文长度和回复长度限制 |
调整预设参数:
- 打开 预设管理 → 选择当前使用的预设 → 编辑
- 增加以下参数:
- Context Size:从默认值增大到 8192 或 16384(DeepSeek 支持最高 64K)
- Response Length:从默认 300 增大到 600-800
- 注意:增大 Context Size 会增加每次 API 调用的 token 消耗(但 DeepSeek 价格极低,几乎可忽略)
编码问题排查:
# 确认 SillyTavern 服务器日志中没有编码告警# 检查 config.yaml 中是否有编码设置cat config.yaml | grep -i encoding如果只是在界面中看到少量乱码字符(如 \uXXXX),通常是因为预设中选择了不支持该字符集的模型配置。切换到 Simple-1 预设即可解决。
诊断命令:
# 在 SillyTavern 中发送测试短句# 如果短句正常、长句截断 → 增大 Context Size# 如果短句也乱码 → 检查预设或切换模型# 如果回复完整但质量差 → 调整 Temperature(建议 0.8-1.0)以上就是 SillyTavern 入门篇的全部内容。你现在已经完成了从零到第一次对话的全流程操作:了解了 SillyTavern 的定位,选择了最适合新手的 DeepSeek 后端,完成了环境准备和安装,配置了 API 连接,加载了角色卡,并掌握了基本的对话操作技巧。
下一步可以阅读本系列第二篇:角色工程与功能扩展,深入学习角色卡深度定制、世界书创建、高级对话控制、插件系统(TTS/绘图),以及 Ollama 本地模型部署。
如果你在配置过程中遇到本文未覆盖的问题,推荐以下求助渠道:
- 查文档:https://docs.sillytavern.app/
- GitHub Issues:https://github.com/SillyTavern/SillyTavern/issues(搜索已有问题再开新帖)
- Discord:https://discord.gg/sillytavern(中文用户可在
#language-chinese频道交流) - DeepSeek 官方文档:https://platform.deepseek.com/api-docs/