SillyTavern 角色扮演前端
本页拆解 SillyTavern——开源 LLM 角色扮演前端的标杆:角色卡系统、世界书向量注入、提示模板引擎、多 API 后端集成。它是提示工程 + RAG + 上下文管理的综合实践范例,也是理解”如何用 LLM 搭建产品”的绝佳案例。
这个产品是什么
Section titled “这个产品是什么”SillyTavern(2023 年 2 月 fork 自 TavernAI 1.2.8)是一个开源的 LLM 前端 Web UI,专为角色扮演(Roleplay)和 AI 聊天设计。它本身不包含模型,而是作为通用前端,连接各种 LLM 后端(OpenAI、Claude、Gemini、DeepSeek、KoboldAI、Ollama、本地模型等),并提供角色管理、世界设定、提示模板等丰富的交互层。
截至 2026 年中,SillyTavern 已发布到 1.18.0 版本,拥有超过 300 名贡献者和三年的独立开发历史,是 AI 爱好者社区最活跃的开源前端项目之一。项目采用 AGPL-3.0 许可证,完全免费,由社区驱动——核心维护者 cohee(RossAscends)、rossascends、wolfsblvt 等人在 Discord 和 GitHub 上直接与用户互动。
它的核心理念:让用户完全控制 LLM 的提示构造过程——从系统提示到上下文组装,从角色人设到记忆注入,每个环节都可自定义。官方文档直言不讳地称之为”LLM Frontend for Power Users”(面向高级用户的 LLM 前端),将陡峭的学习曲线视为”乐趣的一部分”。
把 SillyTavern 理解为一个LLM 管弦乐团的指挥台:
- 演员(角色卡 Character Card):定义谁在说话、什么性格、什么口吻
- 剧本(世界书 Lorebook):定义舞台背景、关系网络、事件触发
- 编排(提示模板 Prompt Template):决定上述信息如何拼接成最终的 prompt
- 场地(API 后端):决定用哪个 LLM 演出——可以是云端 GPT-5、也可以是本地跑的 Llama
你作为导演,控制每个环节的参数,而 LLM 根据你的编排即兴表演。
与同类产品的定位差异
Section titled “与同类产品的定位差异”| 产品 | 定位 | 开源 | 模型来源 | 控制粒度 |
|---|---|---|---|---|
| SillyTavern | 高级用户角色扮演前端 | ✅ AGPL-3.0 | 任意后端(云端+本地) | 极高(可干预每一步 prompt) |
| Character.AI | 大众化角色聊天平台 | ❌ | 平台自有模型 | 低(平台全权控制) |
| Open WebUI | 通用 LLM 聊天前端 | ✅ | 多后端 | 中等 |
| text-generation-webui | 本地 LLM 推理 UI | ✅ | 仅本地模型 | 高 |
SillyTavern 的独特价值在于它是”前端中的前端”——不绑定任何模型,不做任何内容审查,把所有控制权交给用户。这使它成为角色扮演(RP)社区的事实标准工具,也是学习 LLM 应用架构的活教材。
技术架构拆解
Section titled “技术架构拆解”SillyTavern 整体架构
Section titled “SillyTavern 整体架构”SillyTavern 是一个经典的前后端分离架构:Node.js 后端负责 API 代理、文件管理、安全校验;前端是一个丰富的 SPA(单页应用),负责 UI 渲染和用户交互。后端同时充当 API 网关——它将用户前端发来的请求转换为各 LLM 后端的专属格式,这意味着你的 API Key 永远只存在本地,不经过第三方。
架构关键设计:后端是一个 Express.js 应用,监听本地端口(默认 8000)。它不仅是静态文件服务器,更承担了以下职责:
- API 代理:转发请求到各 LLM 后端,处理认证、重试、流式转发
- 文件管理:角色卡、世界书、聊天记录都存在本地文件系统(
data/目录)- 安全隔离:2025-2026 版本大幅增强了 SSRF 防护、速率限制、会话安全等措施
提示组装流水线
Section titled “提示组装流水线”SillyTavern 最核心的技术是提示组装(Prompt Assembly)——决定哪些信息、以什么顺序、占用多少 token(token 是 LLM 处理文本的基本单位,大致 1 token ≈ 0.75 个英文单词或 0.5 个汉字)预算拼接成最终喂给 LLM 的 prompt:
这个流水线的精妙之处在于token 预算管理:当角色描述 + 世界书 + 对话历史的总 token 数超过模型的上下文窗口(Context Window,即模型一次能处理的最大文本长度)时,SillyTavern 会按优先级裁剪——最近对话保留,早期对话被摘要或丢弃,低优先级世界书条目被跳过。
关键技术点详解
Section titled “关键技术点详解”1. 角色卡系统(Character Cards)
Section titled “1. 角色卡系统(Character Cards)”角色卡是 SillyTavern 最基础也最重要的概念。一张角色卡包含:
- 名字/头像:角色的基本标识
- 描述(Description):角色的人设、性格、外貌、背景
- 第一条消息(First Message):角色开场白,设定初始场景
- 示例对话(Alternate Greetings):展示角色说话风格的多组示例
- 场景备注(Scenario / Personality):额外的人设维度
进阶格式支持将角色卡嵌入 PNG 图片的元数据中(Character Card V2/V3 规范),实现”一张图片即一个角色”——分享角色只需分享图片。SillyTavern 1.17+ 进一步增强了 CharX 格式(压缩包格式)的导入逻辑,支持提取角色卡内嵌的多媒体资源(如声音样本、精灵图)。
设计哲学:角色卡本质上是一个结构化的 prompt 包。与其让用户手写冗长的系统提示,SillyTavern 将人设拆解为多个语义字段,每个字段在最终 prompt 中占据明确的位置和优先级。这种”结构化 → 模板化 → 组装”的思路,正是工程化 prompt 管理的核心范式。
V2/V3 规范的技术细节
Section titled “V2/V3 规范的技术细节”角色卡 V2 规范(2023 年确立)使用 JSON 格式,核心字段包括 name、description、personality、scenario、first_mes、mes_example、creator_notes、system_prompt、post_history_instructions、tags、character_book(内嵌世界书)等。V3 规范(2025 年逐步推广)进一步增加了 assets(多媒体资源)、creator_controls(创作者控制)、extensions(扩展字段)等。
PNG 元数据嵌入利用了 PNG 格式的 tEXt chunk——将角色 JSON 数据 Base64 编码后写入图片的元数据字段。这意味着角色图片在任何图片查看器中都能正常显示,但 SillyTavern 能从中提取完整的角色定义。类似技术也用于 AI 绘图的 EXIF 元数据。
2. 世界书(Lorebook / World Info)
Section titled “2. 世界书(Lorebook / World Info)”世界书是 SillyTavern 的记忆系统,本质上是一个基于关键词触发的知识库 + 可选向量检索。详见 AI Dungeon 与 NovelAI 中的 World Info 概念,SillyTavern 的实现更加完善:
- 关键词触发:定义条目的激活关键词,对话中出现时注入
- 递归扫描:A 条目注入后,其内容中的关键词又触发 B 条目,形成连锁反应
- 选择性 / 常驻 / 禁用:灵活控制条目何时激活
- 向量化检索(Vector Storage 扩展):对世界书条目和聊天历史做嵌入(Embedding,即把文本转化为高维向量,使语义相近的文本在向量空间中距离更近),用语义相似度模糊匹配触发——这正是 RAG 的核心思想
- 扫描深度:控制往回扫描多少轮对话寻找关键词
- 插入位置:控制在 prompt 中的注入位置(系统提示后 / 对话前 / 对话后 / 甚至精确到 token 深度)
这是 RAG(Retrieval-Augmented Generation,检索增强生成) 在角色扮演场景的精细化实践。与传统 RAG 从外部文档库检索不同,世界书检索的是用户精心构建的虚构世界观——每一个注入的条目都是”角色应该知道但不必每次提醒的背景知识”。
与传统 RAG 的区别:标准 RAG 是”用户提问 → 检索相关文档 → 注入 prompt”的一次性流程。世界书则是”持续监听对话 → 多层级关键词匹配 → 递归扩展 → 动态注入”的实时流程,更接近一个智能化的动态知识上下文管理器。
1.17 版本引入了世界书重命名时自动跨角色重新链接(relink)的功能,1.18 版本增加了世界条目删除确认预览对话框,大幅改善了大型世界书的管理体验。详见 RAG 检索增强生成、向量数据库 和 Embedding 模型。
3. 提示模板(Prompt Templates / Presets)与 Macros 2.0
Section titled “3. 提示模板(Prompt Templates / Presets)与 Macros 2.0”SillyTavern 的提示模板系统让用户精确控制 prompt 的结构。两种核心 API 模式:
- Chat Completion 模式:面向指令微调模型(GPT-5、Claude、Gemini、DeepSeek),用 system/user/assistant 角色标记的对话格式
- Text Completion 模式:面向基础模型(无指令微调的开源模型),纯文本拼接对话
预设(Preset)保存了温度(Temperature,控制输出随机性,角色扮演通常用 0.8-1.0)、频率惩罚(Frequency Penalty)、上下文长度、提示顺序等全套参数,不同角色可以加载不同预设。
Macros 2.0 宏引擎(1.15.0 引入,1.17.0 默认启用)
Section titled “Macros 2.0 宏引擎(1.15.0 引入,1.17.0 默认启用)”2025 年最重要的架构升级之一是 Macros 2.0——一套全新的宏系统,支持:
- 嵌套宏:
{{if A {{getvar B}} default}}这样的条件分支和嵌套求值 - 稳定求值顺序:解决旧版宏在不同上下文中行为不一致的问题
- 变量赋值与比较:
{{setvar x 5}}、{{getvar x}}、比较运算符 - 作用域宏:宏参数可以限定作用范围
- 自动补全:在大多数文本输入框中按
Ctrl+Space触发宏名自动补全
这让角色卡和世界书中的动态逻辑变得极其强大——例如可以根据对话进度自动切换角色的情绪状态、根据变量值选择不同的叙事分支。
详见 提示工程。
4. 多 API 后端支持
Section titled “4. 多 API 后端支持”SillyTavern 的后端适配层是其架构设计的亮点——一套 UI 支持二十多种 LLM 后端。2025-2026 年新增的后端包括 Cloudflare Workers AI、MiniMax、SiliconFlow、NanoGPT、Z.AI、Chutes、Azure OpenAI、Electron Hub 等,以及对 DeepSeek v4、GPT 5.4/5.5、Gemma 4、GLM-5V-Turbo、Claude Opus 4.7 等最新模型的同步支持。
| 后端类型 | 代表 | 特点 | 适合场景 |
|---|---|---|---|
| 云端商业 API | OpenAI、Claude、Gemini、DeepSeek | 质量最高,需付费 | 最佳角色扮演体验 |
| 云端聚合 API | OpenRouter、NanoGPT、SiliconFlow | 多模型一站式,性价比高 | 灵活切换、成本优化 |
| 本地推理 | KoboldCpp、Ollama、llama.cpp | 完全本地,隐私无忧 | 隐私敏感、零成本 |
| 社区算力 | AI Horde、Electron Hub | 众包 GPU,免费额度 | 零门槛试用 |
这种设计模式——核心逻辑与后端解耦(通过适配器模式 Adapter Pattern 实现接口统一)——是 LLM 应用开发的通用最佳实践。详见 LLM 推理优化 和 模型选择指南。
5. 群聊模式(Group Chat)
Section titled “5. 群聊模式(Group Chat)”群聊模式让多个角色在同一对话中交互,技术上涉及:
- 角色轮换调度:决定下一个发言的角色(顺序 / 随机 / 自然选择——由 LLM 判断谁该说话)
- 多角色上下文:每个角色的发言需要标注说话者身份
- 角色间互动:LLM 理解”角色 A 对角色 B 说”的关系
- 标签过滤(1.16.0+):群聊成员列表支持按标签筛选
6. 多模态扩展生态
Section titled “6. 多模态扩展生态”SillyTavern 不仅是文本聊天前端,通过扩展系统它支持:
- TTS(Text-to-Speech)语音合成:支持 ElevenLabs、Volcengine、GPT-SoVITS、MiniMax、Electron Hub 等多个语音提供商,可为角色赋予独特声音
- 图像生成:集成 Stable Diffusion、FLUX、DALL-E、Z.AI,甚至支持 Sora 2 和 Veo 视频生成(1.14.0+),让角色”说话”时同步生成画面
- 精灵表情(Sprites):角色根据对话情绪自动切换立绘表情
- 图像/视频描述(Captioning):用户上传图片或视频,AI 自动理解内容并纳入对话——多模态 LLM 的应用
- 网络搜索:为角色注入实时世界知识,打破 LLM 训练数据的时效限制
- Vector Storage(向量存储):内置 RAG 扩展,支持 OpenRouter、SiliconFlow、Workers AI、Ollama、NanoGPT 等作为 embedding 提供商
7. STscript 脚本引擎
Section titled “7. STscript 脚本引擎”SillyTavern 内置了一套完整的脚本子系统(STscript),允许用户编写自动化逻辑:
- 斜杠命令:
/char-create、/swipe、/regenerate、/persona-create等数十种命令 - 条件与循环:结合 Macros 2.0 实现复杂的自动化流程
- 事件钩子:扩展可以监听
PERSONA_CHANGED、TTS_JOB_COMPLETE、WORLDINFO_SCAN_DONE等事件 - 工具调用(Tool Calling):1.18.0 增加了可配置的工具调用递归限制和交错思维(interleaved thinking)支持,使 LLM 能在角色扮演中调用外部工具
这使得 SillyTavern 从一个”聊天 UI”进化为可编程的LLM 应用运行时——理论上可以用它搭建一个自动推进剧情的文字冒险游戏引擎。
用 Python 模拟 SillyTavern 的提示组装
Section titled “用 Python 模拟 SillyTavern 的提示组装”以下代码演示了 SillyTavern 提示组装流水线的核心逻辑——系统提示 + 关键词扫描的世界书注入 + 对话历史拼接:
from openai import OpenAI
client = OpenAI()
# === 角色卡定义 ===character = { "name": "艾莉娅", "description": "精灵族游侠,冷静寡言,擅长弓术,对人类文化好奇。", "personality": "沉稳,观察力强,偶尔流露幽默。", "first_message": "你走进密林深处,一位银发精灵从树上轻巧落下,手握长弓注视着你。",}
# === 世界书条目(关键词触发)===# 关键词用 | 分隔,匹配任一即注入lorebook = { "密林|森林": "银月密林:古老精灵族的领地,充满了魔法生物和隐藏路径。", "长弓|弓术": "精灵长弓:以世界树枝条制成,箭矢自带追踪魔法。", "魔法|法术": "密林中的精灵精通自然魔法,能与动植物沟通。",}
# === 提示组装器(模拟 SillyTavern 的 Prompt Manager)===def build_prompt(character, lorebook, chat_history, user_input): # 1. 系统提示(定义 AI 角色) system = f"你在扮演{character['name']}。{character['description']}性格:{character['personality']}"
# 2. 扫描关键词,注入世界书(递归扫描的简化版) scan_text = user_input + "".join([m["content"] for m in chat_history[-3:]]) activated = set() for keywords, desc in lorebook.items(): if any(kw in scan_text for kw in keywords.split("|")): system += f"\n[世界设定] {desc}" activated.add(keywords)
# 3. 递归扫描:检查已注入条目的内容是否触发更多条目 combined = system + scan_text for keywords, desc in lorebook.items(): if keywords not in activated and any(kw in combined for kw in keywords.split("|")): system += f"\n[世界设定·递归] {desc}"
# 4. 组装完整消息列表 messages = [{"role": "system", "content": system}] messages += chat_history messages.append({"role": "user", "content": user_input}) return messages
# 主循环history = [{"role": "assistant", "content": character["first_message"]}]while True: user_input = input("\n> ") if user_input == "quit": break messages = build_prompt(character, lorebook, history, user_input) resp = client.chat.completions.create( model="gpt-4o-mini", messages=messages, max_tokens=200, temperature=0.85, # 高温度增强角色扮演的随机感 ) reply = resp.choices[0].message.content history.append({"role": "user", "content": user_input}) history.append({"role": "assistant", "content": reply}) print(f"\n艾莉娅:{reply}")用 Ollama 搭建本地后端
Section titled “用 Ollama 搭建本地后端”# 安装 Ollama 并拉取模型curl -fsSL https://ollama.com/install.sh | shollama pull llama3.1:8b # 拉取 8B 参数模型(GGUF 量化格式)
# 启动本地 API 服务(默认端口 11434)ollama serve
# 在 SillyTavern 设置中选择 "Chat Completion (OpenAI)"# API URL: http://localhost:11434/v1# 模型名: llama3.1:8b# 即可在本地完全离线运行角色扮演——零 API 费用、完全隐私量化部署(Quantization):消费级 GPU(8-12GB VRAM)推荐使用 Q4_K_M 量化版本——量化是将模型权重从 16-bit 压缩到 4-bit 的技术,牺牲少量精度换取大幅显存节省。一个 8B 参数的模型在 Q4_K_M 量化下约占 5GB 显存,可以在 RTX 3060 上流畅运行。详见 小模型与端侧部署。
用 Docker 部署(推荐生产方案)
Section titled “用 Docker 部署(推荐生产方案)”# 1.16.0+ 大幅改进了 Docker 支持,包括非 root 用户和无 volume 模式docker run -d \ --name sillytavern \ -p 8000:8000 \ -v sillytavern_data:/home/node/app/data \ -v sillytavern_config:/home/node/app/config \ --restart unless-stopped \ ghcr.io/sillytavern/sillytavern:latest
# 访问 http://localhost:8000 即可使用# 首次访问会要求设置密码(basic auth)商业模式与生态分析
Section titled “商业模式与生态分析”为什么 SillyTavern 选择完全免费开源
Section titled “为什么 SillyTavern 选择完全免费开源”SillyTavern 采用 AGPL-3.0 许用证,明确拒绝接受项目层面的金钱捐赠。这不是偶然——它是角色扮演社区文化的产物:
- AGPL-3.0 的传染性:任何基于 SillyTavern 的网络服务必须开源其修改——这阻止了商业公司轻易”套壳”获利,保护了社区利益
- 个人捐赠模式:核心贡献者接受个人 Patreon/Ko-fi 捐赠,但不影响项目方向——这是一种”赞助人而非雇主”的关系
- 社区驱动开发:300+ 贡献者以兴趣为导向,功能优先级由社区讨论(Discord)而非商业 KPI 决定
SillyTavern 在角色扮演生态中的位置
Section titled “SillyTavern 在角色扮演生态中的位置”角色扮演生态形成了清晰的分层:模型层(谁提供推理能力)→ 中间层(怎么调用)→ 前端层(用户怎么交互)→ 内容层(角色从哪来)。SillyTavern 横跨前端层,同时通过扩展生态延伸到内容层(Chub.ai 角色下载)和中间层(Vector Storage、网络搜索)。
竞争格局(2025-2026)
Section titled “竞争格局(2025-2026)”- Character.AI:2025 年被 Google 收购部分技术团队后转向,大量用户流向开源替代品,SillyTavern 直接受益
- NovelAI:付费订阅制,拥有自研模型和优质 UI,但闭源限制了定制能力
- Open WebUI:功能更通用(不只是角色扮演),但对 RP 场景的优化不如 SillyTavern 深入
- JanitorAI:网页端角色聊天平台,自带模型服务,但用户无法控制 prompt
SillyTavern 的护城河在于社区积累的深度——数万个角色卡、世界书预设、提示模板,以及多年迭代形成的精细控制选项,这些不是资金能快速复制的。
技术选型建议
Section titled “技术选型建议”什么时候选择 SillyTavern
Section titled “什么时候选择 SillyTavern”| 需求 | 推荐度 | 理由 |
|---|---|---|
| 深度角色扮演聊天 | ⭐⭐⭐⭐⭐ | 核心场景,功能最完善 |
| 隐私敏感的对话 | ⭐⭐⭐⭐⭐ | 可搭配本地模型,完全离线 |
| 互动小说 / 文字冒险 | ⭐⭐⭐⭐ | 世界书 + 群聊模式可构建复杂世界 |
| 简单问答 / 通用助手 | ⭐⭐ | 过于复杂,杀鸡用牛刀 |
| 团队协作场景 | ⭐⭐ | 单用户设计,无协作功能 |
| 内容审查严格的企业场景 | ⭐ | 无内置审查,需自行加 Guardrails |
本地模型 vs 云端模型的选择
Section titled “本地模型 vs 云端模型的选择”- 追求最佳角色扮演效果:GPT-5 / Claude Opus 4.7 等顶级云端模型,推理能力最强、上下文最长、角色一致性最好
- 追求性价比:DeepSeek v4(性价比极高的开源大模型)或通过 OpenRouter 聚合平台按需选择
- 追求隐私和零成本:Llama 3.3 70B(本地需 48GB+ VRAM)或 Gemma 3 27B / Qwen 2.5 14B(消费级 GPU 可跑)
- 消费级硬件推荐:Gemma 3 12B 或 Llama 3.1 8B,Q4_K_M 量化,搭配 SillyTavern 的 Text Completion 模式
2025-2026 最新进展
Section titled “2025-2026 最新进展”版本 1.14.0 — 1.18.0 亮点
Section titled “版本 1.14.0 — 1.18.0 亮点”SillyTavern 在 2025-2026 年保持约每月一个大版本的迭代节奏,以下是关键里程碑:
1.14.0(2025 年初)
- 新增 Z.AI、SiliconFlow 作为 Chat Completion 来源
- 支持单条消息附带多个文件和图片(多模态对话)
- 支持音频文件附件和音频内联(Gemini / OpenRouter)
- 图像生成新增 Veo(Google)和 Sora 2(OpenAI)视频生成模型
1.15.0(2025 年 Q2)
- Macros 2.0 预览版:全新宏引擎,支持嵌套、稳定求值顺序
- Vector Storage 新增 Chutes、NanoGPT 作为 embedding 提供商
- 语音识别扩展新增多个 STT 来源
- 统一群聊元数据格式
1.16.0(2025 年中)
- Macros 2.0 正式完善:自动补全、作用域、条件判断、变量运算
- Swipe Picker(多版本回复浏览器)新界面
- 新增 Volcengine、GPT-SoVITS 适配器作为 TTS 提供商
- Docker 构建优化,支持非 root 容器用户
- 背景图片虚拟文件夹与网格视图
1.17.0(2025 年 Q4)
- 要求 Node.js 20+(弃用旧版 Node)
- Macros 2.0 对新安装默认启用
- Claude 自适应思维(Adaptive Thinking)支持
- 世界书跨角色重新链接功能
- 全新的启动画面和背景文件夹管理
- 新增大量 STscript 命令(角色管理、生成控制、推理块控制)
1.18.0(2026 年初)
- 新增 Cloudflare Workers AI、MiniMax 作为 Chat Completion 来源
- 同步支持 DeepSeek v4、GPT 5.4/5.5、Gemma 4、GLM-5V-Turbo、Claude Opus 4.7
- 重大安全更新:SSRF 防护、私有地址白名单、速率限制、会话 Cookie 失效、PKCE OAuth 流程
- 移除 post-install 脚本,改用
npm run init命令——防止供应链攻击 - 扩展生命周期钩子(manifest 声明式激活)
- 工具调用递归限制和交错思维支持
安全事件与社区治理
Section titled “安全事件与社区治理”2025-2026 年期间,第三方扩展 “Bot Browser” 发生了安全事件(issue #5592),维护者发布了正式声明。这一事件促使 SillyTavern 在 1.18.0 中大幅加强了扩展安全机制:
- 安装第三方扩展时增加额外确认提示
- 扩展列表区分”官方”和”社区”分类
- 扩展支持使用 Connection Profile 中的 secret-id 进行 LLM 请求
- 显示扩展作者名(从 git remote URL 解析)
- 角色卡描述要具体:避免”温柔善良”这类空洞描述,用具体行为示例(“会在说重话后立刻道歉”)更有效。LLM 对具体的行为指令比抽象形容词更敏感。
- 世界书条目要有递归设计:核心设定条目之间互相引用关键词,形成自洽的世界观网络。例如”密林”条目提到”世界树”,“世界树”条目触发”精灵长弓”条目。
- 预设要匹配模型:不同模型对 prompt 格式敏感——指令模型(Instruct 模型,经过 RLHF 对齐训练)用 Chat Completion 模式,基础模型用 Text Completion 模式。详见 提示工程。
- Token 预算要精打细算:角色描述 + 世界书 + 对话历史争抢有限上下文窗口,用 SillyTavern 的 token 计数器实时监控。优先级:最近对话 > 核心世界书 > 角色描述 > 示例对话。
- 本地模型优先选 GGUF 量化版:消费级 GPU(8-12GB VRAM)推荐 Q4_K_M 量化。详见 小模型与端侧部署。
- 善用作者注(Author’s Note):用简短的场景备注临时引导叙事方向,比修改角色卡更灵活。1.18.0 支持在作者注中使用宏。
- 善用 Swipe(多版本回复):对不满意的回复向右滑动生成新版本,1.16.0+ 的 Swipe Picker 可以浏览、分支、删除不同版本。
- 利用 Connection Profile 管理多后端:为不同角色配置不同的 API 后端和参数组合,一键切换。
典型应用场景
Section titled “典型应用场景”- AI 角色扮演聊天:与自定义角色深度对话,体验不同的故事和关系。这是 SillyTavern 最核心的使用场景。
- 互动小说 / 文字冒险:配合世界书构建完整虚构世界,AI 根据玩家输入推进剧情——相当于自己做一个 AI Dungeon。
- 语言学习对话伙伴:设定外语角色卡,练习真实场景对话。高温度设置让对话更自然多变。
- 心理咨询模拟:设定心理咨询师角色卡,用于训练或自我探索(非专业替代)。
- 创意写作辅助:用角色扮演方式探索故事走向,激发写作灵感。群聊模式可以让多个角色”讨论”剧情。
- 自动化 LLM 流程:利用 STscript 编写自动化任务,如批量角色测试、自动化数据标注(配合 Tool Calling)。
典型类库与工具
Section titled “典型类库与工具”| 工具 | 类型 | 说明 |
|---|---|---|
| SillyTavern | Web 前端 | 开源 LLM 角色扮演前端,本页主角 |
| KoboldCpp / KoboldAI | 本地推理 | 开源 LLM 文字冒险引擎+推理后端,SillyTavern 常用后端 |
| Ollama | 本地推理 | 一键部署开源 LLM,极简 API,最适合新手 |
| text-generation-webui | 本地推理 | 开源 LLM Web UI,支持角色卡 |
| Chub.ai | 角色社区 | 角色卡和世界书分享社区,SillyTavern 内置下载支持 |
| llama.cpp | 推理框架 | 高效本地 LLM 推理,GGUF 格式的创造者 |
| OpenRouter | API 聚合 | 300+ 模型统一 API,SillyTavern 深度集成 |
| Open WebUI | 通用前端 | 类似定位但更偏通用聊天,见 Open WebUI 与 Ollama |
| 术语 | 英文 | 解释 |
|---|---|---|
| 角色卡 | Character Card | 定义角色人设、性格、示例对话的配置文件,可嵌入 PNG 元数据 |
| 世界书 | Lorebook / World Info | 基于关键词和向量触发的世界设定知识库,SillyTavern 的记忆系统 |
| 预设 | Preset | 保存温度、上下文长度、提示顺序等参数的配置 |
| 提示模板 | Prompt Template | 控制 prompt 结构和拼接顺序的模板 |
| 提示组装 | Prompt Assembly | 将角色、世界书、对话历史拼接为最终 prompt 的过程 |
| 递归扫描 | Recursive Scanning | 世界书条目注入后,其内容触发更多条目的连锁机制 |
| 群聊模式 | Group Chat | 多个角色在同一对话中轮流发言的模式 |
| 宏 | Macro | 模板中的动态占位符(如 {{char}}),Macros 2.0 支持嵌套和条件 |
| 向量存储 | Vector Storage | 对文本做嵌入并向量化,用于语义检索的扩展 |
| Swipe | Swipe(多版本回复) | 对同一输入生成多个回复版本,用户可浏览选择 |
| STscript | STscript | SillyTavern 内置的斜杠命令脚本系统 |
| 用户人设 | Persona | 定义用户自身身份信息的配置,用于增强角色对用户的认知 |
- 同生态产品:AI Dungeon 与 NovelAI 是同类型产品,世界书概念有交叉。
- RAG 原理:世界书的向量检索本质就是 RAG,详见 RAG 检索增强生成。
- 提示工程:提示模板和预设的底层技术,详见 提示工程。
- 上下文工程:如何管理 token 预算和上下文窗口,详见 上下文工程。
- 本地部署:Ollama/llama.cpp 的使用指南,详见 LLM 推理优化 和 小模型与端侧部署。
- 向量检索技术:世界书向量化的底层原理,详见 Embedding 模型 和 向量数据库。
- 流式推理:SillyTavern 的流式文本输出原理,详见 流式推理。