
1. 为什么要在Windows上折腾本地部署很多人第一次听说Silly Tavern圈内俗称酒馆的时候第一反应是这玩意儿不是有在线版吗为什么还要本地部署。我一开始也是这么想的直到用了几个月在线服务之后才慢慢体会到本地部署的价值所在。Silly Tavern本质上是一个面向AI角色扮演的前端交互界面它本身不产生任何AI能力而是作为一个壳把各种大语言模型的API或者本地推理服务包装成一套完整的聊天、角色卡管理、世界书、提示词预设系统。你可以把它理解成一个专门为角色扮演场景深度定制的聊天客户端——它比通用聊天界面多了角色卡导入、上下文管理、多角色群聊、正则替换、TTS语音合成等一大堆针对性的功能。那为什么要在Windows本地跑核心原因有三个。第一是数据隐私你的角色卡、聊天记录、世界书设定全部存在自己硬盘上不经过任何第三方服务器第二是可定制性本地部署之后你可以随意改主题、装扩展、接不同的后端模型不受任何平台限制第三是稳定性不会因为某个在线服务突然关停或者改政策导致你辛苦调教好的角色卡一夜之间没法用。不过说实话Windows本地部署Silly Tavern这件事对完全没有接触过Node.js生态的人来说确实有几个不大不小的坑。我自己第一次装的时候光是npm的PowerShell执行策略问题就卡了快半小时。所以这篇内容我会把整个流程拆得足够细包括每个步骤背后的原理、常见的报错怎么处理、以及一些装完之后才发现的实用技巧。这篇文章适合三类人看一是完全没碰过命令行、想从零开始把酒馆跑起来的新手二是装到一半卡在某个报错上、需要排查思路的人三是已经装好了但想搞清楚目录结构、方便后续升级和维护的用户。整个流程不需要你有编程基础但需要你愿意跟着步骤一步步操作不要跳步。2. 装酒馆之前必须搞清楚的运行环境2.1 Silly Tavern到底依赖什么在动手之前先花两分钟理解一下Silly Tavern的技术栈这样后面遇到报错你才知道是哪个环节出了问题。Silly Tavern是一个基于Node.js运行的服务端程序它的架构大致是这样的后端用Node.js跑一个HTTP服务默认监听8000端口前端是一堆HTML/CSS/JS静态资源由这个服务直接吐给浏览器。你打开浏览器访问http://localhost:8000看到的就是它的界面。所有的角色卡、聊天记录、配置都以文件形式存在本地目录里没有数据库。这就解释了为什么必须先装Node.js——没有Node.js运行时Silly Tavern的代码根本跑不起来。而npmNode Package Manager是Node.js自带的包管理工具Silly Tavern依赖的几十个第三方库全靠npm来下载安装。所以整个依赖链条是Windows系统 → Node.js运行时 → npm包管理器 → Silly Tavern源码及其依赖 → 浏览器访问界面。任何一环出问题酒馆都跑不起来。2.2 Node.js版本选择的门道Silly Tavern官方对Node.js版本有明确要求必须18及以上。这个不是随便定的因为它的代码里用到了不少较新的ES模块特性和Node.js 18才稳定的API。我实测下来推荐用Node.js 20 LTS或者22 LTS这两个长期支持版本。为什么不推荐最新的24因为有些依赖包对最新版Node.js的兼容性还没跟上你可能会遇到一些莫名其妙的模块加载错误。LTS版本经过大量生产环境验证稳定性最好。这里有个很多人会踩的坑网上有些教程让你装Node.js 16甚至更老的版本那是几年前的老文章了现在装上去Silly Tavern直接起不来会报类似The requested module node:util does not provide an export named这种错误。看到这类报错第一反应就是去检查Node.js版本。怎么查自己当前的版本打开命令行输入node -v npm -v如果显示的是v18.x.x以上就没问题如果低于18或者提示不是内部或外部命令说明要么没装要么环境变量没配好。2.3 安装Node.js时的关键选项去Node.js官网下载Windows安装包选.msi格式的LTS版本双击运行。安装过程本身没什么难度但有一个地方必须注意在安装向导进行到Tools for Native Modules这一步时会问你要不要自动安装一些编译工具。这个选项建议勾上。虽然Silly Tavern大部分依赖是纯JS的但个别包在安装时可能需要编译原生模块勾上这个能省掉后面手动装Visual Studio Build Tools的麻烦。代价是安装时间会长一些多下载几百MB的东西但一劳永逸。安装完成后一定要重启命令行窗口。因为环境变量是在安装时写入系统的已经打开的cmd或者PowerShell读不到新变量。很多人装完Node.js之后在原来开着的窗口里敲node -v发现没反应就是这个原因。验证安装成功的标准动作node -v npm -v两条命令都能正常输出版本号才算真正装好了。2.4 npm镜像源国内用户的加速方案npm默认从国外的registry拉包国内访问速度可能很慢甚至超时失败。解决办法是换成国内镜像源。常用的有淘宝镜像现在叫npmmirrornpm config set registry https://registry.npmmirror.com设置完之后可以用这条命令验证npm config get registry如果输出的是你设置的地址就对了。这个设置是全局的以后所有npm安装都会走镜像速度会快很多。提示如果你后面发现某个包在镜像源上找不到可以临时切回官方源安装那一个包装完再切回来。命令是npm install 包名 --registryhttps://registry.npmjs.org。3. 从零开始把酒馆跑起来的完整流程3.1 获取Silly Tavern源码Silly Tavern的源码托管在GitHub上有两种获取方式用Git克隆或者直接下载ZIP压缩包。如果你电脑上装了Git推荐用克隆的方式因为后续升级方便一条git pull就能更新到最新版git clone https://github.com/SillyTavern/SillyTavern.git没装Git的话去项目主页点Code按钮选Download ZIP下载完解压到一个你记得住的目录。这里有个重要建议解压路径不要有中文和空格。比如D:\SillyTavern就很好D:\我的软件\AI 酒馆这种路径在某些情况下会导致npm安装依赖时出错因为部分脚本对路径中的特殊字符处理不好。我一般习惯把这类工具统一放在D:\AI-Tools\下面每个项目一个子目录方便管理。你可以参考这个习惯。3.2 安装依赖这一步最容易出问题进入Silly Tavern目录打开命令行。在文件资源管理器的地址栏输入cmd然后回车就能直接在当前目录打开命令行比手动cd方便。然后执行npm install这条命令会读取项目里的package.json把所有依赖包下载到node_modules目录。第一次执行会比较慢几分钟到十几分钟都有可能取决于网速和镜像源。这一步常见的报错和应对方式我整理成表格方便对照排查报错信息关键词根本原因解决办法npm.ps1 cannot be loaded/禁止运行脚本PowerShell执行策略限制见3.3节详细处理ETIMEDOUT/network timeout网络问题拉包超时换镜像源或重试node-gyp相关错误缺少编译工具重装Node.js时勾选编译工具选项Unsupported engineNode.js版本过低升级到18以上EACCES/ 权限错误目录权限不足换到非系统盘目录或用管理员身份其中npm.ps1 cannot be loaded这个报错是Windows用户遇到频率最高的单独拿出来讲。3.3 PowerShell执行策略报错的彻底解决报错长这样npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1因为在此系统上禁止运行脚本。这个问题的本质是Windows PowerShell默认的执行策略是Restricted不允许运行任何脚本文件而npm在PowerShell里是通过一个.ps1脚本调用的所以被拦住了。解决办法是修改执行策略。以管理员身份打开PowerShell右键开始菜单选Windows PowerShell管理员或终端管理员执行Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserRemoteSigned的意思是本地写的脚本可以直接跑从网上下载的脚本需要有签名才能跑。这个策略在安全性和便利性之间取得了平衡是官方推荐的开发环境设置。-Scope CurrentUser表示只对当前用户生效不影响系统其他用户也不需要管理员权限就能改但第一次改还是建议用管理员窗口。执行后会问你是否确认输入Y回车即可。改完之后关掉所有命令行窗口重新打开再试npm install应该就正常了。注意如果你用的是公司电脑可能组策略锁定了执行策略改不了。这种情况下可以改用CMD而不是PowerShell来执行npm命令CMD不受PowerShell执行策略限制。3.4 启动酒馆并访问界面依赖装完之后启动就很简单了。在Silly Tavern目录下执行node server.js或者用项目提供的启动脚本Windows下双击Start.bat也行。看到命令行输出类似SillyTavern is listening on port 8000的提示就说明启动成功了。打开浏览器访问http://localhost:8000第一次访问会让你设置一个用户名这个只是本地登录用的随便设一个记得住的就行不涉及任何在线账号。到这里酒馆的界面就出来了。但此时它还只是一个空壳因为还没有接入任何AI模型。下一步就是配置后端。3.5 接入AI后端本地模型还是APISilly Tavern支持多种后端大致分两类第一类是本地推理服务比如通过Ollama、KoboldCpp、text-generation-webui等工具在本地跑大模型然后Silly Tavern通过API连接它们。这种方案完全离线隐私性最好但对硬件有要求显卡显存至少要能装下你想要的模型。第二类是云端API比如各种大模型服务商提供的接口。这种方案对本地硬件没要求效果通常也更好但需要联网、需要API Key且聊天内容会经过服务商。在Silly Tavern界面里点左上角的API图标插头形状就能看到所有支持的后端类型。选你准备好的那一种填入对应的地址和密钥即可。以本地Ollama为例先在Ollama里拉一个模型ollama pull qwen2.5:7b然后在Silly Tavern的API设置里选Text CompletionAPI类型选Ollama地址填http://localhost:11434模型名填你拉下来的那个。点Connect测试连接通了就能开始聊天了。4. 装完之后才发现的实用细节4.1 目录结构决定了你怎么备份和迁移Silly Tavern跑起来之后你会发现在它目录下多了几个重要的文件夹理解它们的作用对后续维护非常关键data/这是核心数据目录。你的角色卡、聊天记录、世界书、预设、用户配置全在这里面。备份酒馆本质上就是备份这个目录。public/前端静态资源一般不用动。node_modules/依赖包体积很大但可以随时通过npm install重建不需要备份。config.yaml主配置文件端口、监听地址、安全设置等在这里改。我自己的习惯是定期把data/目录打包压缩存一份到别的盘。因为角色卡和聊天记录是真正花时间积累的东西丢了很心疼。迁移到新电脑的时候装好环境后把data/目录覆盖过去所有角色和记录就都回来了。4.2 端口冲突和局域网访问默认端口是8000。如果你电脑上已经有别的服务占用了8000比如某些开发工具启动时会报EADDRINUSE错误。解决办法是改端口在config.yaml里找到port字段改成别的比如8001。如果你想让同一局域网内的手机或平板也能访问酒馆比如躺在床上用手机聊需要把监听地址从127.0.0.1改成0.0.0.0然后在防火墙里放行对应端口。改完之后用电脑的局域网IP访问比如http://192.168.1.100:8000。注意开放局域网访问意味着同网络下的其他设备都能连上你的酒馆如果是在公共网络环境下要谨慎。家庭网络一般没问题。4.3 升级Silly Tavern的正确姿势用Git克隆的用户升级很简单git pull npm install先拉最新代码再更新依赖因为新版本可能引入了新的依赖包然后重启服务。升级前建议先备份data/目录虽然大部分情况下升级不会动数据但万一遇到不兼容的改动有备份能救命。用ZIP包的用户升级稍微麻烦点下载新版ZIP解压到新目录然后把旧目录的data/文件夹复制过去再重新npm install。4.4 几个新手常问的问题Q命令行窗口关了酒馆就停了怎么办A这是正常的node server.js是前台运行窗口关了进程就结束了。想让它后台常驻可以用pm2这类进程管理工具或者写一个批处理脚本用start命令启动。Q能不能不装Node.js用别的方式跑ASilly Tavern官方只支持Node.js方式。虽然有Docker镜像但Docker在Windows上本身也要装一堆东西对新手来说反而更复杂。老老实实装Node.js是最省事的路径。Q装完之后界面能打开但发消息没反应A九成是后端没连上。检查API设置里的地址、密钥、模型名是否正确点一下连接测试按钮看报什么错。本地模型的话确认推理服务是不是在跑。Qnpm install 卡住不动了A先等几分钟有时候是某个包比较大。如果超过十分钟还没动静CtrlC中断换镜像源重试。实在不行删掉node_modules目录和package-lock.json重新装。5. 关于本地部署这件事的一些个人体会折腾本地部署这件事最大的门槛其实不是技术本身而是遇到报错时的排查心态。我见过太多人卡在第一个报错上就放弃了其实大部分报错信息里已经写清楚了原因只是需要你耐心读一遍。Node.js生态的报错有个特点信息量大但不够直白。比如node-domexception1.0.0这种deprecated警告看着吓人其实完全不影响使用只是提示某个包不再维护了。学会区分警告和错误很重要——警告可以忽略错误必须处理。另外本地部署的硬件成本要有心理预期。如果你打算跑本地大模型而不是接云端API一张显存8GB以上的显卡是起步想跑效果好的模型得上12GB甚至更多。如果硬件不够接云端API是更务实的选择Silly Tavern本身对硬件没要求它只是个前端。最后说个我踩过的坑不要把所有东西都装在C盘。Node.js本身装在C盘没问题但Silly Tavern项目和node_modules目录建议放别的盘。因为node_modules动辄几百MB到1GB加上你后面可能下载的本地模型文件一个7B模型量化后也有4GB左右C盘空间很快就不够用了。我现在的做法是系统盘只装运行时所有项目和数据都放D盘清爽很多。