SillyTavern 桌面版 Electron 打包完全指南:10 分钟构建跨平台可执行程序
2026/9/9 17:46:24 网站建设 项目流程

SillyTavern 桌面版 Electron 打包完全指南:10 分钟构建跨平台可执行程序

【免费下载链接】SillyTavernLLM Frontend for Power Users.项目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern

SillyTavern 是基于 Node.js 的 LLM 聊天前端,用于驱动角色对话与 AI 工作流。完成 Electron 打包后,你会得到一份带原生窗口的 SillyTavern 桌面应用:服务器随应用启动,聊天界面独立于浏览器标签。启动方式从"终端输入命令"缩减为"双击图标"。

![SillyTavern 桌面版聊天界面背景](https://raw.gitcode.com/GitHub_Trending/si/SillyTavern/raw/51ad27fb86d39a3daca3adaa970375c9670c12df/default/content/backgrounds/tavern day.jpg?utm_source=gitcode_repo_files)

打包方案拆解

Electron(跨平台桌面壳框架)在这里充当外壳进程:src/electron/index.js先以 Node.js 方式拉起 SillyTavern 主服务,服务发出SERVER_STARTED事件后自动创建 BrowserWindow 并加载本地地址。窗口尺寸支持--width/--height参数,默认 800x600。所以"双击即开"的本质是壳进程替你把服务拉起来了,详见 electron 启动脚本。

前置条件:环境、源码与依赖

  • 系统已安装 Node.js 18+ 与 npm。
  • 源码可来自 git 或离线 zip 包。
# 克隆仓库(无 git 环境时直接下载 zip 并解压) git clone https://gitcode.com/GitHub_Trending/si/SillyTavern cd SillyTavern
# 根目录安装主服务依赖;shell 内再进 src/electron 装 Electron 运行时 npm install cd src/electron && npm install

打包全流程:启动命令对照与产物验证

仓库内置的 electron 封装目录 只定义了npm run start(即electron .),不含npm run dist,也没有打包器配置;可执行文件需借助 electron-builder(把 Node 应用打包为安装器的工具)另行产出。

Electron 桌面应用三平台启动命令对照

dev 形态在 Windows / macOS / Linux 上完全一致,差异只在 shell:

# 在 src/electron 目录运行,参数控制窗口尺寸(三平台通用) npm run start -- --width=1280 --height=800 # macOS/Linux 也可直接 ./start.sh;Windows 用 Start.bat

预期输出(节选):

# 先出现 Electron 运行时日志,随后是 Express 监听信息 [<pid>] Starting server... Server is running at http://localhost:8000

出现Server is running at即判定成功,窗口随后自动打开src/electron/dist之外、由 electron-builder 产出的安装包,流程如下:

# 在 src/electron 目录安装打包器并指定主入口 npm i -D electron-builder npx electron-builder --win --mac --linux # 按需保留平台参数

产物路径:src/electron/dist/

产物格式速查

平台产物格式典型文件备注
WindowsNSIS 安装包(exe 安装器)SillyTavern Setup 1.0.0.exe支持开始菜单快捷方式
macOSDMG 磁盘镜像SillyTavern-1.0.0.dmg未签名时首次打开需右键
LinuxAppImage 单文件sillytavern_1.0.0_amd64.AppImage免安装,需可执行权限

上表为 electron-builder 的典型产出,版本号随src/electron/package.json变化。

调优与进阶

  • 图标替换:打包配置中指向public/st.icopublic/st-launcher.ico
  • 窗口尺寸:启动参数--width=1200 --height=800,默认 800x600。
  • 自动更新:electron-builder 配合发布通道可实现增量更新。
  • 服务事件:窗口创建时机由SERVER_STARTED事件驱动,可在src/server-events.js查证。

高频踩坑

  • 现象:窗口打开后白屏 →原因:主项目依赖缺失,服务未真正监听 →解决:回到仓库根目录执行npm install后重启。
  • 现象npm run startCannot find module 'electron'原因:只在根目录装了依赖 →解决:进入src/electron单独执行npm install
  • 现象:Electron 二进制下载超时 →原因:npm 源访问受限 →解决:设置镜像环境变量后重装,如ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/
  • 现象:端口 8000 被占用,窗口打不开 →原因:已有实例在运行 →解决:结束旧进程或改config.yaml的默认端口。
  • 现象:Linux 下 AppImage 无法执行 →原因:缺少可执行权限 →解决chmod +x该 AppImage 文件。

延伸方向

  • 系统托盘驻留
  • 全局热键唤起
  • 多实例会话
  • 无头模式运行
  • 启动参数持久化

打包前确认主项目已执行 npm install

【免费下载链接】SillyTavernLLM Frontend for Power Users.项目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询