方案一:VPS 手动部署
SillyTavern 本质是一个 Node.js 前端服务,负责管理角色卡、聊天记录、预设与后端 API 连接。部署方式的选择取决于三件事:是否要 7×24 在线、是否有公网访问需求、以及你打算跑多少张角色卡与多长的上下文。 | 方案 | 适用场景 | 优点 | 代价 | ||||| | 家用服务器 /…
- sillytavern
- deployment
- docker
- vps
- self-hosting
- tutorial
部署前的架构选择
SillyTavern 本质是一个 Node.js 前端服务,负责管理角色卡、聊天记录、预设与后端 API 连接。部署方式的选择取决于三件事:是否要 7×24 在线、是否有公网访问需求、以及你打算跑多少张角色卡与多长的上下文。
| 方案 | 适用场景 | 优点 | 代价 |
|---|---|---|---|
| 家用服务器 / NAS | 单人使用、局域网为主 | 数据完全自持、硬件成本低 | 需处理内网穿透与证书 |
| VPS | 需公网访问、多设备同步 | 独立 IP、部署干净 | 月费、需自行加固 |
| Docker | 任意环境、追求可复现 | 升级回滚简单、隔离依赖 | 需理解卷挂载 |
无论哪种方案,请把 data/ 目录视为核心资产——角色卡(PNG/JSON)、聊天历史、settings.json 全在里面。备份策略应围绕这个目录设计。
适合想理解运行细节的用户。以 Ubuntu 22.04/24.04 为例。
基础环境
- 安装 Node.js 20 LTS 或更高版本(SillyTavern 对 Node 版本有明确下限,升级前先看 release notes)。
- 安装
git、build-essential,部分依赖需要编译。 - 创建独立系统用户,不要用 root 跑服务。
拉取与启动
git clone https://github.com/SillyTavern/SillyTavern.git
cd SillyTavern
npm install
node server.js
首次启动会生成 config.yaml。关键项:
listen: true与listenAddress:默认只监听本地,公网访问需显式开启。whitelistMode:开启后只允许白名单 IP,公网部署建议保持开启。basicAuthMode:至少设置一组用户名密码,不要裸奔。
反向代理与 HTTPS
用 Nginx 或 Caddy 反代到 localhost:8000。Caddy 自动签发证书,配置量最小。反代时注意开启 WebSocket 支持,否则流式输出会失效。
进程守护
用 systemd 或 pm2 保证崩溃后自动拉起,并设置开机自启。日志重定向到文件,便于排查 API 连接失败。
方案二:Docker 部署
推荐给需要频繁升级或跑多实例的用户。
最小 compose 配置
services:
sillytavern:
image: ghcr.io/sillytavern/sillytavern:latest
ports:
- "8000:8000"
volumes:
- ./config:/home/node/app/config
- ./data:/home/node/app/data
restart: unless-stopped
要点:
- 必须挂载
config与data两个卷,否则容器重建即丢失全部角色卡与聊天记录。 - 镜像内路径为
/home/node/app,挂载点写错会导致配置不生效且无报错。 - 升级用
docker compose pull && docker compose up -d,回滚则锁定具体 tag。
权限与网络
- 宿主机目录属主需与容器内 UID 匹配,否则写入角色卡时静默失败。
- 建议把容器放进独立 bridge 网络,仅暴露反代所需端口。
方案三:家用服务器 / NAS
适合已有常开设备的用户,重点在内网穿透而非部署本身。
- 部署流程与 VPS 一致,可用 Docker 简化。
- 公网访问优先用 Tailscale 等组网工具,避免直接端口映射。
- 若必须暴露公网,务必启用
basicAuthMode与whitelistMode,并配置 HTTPS。 - NAS 上注意 Docker 卷落在哪块磁盘——机械盘上大量小文件读写会拖慢角色卡加载。
角色卡与数据工作流
部署完成后,日常操作集中在数据层:
- 角色卡以 PNG(内嵌元数据)或 JSON 导入,统一放进
data/default-user/characters。 - 聊天记录按角色分目录存放,迁移时整目录拷贝即可。
- 预设、世界书、快捷回复分别位于
data/default-user下的对应子目录。 - 跨设备同步建议用 Git 或 Syncthing 管理
data/,但排除日志与临时文件。
需要跨平台管理卡片与聊天时,可以在 iOS/Android 客户端或 Chrome 扩展中接入同一套后端,角色卡市场也能直接导入现成卡片——例如以云码头港务长 Captain Portia Vane 为代表的成品卡,导入后即可进入对话,省去手工整理元数据的步骤。
常见故障排查
- 页面能开但无流式输出:反代未转发 WebSocket。
- 容器重启后配置丢失:
config卷未挂载。 - 角色卡导入失败:PNG 元数据格式不符,或目录权限不足。
- API 连接超时:容器内
localhost指向容器自身,需改用宿主机地址或服务名。
结语
三种方案的核心差异只在运维成本,数据层完全一致。选定方案后,把备份与升级流程固定下来,比反复更换部署方式更有价值。若希望减少自建环节,可通过 MiniTavern 的移动端应用与 Chrome 扩展直接连接既有 SillyTavern 后端,并在角色卡市场挑选成品卡快速开始。
继续阅读
你可能还会喜欢这些文章
SillyTavern 角色卡格式 2026:掌握 JSON 结构、W++ 语法与高级定制
在 AI 角色扮演的世界中,角色卡(Character Card)是赋予虚拟角色灵魂的钥匙。作为 SillyTavern 生态系统的核心载体,一张精心设计的角色卡能大幅提升互动沉浸感。到了 2026 年,角色卡格式已经进化得更加精细——从基础的 JSON 结构到 W++ 语法,再到各种高级定制技巧,掌握这些技…
- sillytavern
- character-cards
- json
- w++
为什么在 2026 年仍推荐本地生成角色卡立绘
角色卡的核心是文本,但立绘决定点击率。云端绘图服务在 2026 年依然面临三个问题:订阅成本、内容审核、以及角色一致性难以跨会话保持。ComfyUI 配合 Stable Diffusion 把这三件事全部交回本地:模型权重在你硬盘上,工作流可复用,同一角色的脸可以通过固定 seed 和 LoRA 稳定复现。…
- comfyui
- local-image-generation
- character-card-art
- sillytavern
2026 年角色卡市场的定价逻辑
SillyTavern 生态在 2026 年已经形成稳定的角色卡交易层。买家不再只看立绘,而是看上下文稳定性、世界书结构、首轮体验。定价不再是“一张图多少钱”,而是“这套配置能省下多少调试时间”。 目前市场大致分三档: 入门档(免费至 3 美元):单角色、无世界书或仅内嵌少量条目,适合试水。 标准档(…
- card-market
- monetization
- character-cards
- sillytavern