# SillyTavern Launcher **Repository Path**: al01/sillytavern-launcher ## Basic Information - **Project Name**: SillyTavern Launcher - **Description**: SillyTavern Launcher 是一款专为 SillyTavern 设计的启动器,方便在所有平台上管理 SillyTavern,分为电脑端和移动端。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: GUI - **Homepage**: https://st.al01.cn - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2026-03-18 - **Last Updated**: 2026-04-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# SillyTavern Launcher GUI **酒馆启动器** · 专为 SillyTavern 打造的跨平台桌面管理工具 [![版本](https://img.shields.io/badge/版本-1.0.2-blue?style=flat-square)](https://github.com/al01cn/sillyTavern-launcher/releases) [![Tauri](https://img.shields.io/badge/Tauri-v2-orange?style=flat-square&logo=tauri)](https://v2.tauri.app/) [![Vue](https://img.shields.io/badge/Vue-3-4FC08D?style=flat-square&logo=vue.js)](https://vuejs.org/) [![Rust](https://img.shields.io/badge/Rust-latest-CE422B?style=flat-square&logo=rust)](https://www.rust-lang.org/) [![License](https://img.shields.io/badge/License-MIT-green?style=flat-square)](LICENSE) [![Releases](https://img.shields.io/github/v/release/al01cn/sillytavern-launcher)](https://github.com/al01cn/sillytavern-launcher/releases) [中文文档](#-中文文档) · [English Docs](#-english-documentation)
--- ## 📖 中文文档 ### 简介 **SillyTavern Launcher GUI** 是一个专为 [SillyTavern](https://github.com/SillyTavern/SillyTavern) 设计的跨平台桌面客户端,基于 **Tauri v2 + Vue 3 + Rust** 构建。它提供了直观、现代的图形界面,让用户无需命令行即可完整管理 SillyTavern 的安装、启动、配置和扩展。 > 🌐 官网:[st.al01.cn](https://st.al01.cn/) --- ### ✨ 功能特性 | 功能模块 | 说明 | | ------------------- | -------------------------------------------------------------- | | 🚀 **一键启停** | 一键启动/停止 SillyTavern 服务,实时查看控制台日志 | | 📦 **版本管理** | 可视化安装、切换、卸载任意 SillyTavern 版本(稳定版 / 开发版) | | 🧩 **扩展管理** | 浏览、启用/禁用、安装(支持 ZIP 离线包)、删除扩展 | | ⚙️ **酒馆配置** | 可视化编辑 `config.yaml`(端口、代理、白名单、备份、缩略图等) | | 🌐 **Node.js 管理** | 自动检测系统 Node.js / npm,支持一键下载内置私有 Node 环境 | | 🎭 **角色卡管理** | 浏览、预览、导入、删除角色卡(PNG 格式) | | 📚 **世界书管理** | 浏览、导入、删除世界书(JSON 格式) | | 🔄 **自动更新** | 基于 GitHub Releases 的静默自动更新(可关闭提醒) | | 🌍 **多语言** | 内置简体中文 / English,可跟随系统自动切换 | | 🎨 **主题切换** | 深色 / 浅色主题,支持跟随系统 | | 🔧 **GitHub 代理** | 内置多节点代理加速,解决 GitHub 下载慢的问题 | | 💾 **窗口记忆** | 可选记住上次窗口位置 | --- ### 🚀 快速安装(普通用户) > 如果你只是想**使用**酒馆启动器,不需要搭建开发环境,按以下步骤操作即可: 1. 前往 [GitHub Releases](https://github.com/al01cn/sillyTavern-launcher/releases) 页面 2. 根据你的操作系统下载对应的安装包: | 系统 | 文件格式 | | ------- | --------------------- | | Windows | `.msi` 或 `.exe` | | macOS | `.dmg` | | Linux | `.AppImage` 或 `.deb` | 3. 运行安装程序完成安装,然后直接启动即可 > [!WARNING] > **Windows 用户注意**:如果安装程序提示权限不足或安装失败,请右键点击安装文件,选择「**以管理员身份运行**」后重试。 --- ### 🛠️ 技术栈 | 层次 | 技术 | | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------ | | **前端框架** | [Vue 3](https://vuejs.org/) + [TypeScript](https://www.typescriptlang.org/) + [Vite](https://vite.dev/) | | **UI 组件** | [TailwindCSS v4](https://tailwindcss.com/) + [FluxUI](https://fluxui.dev/)(所有组件可用) | | **图标库** | [Lucide Vue Next](https://lucide.dev/) + [@phosphor-icons/vue](https://phosphoricons.com/) + [@iconify/vue](https://iconify.design/) | | **国际化** | [vue-i18n v11](https://vue-i18n.intlify.dev/) | | **通知** | [vue-sonner](https://vue-sonner.vercel.app/) | | **后端框架** | [Tauri v2](https://v2.tauri.app/) + [Rust](https://www.rust-lang.org/) | | **主要 Rust 库** | `tokio`、`reqwest`、`serde`、`serde_yaml`、`serde_json`、`zip`、`tracing` | | **包管理工具** | [Bun](https://bun.sh/)(推荐) | --- ### 📁 项目结构 ```text SillyTavern-Launcher/ ├── src/ # 前端 Vue 3 源码 │ ├── assets/ # 静态资源(图片、Logo 等) │ ├── components/ # 可复用公共组件(15 个) │ │ ├── AppTooltip.vue # 统一悬浮提示组件 │ │ ├── GlobalDialog.vue # 全局弹窗容器 │ │ ├── InstallDialog.vue # 版本安装弹窗 │ │ ├── InstallExtensionDialog.vue # 扩展安装弹窗 │ │ ├── CharacterCardDialog.vue # 角色卡预览弹窗 │ │ ├── ChatDialog.vue # 对话历史弹窗 │ │ ├── NetworkLinkDialog.vue # 局域网/公网链接面板 │ │ ├── OneClickCapsule.vue # 一键安装胶囊 │ │ ├── ConfigMigrateDialog.vue # 配置迁移弹窗 │ │ ├── ResourceMigrateDialog.vue # 资源迁移弹窗 │ │ ├── RepairGitDialog.vue # Git 修复弹窗 │ │ ├── UploadCharacterCardDialog.vue # 上传角色卡弹窗 │ │ ├── UploadWorldInfoDialog.vue # 上传世界书弹窗 │ │ ├── WorldInfoDialog.vue # 世界书预览弹窗 │ │ └── Model.vue # 通用的 FluxUI Modal 封装 │ ├── lang/ # 国际化语言文件(zh-CN / en-US) │ ├── layouts/ # 布局组件(自定义标题栏) │ ├── lib/ # 工具函数与 Tauri 命令封装(24 个) │ │ ├── config.ts # 前端配置状态管理 │ │ ├── consoleState.ts # 控制台日志状态 │ │ ├── st_list.ts # SillyTavern 实例列表 │ │ ├── theme.ts # 主题切换 │ │ ├── cache.ts # 缓存管理 │ │ ├── imageCache.ts # 图片缓存 │ │ ├── updater.ts # 自动更新 │ │ ├── useScan.ts # 酒馆扫描逻辑(scanManager 单例) │ │ ├── useInstall.ts # 版本安装/删除 │ │ ├── useReleases.ts # GitHub Releases 获取 │ │ ├── useExtensions.ts # 扩展列表与状态 │ │ ├── useExtensionInstall.ts # 扩展安装/修复/删除 │ │ ├── useOneClick.ts # 一键安装流程 │ │ ├── useNodeGitInstall.ts # Node.js / Git 安装进度 │ │ ├── useDialog.ts # 全局弹窗控制 │ │ ├── useCharacterCardDialog.ts # 角色卡弹窗 │ │ ├── useChatDialog.ts # 对话历史弹窗 │ │ ├── useWorldInfoDialog.ts # 世界书弹窗 │ │ ├── useUploadCharacterCard.ts # 上传角色卡 │ │ ├── useUploadWorldInfo.ts # 上传世界书 │ │ ├── useCheckpoint.ts # 检查点管理 │ │ ├── useRepairGitDialog.ts # Git 修复弹窗 │ │ ├── useAnimations.ts # 动画与性能检测 │ │ └── index.ts # lib 导出入口 │ ├── router/ # Vue Router 路由配置 │ ├── views/ # 页面视图 │ │ ├── Home.vue # 主页(启动/停止/网络链接面板) │ │ ├── Versions.vue # 版本管理(本地实例扫描/在线下载) │ │ ├── Tavern.vue # 酒馆配置(config.yaml 可视化编辑器) │ │ ├── Extensions.vue # 扩展管理 │ │ ├── Resources.vue # 资源管理(角色卡/世界书/对话历史) │ │ ├── Console.vue # 控制台日志 │ │ ├── Settings.vue # 应用设置 │ │ ├── Tools.vue # 鸣谢页面 │ │ └── App.vue # 根组件 │ ├── App.vue # 根组件 │ ├── main.ts # 前端入口 │ ├── style.css # 全局样式 │ └── tailwind.config.css # Tailwind v4 配置 │ ├── src-tauri/ # 后端 Rust 源码 (Tauri) │ ├── src/ │ │ ├── main.rs # Rust 入口(Windows GUI 入口点) │ │ ├── lib.rs # 模块声明与 run() │ │ ├── types.rs # 所有公共类型/结构体/枚举定义 │ │ ├── utils.rs # 日志、目录布局、tracing 子scriber │ │ ├── config.rs # AppConfig 读写、代理检测、窗口管理 │ │ ├── node.rs # Node.js / npm 检测与安装 │ │ ├── git.rs # Git 检测、内置 MinGit、GitHub 加速逻辑 │ │ ├── sillytavern.rs # ST 版本管理、启停、YAML 配置读写 │ │ ├── extensions.rs # 扩展管理(列表/启用/安装/删除/修复) │ │ ├── character.rs # 角色卡 PNG 管理 │ │ ├── worldinfo.rs # 世界书 JSON 管理 │ │ ├── chat.rs # 对话历史读取与删除 │ │ ├── finderst.rs # SillyTavern 全盘扫描(jwalk + walkdir) │ │ ├── logs.rs # 应用运行日志读写 │ │ ├── elevation.rs # Windows UAC 提权辅助 │ │ └── Cargo.toml # Rust 依赖 │ ├── icons/ # 应用图标(多平台) │ └── tauri.conf.json # Tauri 配置文件 │ ├── data/ # 运行时数据目录(自动生成) │ ├── config.json # 应用全局配置 │ ├── logs/ # 应用运行日志(按天滚动) │ ├── node/ # 内置 Node.js 环境(可选) │ ├── mingit/ # 内置 PortableGit(可选) │ ├── st_data/ # SillyTavern 全局数据 │ │ ├── config.yaml # 全局酒馆配置 │ │ ├── characters/ # 角色卡目录 │ │ └── worlds/ # 世界书目录 │ └── sillytavern/ # 各版本酒馆安装目录 │ └── / # 具体版本,如 release-v1.12.0 │ ├── scripts/ # 构建辅助脚本 ├── public/ # Vite 静态资源 ├── package.json ├── vite.config.ts ├── tsconfig.json ├── tsconfig.node.json ├── UPDATELOGS.md # 版本更新记录 └── README.md ``` --- ### 💻 开发环境搭建 #### 前置依赖 | 依赖 | 版本要求 | 说明 | | ------------------------------------------------------------ | ----------------- | --------------------------------------------------------------- | | [Rust](https://www.rust-lang.org/zh-CN/) | 1.80+ | 含 Cargo,Tauri 后端必须 | | [Node.js](https://nodejs.org/zh-cn) / [Bun](https://bun.sh/) | Node 18+ / Bun 1+ | 推荐使用 Bun | | Tauri 系统依赖 | — | [查看官方文档](https://v2.tauri.app/zh-cn/start/prerequisites/) | > **Windows 用户**额外需要:安装 [Microsoft C++ Build Tools](https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/) 或 Visual Studio。 #### 克隆与安装 ```bash # 克隆仓库 git clone https://github.com/al01cn/sillyTavern-launcher.git cd sillyTavern-launcher # 安装前端依赖(推荐使用 bun) bun install ``` #### 开发模式 ```bash # 启动 Vite 热更新 + Tauri 桌面窗口 bun run tauri:dev ``` #### 生产构建 ```bash # 构建安装包(同时同步版本号) bun run tauri:build ``` 构建产物位于 `src-tauri/target/release/bundle/` 目录下。 #### 其他命令 ```bash bun run cargo:check # 仅检查 Rust 编译是否通过 bun run cargo:build # 仅构建 Rust 后端 bun run sync-version # 同步 package.json 版本号到 Tauri ``` --- ### 🏗️ 架构说明 #### Rust 后端模块划分 ``` main.rs ← Rust 入口(Windows GUI 入口点) lib.rs ← 模块声明与 run() ├── types.rs 所有共享数据结构(类型/结构体/枚举,纯定义无逻辑) ├── utils.rs 日志初始化、目录布局、tracing subscriber ├── config.rs AppConfig 读写、窗口管理、代理检测(PowerShell/reg) ├── node.rs Node.js / npm 检测与安装 ├── git.rs Git 检测、内置 MinGit、GitHub 加速(--import / insteadOf) ├── sillytavern.rs ST 版本 CRUD、启停、YAML 配置读写 ├── extensions.rs 扩展列表、启用/禁用/安装/删除/修复 ├── character.rs 角色卡 PNG 管理 ├── worldinfo.rs 世界书 JSON 管理 ├── chat.rs 对话历史读取与删除 ├── finderst.rs SillyTavern 全盘扫描(jwalk + walkdir 双引擎) ├── logs.rs 应用运行日志读写 └── elevation.rs Windows UAC 提权辅助 ``` #### 前后端通信 所有前端操作均通过 **Tauri Command**(`invoke`)调用 Rust 后端,前端不直接发起外部网络请求,确保无跨域问题。 ``` 前端 Vue (invoke) → Rust Command → 系统/文件/网络 ``` 长耗时操作(下载、解压、npm 安装)通过 **Tauri Event**(`emit`)向前端推送进度: | 事件名 | 说明 | | ------------------- | ------------------------ | | `install-progress` | 版本安装/删除进度 | | `download-progress` | Node.js 下载/解压进度 | | `process-log` | SillyTavern 进程实时日志 | | `process-exit` | SillyTavern 进程退出通知 | --- ### 📝 开发规范 - **组合式 API**:始终使用 Vue 3 `