> [!IMPORTANT] > 这里的信息可能已经过时或不完整,仅供您参考。请使用英文版本获取最新信息。 ![][cover]
[English](readme.md) | [German](readme-de_de.md) | 中文 | [繁體中文](readme-zh_tw.md) | [日本語](readme-ja_jp.md) | [Русский](readme-ru_ru.md) | [한국어](readme-ko_kr.md) [![GitHub Stars](https://img.shields.io/github/stars/SillyTavern/SillyTavern.svg)](https://github.com/SillyTavern/SillyTavern/stargazers) [![GitHub Forks](https://img.shields.io/github/forks/SillyTavern/SillyTavern.svg)](https://github.com/SillyTavern/SillyTavern/forks) [![GitHub Issues](https://img.shields.io/github/issues/SillyTavern/SillyTavern.svg)](https://github.com/SillyTavern/SillyTavern/issues) [![GitHub Pull Requests](https://img.shields.io/github/issues-pr/SillyTavern/SillyTavern.svg)](https://github.com/SillyTavern/SillyTavern/pulls)
--- SillyTavern 为众多 LLM API(KoboldAI/CPP、Horde、NovelAI、Ooba、Tabby、OpenAI、OpenRouter、Claude、Mistral 等)提供统一界面,拥有移动设备友好的布局、视觉小说模式、Automatic1111 & ComfyUI API 图像生成集成、TTS、世界书(lorebooks)、可自定义的 UI、自动翻译、超乎您想象的丰富 Prompt 选项,以及通过第三方扩展实现的无限增长潜力。 我们有一个[文档网站](https://docs.sillytavern.app/)来回答您的大部分问题并帮助您入门。 ## SillyTavern 是什么? SillyTavern(简称 ST)是一个本地安装的用户界面,允许您与文本生成 LLM、图像生成引擎和 TTS 语音模型进行交互。 SillyTavern 于 2023 年 2 月作为 TavernAI 1.2.8 的一个分支开始,如今已拥有超过 200 名贡献者和 2 年的独立开发经验,并继续作为资深 AI 爱好者领先的软件。 ## 我们的愿景 1. 我们的目标是尽可能为用户提供 LLM Prompt 的最大效用和控制权。陡峭的学习曲线是乐趣的一部分! 2. 我们不提供任何在线或托管服务,也不会以编程方式跟踪任何用户数据。 3. SillyTavern 是一个由专注的 LLM 爱好者社区为您带来的充满激情的项目,并且将永远是免费和开源的。 ## 分支 SillyTavern 采用双分支进行开发,以确保所有用户都能获得流畅的使用体验。 - `release` -🌟 **推荐给大多数用户。** 这是最稳定、最推荐的分支,只有在重大版本推送时才会更新。适合大多数用户使用。通常每月更新一次。 - `staging` - ⚠️ **不建议随意使用。** 该分支拥有最新功能,但要谨慎,因为它随时可能崩溃。仅适用于高级用户和爱好者。每天更新数次。 如果你不熟悉使用 git 命令行,或者不了解什么是分支,别担心!`release` 分支始终是您的首选。 ## 除了 SillyTavern,我还需要什么? 由于 SillyTavern 只是一个界面,您需要接入一个 LLM 后端来进行推理。您可以使用 AI Horde 进行开箱即用的聊天。除此之外,我们还支持许多其他本地和基于云的 LLM 后端:OpenAI 兼容 API、KoboldAI、Tabby 等等。您可以在[文档](https://docs.sillytavern.app/usage/api-connections/)中阅读更多关于我们支持的 API 的信息。 ### 我需要一台性能强大的电脑来运行 SillyTavern 吗? 硬件要求很低:任何可以运行 NodeJS 18 或更高版本的设备都可以运行它。如果您打算在本地计算机上进行 LLM 推理,我们建议使用至少具有 6GB VRAM 的 3000 系列 NVIDIA 显卡。有关更多详细信息,请查看您后端的文档。 ### 建议的后端(非附属) - [AI Horde](https://aihorde.net/) - 使用志愿者托管的模型。无需进一步设置。 - [KoboldCpp](https://github.com/LostRuins/koboldcpp) - 社区最喜欢的在本地运行 GGUF 模型的工具。 - [tabbyAPI](https://github.com/theroyallab/tabbyAPI) - 一款流行的、轻量级的、本地托管的 exl2 推理 API。 - [OpenRouter](https://openrouter.ai) - 一个适用于许多云提供商(OpenAI、Claude、Meta Llama 等)以及流行社区模型的单一 API。 ## 有问题或建议? ### Discord 服务器 | [![][discord-shield-badge]][discord-link] | [加入我们的 Discord 社区!](https://discord.gg/sillytavern) 获取支持,分享喜爱的角色和 Prompt。 | | :---------------------------------------- | :---------------------------------------------------------------------------------------------- | 或者直接与开发人员联系: - Discord: cohee, rossascends, wolfsblvt - Reddit: [/u/RossAscends](https://www.reddit.com/user/RossAscends/), [/u/sillylossy](https://www.reddit.com/user/sillylossy/), [u/Wolfsblvt](https://www.reddit.com/user/Wolfsblvt/) - [提交 GitHub 问题](https://github.com/SillyTavern/SillyTavern/issues) ### 我喜欢你的项目!我该如何贡献自己的力量? 1. 发送 Pull Request。学习如何贡献:[CONTRIBUTING.md](../CONTRIBUTING.md) 2. 使用提供的模板发送功能建议和问题报告。 3. 请先阅读整个 readme 文件并查看文档网站,以避免提交重复的问题。 ## 屏幕截图 image image ## 角色卡 SillyTavern 围绕“角色卡”的概念构建。角色卡是设定 LLM 行为的 Prompt 集合,是在 SillyTavern 中进行持久对话所必需的。它们的功能类似于 ChatGPT 的 GPTs 或 Poe 的 bots。角色卡的内容可以是任何东西:一个抽象的场景、一个为特定任务量身定制的助手、一个著名人物或一个虚构角色。 要在不选择角色卡的情况下进行快速对话或仅测试 LLM 连接,只需在打开 SillyTavern 后在欢迎屏幕的输入栏中键入您的 Prompt 输入。这将创建一个空的“助手”角色卡,您可以稍后自定义。 要大致了解如何定义角色卡,请参阅默认角色(Seraphina)或从“下载扩展和资源”菜单中下载选定的社区制作卡片。 ## 主要功能 - 高级文本生成设置,包含许多社区制作的预设 - 世界书支持:创建丰富的传说或节省角色卡上的 Token - 群聊:多机器人房间,供角色与您或彼此交谈 - 丰富的 UI 自定义选项:主题颜色、背景图片、自定义 CSS 等 - 用户角色:让 AI 了解一些关于您的信息,以获得更强的沉浸感 - 内置 RAG 支持:将文档添加到您的聊天中供 AI 参考 - 广泛的聊天命令子系统和自己的[脚本引擎](https://docs.sillytavern.app/usage/st-script/) ## 扩展 SillyTavern 支持扩展。 - 角色情绪表达 - 聊天记录自动摘要 - 自动 UI 和聊天翻译 - Stable Diffusion/FLUX/DALL-E 图像生成 - AI 回复消息的文本转语音(通过 ElevenLabs、Silero 或操作系统的 TTS) - 网络搜索功能,为您的 Prompt 添加额外的现实世界背景信息 - 更多扩展可从“下载扩展和资源”菜单中下载。 有关如何使用它们的使用教程,请参阅[文档](https://docs.sillytavern.app/)。 ## ⌛ 安装 ### 🪟 Windows > \[!WARNING] > > - 请勿安装到任何受 Windows 控制的文件夹(Program Files、System32 等)中。 > - 请勿以管理员权限运行 Start.bat > - 无法在 Windows 7 上安装,因为它无法运行 NodeJS 18.16 #### 通过 Git 安装(推荐) 1. 安装 [NodeJS](https://nodejs.org/en)(建议使用最新的 LTS 版本) 2. 安装 [Git for Windows](https://gitforwindows.org/) 3. 打开 Windows 资源管理器 (`Win+E`) 4. 浏览或创建一个不受 Windows 控制或监控的文件夹(例如:C:\MySpecialFolder\) 5. 通过点击顶部的“地址栏”,输入 `cmd`,然后按 Enter,在该文件夹内打开命令提示符。 6. 弹出黑框(命令提示符)后,键入以下其中一项并按 Enter: - Release 分支:`git clone https://github.com/SillyTavern/SillyTavern -b release` - Staging 分支: `git clone https://github.com/SillyTavern/SillyTavern -b staging` 7. 等待所有内容克隆完成后,双击 `Start.bat` 以使 NodeJS 安装其依赖项。 8. 然后服务器将启动,SillyTavern 将在您的浏览器中弹出。 #### 通过 GitHub Desktop 安装 (这**仅**允许在 GitHub Desktop 中使用 git,如果您也想在命令行上使用 `git`,则还需要安装 [Git for Windows](https://gitforwindows.org/)) 1. 安装 [NodeJS](https://nodejs.org/en)(建议使用最新的 LTS 版本) 2. 安装 [GitHub Desktop](https://central.github.com/deployments/desktop/desktop/latest/win32) 3. 安装 GitHub Desktop 后,点击 `Clone a repository from the internet....`(注意:此步骤**无需**创建 GitHub 帐户) 4. 在菜单中,点击 URL 选项卡,输入此 URL `https://github.com/SillyTavern/SillyTavern`,然后点击 Clone。您可以更改本地路径以更改 SillyTavern 的下载位置。 5. 要打开 SillyTavern,请使用 Windows 资源管理器浏览到克隆存储库的文件夹。默认情况下,存储库将克隆到此处:`C:\Users\[您的 Windows 用户名]\Documents\GitHub\SillyTavern` 6. 双击 `start.bat` 文件。(注意:文件名的 `.bat` 部分可能被您的操作系统隐藏,在这种情况下,它将显示为一个名为“`Start`”的文件。双击此文件以运行 SillyTavern) 7. 双击后,应打开一个大的黑色命令控制台窗口,SillyTavern 将开始安装其运行所需的组件。 8. 安装过程完成后,如果一切正常,命令控制台窗口应如下所示,并且您的浏览器中应打开一个 SillyTavern 选项卡: 9. 连接到任何[支持的 API](https://docs.sillytavern.app/usage/api-connections/) 并开始聊天! ### 🐧 Linux & 🍎 MacOS 对于 MacOS / Linux,所有这些都将在终端中完成。 1. 安装 git 和 nodeJS(具体方法取决于您的操作系统) 2. 克隆仓库 - Release 分支:`git clone https://github.com/SillyTavern/SillyTavern -b release` - Staging 分支: `git clone https://github.com/SillyTavern/SillyTavern -b staging` 3. `cd SillyTavern` 导航到安装文件夹。 4. 使用以下命令之一运行 `start.sh` 脚本: - `./start.sh` - `bash start.sh` ## 🐋 通过 Docker 安装 这些说明假定您已安装 Docker,能够访问命令行以安装容器,并熟悉其常规操作。 ### 使用 GitHub Container Registry #### Docker Compose (最简单) 从 [GitHub 仓库](https://github.com/SillyTavern/SillyTavern/blob/release/docker/docker-compose.yml) 获取 `docker-compose.yml` 文件,并在文件所在目录中运行以下命令。这将从 GitHub Container Registry 中拉取最新的 release 镜像并启动容器,自动创建必要的卷。 ```shell docker-compose up ``` 根据您的需求自定义 `docker-compose.yml` 文件。默认端口为 8000。如果您想使用环境变量调整服务器配置,请在此处阅读文档:[链接](https://docs.sillytavern.app/administration/config-yaml/#environment-variables)。 #### Docker CLI (高级) 您将需要两个强制性的目录映射和一个端口映射才能使 SillyTavern 正常运行。在命令中,替换以下位置中的选项: #### 容器变量 ##### 卷映射 - `CONFIG_PATH` - SillyTavern 配置文件将存储在主机上的目录 - `DATA_PATH` - SillyTavern 用户数据(包括角色)将存储在主机上的目录 - `PLUGINS_PATH` - (可选) SillyTavern 服务器插件将存储在主机上的目录 - `EXTENSIONS_PATH` - (可选) 全局 UI 扩展将存储在主机上的目录 ##### 端口映射 - `PUBLIC_PORT` - 暴露流量的端口。这是强制性的,因为您将从其虚拟机容器外部访问实例。**在未实现单独的安全服务的情况下,请勿将其暴露给互联网。** ##### 附加设置 - `SILLYTAVERN_VERSION` - 在此 GitHub 页面的右侧,您会看到“Packages”。选择“sillytavern”包,您将看到镜像版本。镜像标签“latest”将使您与当前 release 保持同步。您还可以使用指向相应分支的每日镜像的“staging”标签。 #### 运行容器 1. 打开您的命令行 2. 在您要存储配置和数据文件的文件夹中运行以下命令: ```bash SILLYTAVERN_VERSION="latest" PUBLIC_PORT="8000" CONFIG_PATH="./config" DATA_PATH="./data" PLUGINS_PATH="./plugins" EXTENSIONS_PATH="./extensions" docker run \ --name="sillytavern" \ -p "$PUBLIC_PORT:8000/tcp" \ -v "$CONFIG_PATH:/home/node/app/config:rw" \ -v "$DATA_PATH:/home/node/app/data:rw" \ -v "$EXTENSIONS_PATH:/home/node/app/public/scripts/extensions/third-party:rw" \ -v "$PLUGINS_PATH:/home/node/app/plugins:rw" \ ghcr.io/sillytavern/sillytavern:"$SILLYTAVERN_VERSION" ``` > 默认情况下,容器将在前台运行。如果要在后台运行它,请将 `-d` 标志添加到 `docker run` 命令中。 ### 自己构建镜像 我们有一个关于在 Docker 中使用 SillyTavern 的综合指南[在此处](http://docs.sillytavern.app/installation/docker/),涵盖了 Windows、macOS 和 Linux 上的安装!如果您希望自己构建镜像,请阅读它。 ## ⚡ 通过 SillyTavern Launcher 安装 SillyTavern Launcher 是一个安装向导,可帮助您进行多种选项的设置,包括为本地推理安装后端。 ### 对于 Windows 用户 1. 在键盘上:按 **`WINDOWS + R`** 打开“运行”对话框。然后,运行以下命令安装 git: ```shell cmd /c winget install -e --id Git.Git ``` 2. 在键盘上:按 **`WINDOWS + E`** 打开文件资源管理器,然后导航到要安装启动器的文件夹。进入所需文件夹后,在地址栏中键入 `cmd` 并按 Enter。然后,运行以下命令: ```shell git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher && start installer.bat ``` ### 对于 Linux 用户 1. 打开您喜欢的终端并安装 git 2. 使用以下命令克隆 SillyTavern-Launcher: ```shell git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher ``` 3. 使用以下命令启动 installer.sh: ```shell chmod +x install.sh && ./install.sh ``` 4. 安装后使用以下命令启动 launcher.sh: ```shell chmod +x launcher.sh && ./launcher.sh ``` ### 对于 Mac 用户 1. 打开终端并使用以下命令安装 brew: ```shell /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` 2. 使用以下命令安装 git: ```shell brew install git ``` 3. 使用以下命令克隆 SillyTavern-Launcher: ```shell git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher ``` 4. 使用以下命令启动 installer.sh: ```shell chmod +x install.sh && ./install.sh ``` 5. 安装后使用以下命令启动 launcher.sh: ```shell chmod +x launcher.sh && ./launcher.sh ``` ## 📱 通过 Termux 在 Android OS 上安装 > \[!NOTE] > **SillyTavern 可以在 Android 设备上使用 Termux 原生运行,但我们不为此用例提供官方支持。** > > **请参阅 ArroganceComplex#2659 编写的本指南:** > > - **不支持的平台:android arm LEtime-web。** 32 位 Android 需要一个无法通过 npm 安装的外部依赖项。使用以下命令安装它:`pkg install esbuild`。然后运行常规安装步骤。 ## 命令行参数 您可以将命令行参数传递给 SillyTavern 服务器启动脚本,以覆盖 `config.yaml` 中的某些设置。 ### 示例 ```shell node server.js --port 8000 --listen false # 或 npm run start -- --port 8000 --listen false # 或 (仅限 Windows) Start.bat --port 8000 --listen false ``` ### 支持的参数 > \[!TIP] > 所有参数都不是必需的。如果您不提供它们,SillyTavern 将使用 `config.yaml` 中的设置。 | 选项 | 描述 | 类型 | | -------------------------------- | ---------------------------------------------- | ------- | | `--version` | 显示版本号 | boolean | | `--configPath` | 覆盖 config.yaml 文件的路径 | string | | `--dataRoot` | 数据存储的根目录 | string | | `--port` | 设置 SillyTavern 将在其下运行的端口 | number | | `--listen` | SillyTavern 将侦听所有网络接口 | boolean | | `--whitelist` | 启用白名单模式 | boolean | | `--basicAuthMode` | 启用基本身份验证 | boolean | | `--enableIPv4` | 启用 IPv4 协议 | boolean | | `--enableIPv6` | 启用 IPv6 协议 | boolean | | `--listenAddressIPv4` | 要侦听的特定 IPv4 地址 | string | | `--listenAddressIPv6` | 要侦听的特定 IPv6 地址 | string | | `--dnsPreferIPv6` | DNS 首选 IPv6 | boolean | | `--ssl` | 启用 SSL | boolean | | `--certPath` | 您的证书文件路径 | string | | `--keyPath` | 您的私钥文件路径 | string | | `--browserLaunchEnabled` | 自动在浏览器中启动 SillyTavern | boolean | | `--browserLaunchHostname` | 自动运行主机名 | string | | `--browserLaunchPort` | 覆盖自动运行的端口 | string | | `--browserLaunchAvoidLocalhost` | 在自动模式下避免使用 'localhost' 进行自动运行 | boolean | | `--corsProxy` | 启用 CORS 代理 | boolean | | `--requestProxyEnabled` | 为传出请求启用代理 | boolean | | `--requestProxyUrl` | 请求代理 URL(HTTP 或 SOCKS 协议) | string | | `--requestProxyBypass` | 请求代理绕过列表(以空格分隔的主机列表) | array | | `--disableCsrf` | 禁用 CSRF 保护(不推荐) | boolean | ## 远程连接 这通常适用于那些想在手机上使用 SillyTavern,而他们的电脑在同一 Wi-Fi 网络上运行 ST 服务器的人。但是,它也可以用于允许从任何地方进行远程连接。 请在[文档](https://docs.sillytavern.app/usage/remoteconnections/)中阅读有关如何设置远程连接的详细指南。 您可能还需要配置 SillyTavern 用户配置文件(可选密码保护):[用户](https://docs.sillytavern.app/administration/multi-user/)。 ## 许可证和致谢 **本程序的分发是希望它能有用,但不提供任何保证;甚至没有对适销性或特定用途适用性的默示保证。有关更多详细信息,请参阅 GNU Affero 通用公共许可证。** - [TavernAI](https://github.com/TavernAI/TavernAI) 1.2.8 by Humi: MIT 许可证 - CncAnon 的 TavernAITurbo mod 的部分内容经许可使用 - 视觉小说模式的灵感来自 PepperTaco 的工作 () - Noto Sans 字体 by Google (OFL 许可证) - 图标主题 by Font Awesome (图标: CC BY 4.0, 字体: SIL OFL 1.1, 代码: MIT 许可证) - 默认内容由 @OtisAlejandro (Seraphina 角色和世界书) 和 @kallmeflocc (10K Discord 用户庆祝背景) 提供 - Docker 指南由 [@mrguymiah](https://github.com/mrguymiah) 和 [@Bronya-Rand](https://github.com/Bronya-Rand) 提供 - kokoro-js 库由 [@hexgrad](https://github.com/hexgrad) 提供 (Apache-2.0 许可证) - 中文翻译由 [@XXpE3](https://github.com/XXpE3) 完成,中文 ISSUES 可以联系 @XXpE3 ## 主要贡献者 [![Contributors](https://contrib.rocks/image?repo=SillyTavern/SillyTavern)](https://github.com/SillyTavern/SillyTavern/graphs/contributors) [cover]: https://github.com/user-attachments/assets/01a6ae9a-16aa-45f2-8bff-32b5dc587e44 [discord-link]: https://discord.gg/sillytavern [discord-shield-badge]: https://img.shields.io/discord/1100685673633153084?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge