SillyTavern:3.5 万 star 的角色扮演前端,DeepSeek 当它的脑子
写小说、跑团、和角色聊天用的前端。它自己不含模型,接上 DeepSeek 之后有长期记忆、角色卡、世界书这些东西。
这个工具的评价两极分化:有人觉得它是写小说的神器,有人觉得它是"奇怪的玩具"。
客观说:SillyTavern 是一个把"长期对话"做到极致的聊天前端。它自己不带模型,你接什么它就用什么——DeepSeek 是性价比最高的一种。
3.5 万 star,地址:
https://github.com/SillyTavern/SillyTavern
它解决什么问题
普通聊天工具有一个共同毛病:聊久了它就忘了前面。上下文满了就丢开头,角色设定慢慢被冲淡。
SillyTavern 围绕"不忘记"做了很多设计:
- 角色卡:一份定义(外貌、性格、说话方式),每轮都注入;
- 世界书:背景设定、地名、人物关系,相关时才注入;
- 聊天摘要:自动把早期对话压缩成摘要;
- 作者注释:可以插入临时指令,影响接下来几轮的语气。
这些加起来,才让"连续几万字的对话"变得可能。
装
Docker 一条:
services:
sillytavern:
image: ghcr.io/sillytavern/sillytavern:latest
container_name: sillytavern
ports: ["8000:8000"]
volumes: ["./config:/home/node/app/config", "./data:/home/node/app/data"]
restart: unless-stopped
或者用它的启动脚本(Windows/macOS/Linux 都有)。默认端口 8000。
接 DeepSeek
打开界面,点右上角那个插头图标(API 连接):
| 字段 | 填什么 |
|---|---|
| API | OpenAI 兼容(Chat Completion) |
| 服务器 URL | https://api.deepseek.com/v1 |
| API Key | sk-... |
| 模型 | deepseek-chat |
点"连接",成功后下面会显示模型信息。
用哪个模型:deepseek-chat 更自然,适合对话和叙事;deepseek-reasoner 会"想太多",写出来的东西偏理性,角色扮演反而不像人。
角色卡怎么来
三种方式:
- 内置的示例:装完就有几个;
- 导入 PNG:社区的角色卡是 PNG 图片,把设定藏在图片元数据里,拖进去就导入了;
- 自己写:点角色 → 编辑,填名字、描述、性格、开场白。
自己写的时候,描述写具体比写长更重要。“说话简短、爱用反问、不喜欢解释"比"性格复杂"有用。
写小说怎么用
这是它对普通用户最有价值的用法。
- 建一个角色,描述里写上你小说的主角设定;
- 世界书里写世界观(时代、地点、规则);
- 开场用一段场景描写;
- 之后每一轮,你写一段,它续一段。
关键是作者注释。比如插入一句 [语气克制,多用短句,不要出现心理描写],接下来几轮它就会按这个风格写。
比在对话框里反复强调有效得多,因为它被放在提示词的特定位置。
几个设置值得调
上下文长度:DeepSeek 支持 64K,但别一次用满——长了又慢又贵。设 16K 左右够用。
温度:写小说 0.9–1.1,让语言有变化;如果是理性对话,0.7。
回复长度:设 200–400 token,太短像敷衍,太长它开始注水。
流式输出:开着,不然等半天没反应。
会踩的坑
连接失败
URL 少了 /v1,或者走了需要代理的网络。
角色说话越来越不像 上下文被早期内容挤满了。开"聊天摘要”,或者手动删掉很久以前的对话。
中文角色名乱码
容器 locale 问题。用 compose 加 LANG=C.UTF-8。
费用上去了 它每轮发的上下文比普通聊天长得多(角色卡+世界书+摘要)。把世界书条目设成"按关键词触发",别全量注入。
外网访问 它默认没有账号体系。别直接开公网,前面套反代加认证。
它适合谁
- 写小说、写剧本,需要"角色不崩"的;
- 跑团、角色扮演爱好者;
- 对"长期记忆"有需求的应用场景。
不适合:只想问问题的(用 Chatbox 更快更省);不习惯英文界面的(虽然支持中文,但配置项很多是英文)。
最后
SillyTavern 的技术含量不在界面,在提示词工程:角色卡、世界书、摘要、注释,本质是在有限的上下文里塞进最重要的信息。
这套东西用在角色扮演上是娱乐,用在别处就是"怎么让 AI 记住你的业务规则"。
同一个问题,两种用途。
有问题留言。
留言