SillyTavern · 面向高级玩家的 LLM 角色扮演前端 · 本地部署与使用全指南
项目仓库: https://github.com/SillyTavern/SillyTavern
开源协议:AGPL-3.0 · 运行时:Node.js ≥ 20 ·
启动脚本:start.sh / Start.bat ·
服务入口:server.js · 默认端口:8000 · 文档站:docs.sillytavern.app
1 项目简介
SillyTavern 自称 "LLM Frontend for Power Users",是一个面向高级玩家的本地化 LLM 前端,以角色扮演(RP)、角色卡(Character Card)管理、剧情分支与高度可定制的聊天界面著称。它本身不自带模型,而是作为前端连接各种后端(本地推理、云端 API、 KoboldAI 兼容 API 等),把对话、角色、世界书、 Lorebook、提示词模板等组织成一个可自托管的工作台。
项目使用 Node.js 编写,通过 start.sh(Linux/macOS)或
Start.bat(Windows)一键安装依赖并启动本地 Web
服务,浏览器访问后即可使用。
1.1 核心信息一览
| 项目项 | 内容 |
|---|---|
| 项目名称 | SillyTavern |
| 仓库地址 | github.com/SillyTavern/SillyTavern |
| 项目定位 | 面向高级玩家的 LLM 角色扮演前端 |
| 开源协议 | AGPL-3.0 |
| 运行时 | Node.js ≥ 20(package.json engines 声明) |
| 启动脚本 | start.sh / Start.bat |
| 服务入口 | node server.js |
| 全局监听 | 支持 node server.js --global |
| 默认端口 | 8000(可在配置中修改) |
| 官方文档 | docs.sillytavern.app |
1.2 适用场景
- 想在本地搭一个可自托管的 LLM 角色聊天界面,管理角色卡、世界书与提示词模板。
- 需要连接多种后端(本地模型、云端 API、Kobold 兼容端点)并在同一界面切换。
- 重视角色扮演细节:分支剧情、表情立绘、上下文 Lorebook、Token 预算管理等。
1.3 能力边界(官方口径)
- 项目是前端,不自带任何模型权重,需自行配置后端 API 或本地推理。
- README 未提供保姆式安装文档,详细使用以官方文档站 docs.sillytavern.app 为准。
- AGPL-3.0 协议:二次分发与网络服务需遵守开源要求。
2 功能特性
- 角色卡管理:导入/导出角色卡,管理立绘与设定。
- 多后端连接:兼容 OpenAI 风格、KoboldAI 兼容、本地推理等多种 API 端点。
- Lorebook / 世界书:按关键词注入设定,控制上下文与 Token 预算。
- 提示词模板:高度可定制的系统提示与对话模板。
- 跨运行时支持:除 Node 外,package.json 还提供
start:bun、start:deno等脚本。 - 插件机制:
plugins:install/plugins:update脚本管理插件。
3 官方界面预览
本仓库 README 未提供界面截图,实际界面以浏览器访问本地服务后为准;更多说明见官方文档站。
4 官方跳转链接汇总
| 类别 | 链接 | 说明 |
|---|---|---|
| 仓库主页 | https://github.com/SillyTavern/SillyTavern | 源码与启动脚本 |
| 官方文档 | https://docs.sillytavern.app/ | 安装与使用文档 |
| Discord | https://discord.gg/sillytavern | 官方社区 |
| https://reddit.com/r/SillyTavernAI | 用户讨论区 | |
| 启动脚本 | start.sh | Linux/macOS 启动 |
| 依赖清单 | package.json | Node ≥ 20 |
5 前置要求与服务器配置
5.1 软件前提
- Node.js ≥ 20:package.json engines 声明
node >= 20;start.sh会在找不到 npm 时提示去 nodejs.org 安装。 - Git:克隆仓库。
- 现代浏览器:用于访问本地 Web 界面。
- 后端 API:自行准备本地推理或云端 API 端点。
5.2 硬件建议
| 项目 | 建议 |
|---|---|
| 部署方式 | 前端本身较轻,普通 2C2G 云主机即可 |
| 推理负载 | 若本地跑模型,另按模型要求配 GPU |
| 存储 | 角色卡与日志占用小,预留数 GB |
6 方式一:启动脚本一键部署(推荐)
# 1. 克隆仓库(release 分支为稳定分支)
git clone https://github.com/SillyTavern/SillyTavern.git
cd SillyTavern
# 2. 运行启动脚本(Linux/macOS)
bash start.shstart.sh 实际执行逻辑(官方脚本):
#!/usr/bin/env bash
cd "$(dirname "$0")"
export NODE_ENV=production
npm install --no-save --no-audit --no-fund --loglevel=error --no-progress --omit=dev --ignore-scripts
node "server.js" "$@"Windows 用户运行 Start.bat。启动后浏览器访问
http://127.0.0.1:8000。
7 方式二:手动安装与启动
# 1. 克隆并进入目录
git clone -b release https://github.com/SillyTavern/SillyTavern.git
cd SillyTavern
# 2. 安装生产依赖
npm install --no-save --omit=dev
# 3. 启动服务
npm start
# 或
node server.js
# 监听全部网卡(允许局域网/远程访问)
node server.js --global8 配置项说明
| 配置 | 位置 | 说明 |
|---|---|---|
| 监听地址/全局 | 启动参数 --global |
node server.js --global 对外监听 |
| CSRF | 启动参数 --disableCsrf |
node server.js --disableCsrf(仅排障时用) |
| 默认端口 | 8000 | 浏览器访问端口,可在界面/配置中调整 |
| 后端 API | 界面内设置 | 配置 OpenAI/Kobold 兼容等端点 |
9 常用运维命令
# 正常启动
bash start.sh
# 对外监听
node server.js --global
# 更新插件
npm run plugins:update
npm run plugins:install
# 调试模式
npm run debug10 常见故障排查
- npm 未找到:
start.sh会红字提示安装 Node.js;确认node -v与npm -v可用,且版本 ≥ 20。 - 依赖安装失败:切换网络或清理 npm
缓存后重试;
npm install阶段失败不会启动 server.js。 - 远程无法访问:默认只监听本机;需加
--global或在配置中开启监听,并放在反向代理之后。 - 端口被占用:8000 被占用时在配置中改端口或停掉占用进程。
- 连接后端失败:检查 API 端点、密钥与网络;前端本身不做推理。
11 风险与合规说明
- 许可证:AGPL-3.0,二次分发或对外提供网络服务须开源对应修改。
- 模型与 API 合规:连接的后端模型与 API 须遵守其许可与服务条款。
- 内容合规:角色扮演内容须自行负责,不得生成违法违规内容。
- 非官方声明:本文基于官方仓库 README 与启动脚本整理,参数以仓库最新 release 分支为准。