| 16 | | 18 | |
| 17 | --- | 19 | --- |
| 18 | | 20 | |
| 19 | 移动设备界面友好,多种人工智能服务或模型支持(KoboldAI/CPP, Horde, NovelAI, Ooba, OpenAI, OpenRouter, Claude, Scale),类似 Galgame 的 老 婆 模 式,Horde SD,文本系统语音生成,世界信息(Lorebooks),可定制的界面,自动翻译,和比你所需要的更多的 Prompt。附带扩展服务,支持文本绘画生成与语音生成和基于向量数据库 的聊天信息总结。 | 21 | SillyTavern 为众多 LLM API(KoboldAI/CPP、Horde、NovelAI、Ooba、Tabby、OpenAI、OpenRouter、Claude、Mistral 等)提供统一界面,拥有移动设备友好的布局、视觉小说模式、Automatic1111 & ComfyUI API 图像生成集成、TTS、世界书(lorebooks)、可自定义的 UI、自动翻译、超乎您想象的丰富 Prompt 选项,以及通过第三方扩展实现的无限增长潜力。 |
| 20 | | 22 | |
| 21 | 基于 TavernAI 1.2.8 的分叉版本 | 23 | 我们有一个[文档网站](https://docs.sillytavern.app/)来回答您的大部分问题并帮助您入门。 |
| 22 | | 24 | |
| 23 | ### 由 Cohee、RossAscends 和 SillyTavern 社区为您呈现 | 25 | ## SillyTavern 是什么? |
| 24 | | 26 | |
| 25 | 注意:我们创建了一个 [帮助文档](https://docs.sillytavern.app/) 网站来回答各类问题与帮助您开始使用。 | 27 | SillyTavern(简称 ST)是一个本地安装的用户界面,允许您与文本生成 LLM、图像生成引擎和 TTS 语音模型进行交互。 |
| 26 | | 28 | |
| 27 | ### SillyTavern 或 TavernAI 是什么? | 29 | SillyTavern 于 2023 年 2 月作为 TavernAI 1.2.8 的一个分支开始,如今已拥有超过 200 名贡献者和 2 年的独立开发经验,并继续作为资深 AI 爱好者领先的软件。 |
| 28 | | 30 | |
| 29 | SillyTavern 是一个可以安装在电脑(和安卓手机)上的用户界面,让您可以与文本生成的人工智能互动,并与您或社区创建的角色聊天/玩角色扮演游戏。 | 31 | ## 我们的愿景 |
| 30 | | 32 | |
| 31 | SillyTavern 是 TavernAI 1.2.8 的一个分支,正在进行更积极地开发,并添加了许多重要功能。在这一点上,它可以被视为完全独立的程序。 | 33 | 1. 我们的目标是尽可能为用户提供 LLM Prompt 的最大效用和控制权。陡峭的学习曲线是乐趣的一部分! |
| | 34 | 2. 我们不提供任何在线或托管服务,也不会以编程方式跟踪任何用户数据。 |
| | 35 | 3. SillyTavern 是一个由专注的 LLM 爱好者社区为您带来的充满激情的项目,并且将永远是免费和开源的。 |
| 32 | | 36 | |
| 33 | ### 分支 | 37 | ## 分支 |
| 34 | | 38 | |
| 35 | SillyTavern 采用双分支进行开发,以确保所有用户都能获得流畅的使用体验。 | 39 | SillyTavern 采用双分支进行开发,以确保所有用户都能获得流畅的使用体验。 |
| 36 | | 40 | |
| 37 | * release -🌟 **推荐给大多数用户。** 这是最稳定、最推荐的分支,只有在重大版本推送时才会更新。适合大多数用户使用。 | 41 | - `release` -🌟 **推荐给大多数用户。** 这是最稳定、最推荐的分支,只有在重大版本推送时才会更新。适合大多数用户使用。通常每月更新一次。 |
| 38 | * staging - ⚠️ **不建议随意使用。** 该分支拥有最新功能,但要谨慎,因为它随时可能崩溃。仅适用于高级用户和爱好者。 | 42 | - `staging` - ⚠️ **不建议随意使用。** 该分支拥有最新功能,但要谨慎,因为它随时可能崩溃。仅适用于高级用户和爱好者。每天更新数次。 |
| 39 | | 43 | |
| 40 | 如果你不熟悉使用 Git 命令,或者不了解什么是分支,别担心!release 分支始终是您的首选。 | 44 | 如果你不熟悉使用 git 命令行,或者不了解什么是分支,别担心!`release` 分支始终是您的首选。 |
| 41 | | 45 | |
| 42 | ### 除了 SillyTavern,我还需要什么? | 46 | ## 除了 SillyTavern,我还需要什么? |
| 43 | | 47 | |
| 44 | SillyTavern 本身并无用处,因为它只是一个用户聊天界面。你必须接入一个能充当角色扮演的人工智能系统。支持的人工智能系统有多种:OpenAPI API (GPT)、KoboldAI(可在本地或 Google Colab 上运行)等。您可以在 [常见问题](https://docs.sillytavern.app/usage/faq/) 中阅读更多相关信息。 | 48 | 由于 SillyTavern 只是一个界面,您需要接入一个 LLM 后端来进行推理。您可以使用 AI Horde 进行开箱即用的聊天。除此之外,我们还支持许多其他本地和基于云的 LLM 后端:OpenAI 兼容 API、KoboldAI、Tabby 等等。您可以在[文档](https://docs.sillytavern.app/usage/api-connections/)中阅读更多关于我们支持的 API 的信息。 |
| 45 | | 49 | |
| 46 | ### 我需要一台性能强大的电脑来运行 SillyTavern 吗? | 50 | ### 我需要一台性能强大的电脑来运行 SillyTavern 吗? |
| 47 | | 51 | |
| 48 | 由于 SillyTavern 只是一个用户聊天界面,它对硬件性能的要求很低,可以在任何电脑上运行。需要强大性能的是人工智能系统。 | 52 | 硬件要求很低:任何可以运行 NodeJS 18 或更高版本的设备都可以运行它。如果您打算在本地计算机上进行 LLM 推理,我们建议使用至少具有 6GB VRAM 的 3000 系列 NVIDIA 显卡。有关更多详细信息,请查看您后端的文档。 |
| 49 | | | |
| 50 | ### 移动设备支持 | | |
| 51 | | | |
| 52 | > 注意 | | |
| 53 | | 53 | |
| 54 | > **此分叉可使用 Termux 在安卓手机上原生运行。请参考 ArroganceComplex#2659 编写的指南:** | 54 | ### 建议的后端(非附属) |
| 55 | | 55 | |
| 56 | <https://rentry.org/STAI-Termux> | 56 | - [AI Horde](https://aihorde.net/) - 使用志愿者托管的模型。无需进一步设置。 |
| | 57 | - [KoboldCpp](https://github.com/LostRuins/koboldcpp) - 社区最喜欢的在本地运行 GGUF 模型的工具。 |
| | 58 | - [tabbyAPI](https://github.com/theroyallab/tabbyAPI) - 一款流行的、轻量级的、本地托管的 exl2 推理 API。 |
| | 59 | - [OpenRouter](https://openrouter.ai) - 一个适用于许多云提供商(OpenAI、Claude、Meta Llama 等)以及流行社区模型的单一 API。 |
| 57 | | 60 | |
| 58 | ## 有问题或建议? | 61 | ## 有问题或建议? |
| 59 | | 62 | |
| 60 | ### 我们现在有了 Discord 社区 | 63 | ### Discord 服务器 |
| 61 | | 64 | |
| 62 | 获取支持,或分享喜爱的角色和 Prompt: | 65 | | [![][discord-shield-badge]][discord-link] | [加入我们的 Discord 社区!](https://discord.gg/sillytavern) 获取支持,分享喜爱的角色和 Prompt。 | |
| | 66 | | :---------------------------------------- | :---------------------------------------------------------------------------------------------- | |
| 63 | | 67 | |
| 64 | ### [加入 Discord 社区](https://discord.gg/sillytavern) | 68 | 或者直接与开发人员联系: |
| 65 | | 69 | |
| 66 | *** | 70 | - Discord: cohee, rossascends, wolfsblvt |
| | 71 | - 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/) |
| | 72 | - [提交 GitHub 问题](https://github.com/SillyTavern/SillyTavern/issues) |
| 67 | | 73 | |
| 68 | 直接与开发人员联系: | 74 | ### 我喜欢你的项目!我该如何贡献自己的力量? |
| 69 | | 75 | |
| 70 | * Discord: cohee 或 rossascends | 76 | 1. 发送 Pull Request。学习如何贡献:[CONTRIBUTING.md](../CONTRIBUTING.md) |
| 71 | * Reddit:/u/RossAscends 或 /u/sillylossy | 77 | 2. 使用提供的模板发送功能建议和问题报告。 |
| 72 | * [发布 GitHub 问题](https://github.com/SillyTavern/SillyTavern/issues) | 78 | 3. 请先阅读整个 readme 文件并查看文档网站,以避免提交重复的问题。 |
| 73 | | 79 | |
| 74 | ## 此版本包括 | 80 | ## 屏幕截图 |
| 75 | | 81 | |
| 76 | * 经过大量修改的 TavernAI 1.2.8(超过 50% 的代码经过重写或优化) | 82 | <img width="500" alt="image" src="https://github.com/user-attachments/assets/9b5f32f0-c3b3-4102-b3f5-0e9213c0f50f"> |
| 77 | * 根据自定义规则自动重新生成消息 | 83 | <img width="500" alt="image" src="https://github.com/user-attachments/assets/913fdbaa-7d33-42f1-ae2c-89dca41c53d1"> |
| 78 | * 群聊:多机器人房间,供角色与你或彼此交谈 | | |
| 79 | * 聊天书签/分支(复制当前状态下的对话) | | |
| 80 | * 先进的 KoboldAI / TextGen 生成设置,包含大量社区预设 | | |
| 81 | * 支持世界信息(Lorebooks):创建丰富的传说 | | |
| 82 | * 支持 Window AI 浏览器扩展(运行 Claude、GPT 4 等模型):<https://windowai.io/> | | |
| 83 | * [Oobabooga's TextGen WebUI](https://github.com/oobabooga/text-generation-webui) API 连接 | | |
| 84 | * 连接 [AI Horde](https://aihorde.net/) | | |
| 85 | * Prompt 生成格式调整 | | |
| 86 | * Webp 角色卡支持(PNG 仍是内部格式) | | |
| 87 | | 84 | |
| 88 | ## 扩展 | 85 | ## 角色卡 |
| 89 | | 86 | |
| 90 | SillyTavern 支持扩展服务。 | 87 | SillyTavern 围绕“角色卡”的概念构建。角色卡是设定 LLM 行为的 Prompt 集合,是在 SillyTavern 中进行持久对话所必需的。它们的功能类似于 ChatGPT 的 GPTs 或 Poe 的 bots。角色卡的内容可以是任何东西:一个抽象的场景、一个为特定任务量身定制的助手、一个著名人物或一个虚构角色。 |
| 91 | | 88 | |
| 92 | * 角色情绪识别 | 89 | 要在不选择角色卡的情况下进行快速对话或仅测试 LLM 连接,只需在打开 SillyTavern 后在欢迎屏幕的输入栏中键入您的 Prompt 输入。这将创建一个空的“助手”角色卡,您可以稍后自定义。 |
| 93 | * 聊天记录自动摘要 | | |
| 94 | * 在聊天窗口发送图片,并由人工智能解释图片内容 | | |
| 95 | * 文本图像生成(5 预设,以及 "自由模式") | | |
| 96 | * 聊天信息的文字转语音(通过 ElevenLabs、Silero 或操作系统的语音生成) | | |
| 97 | | 90 | |
| 98 | 扩展服务的完整功能介绍和使用教程,请参阅 [Docs](https://docs.sillytavern.app/)。 | 91 | 要大致了解如何定义角色卡,请参阅默认角色(Seraphina)或从“下载扩展和资源”菜单中下载选定的社区制作卡片。 |
| 99 | | 92 | |
| 100 | ## 界面/CSS/性能,由 RossAscends 调整并优化 | 93 | ## 主要功能 |
| 101 | | 94 | |
| 102 | * 针对 iOS 系统优化了界面,并支持将快捷方式保存到主屏幕,在全屏模式下打开。 | 95 | - 高级文本生成设置,包含许多社区制作的预设 |
| 103 | * 热键 | 96 | - 世界书支持:创建丰富的传说或节省角色卡上的 Token |
| 104 | * 上 = 编辑聊天中的最后一条信息 | 97 | - 群聊:多机器人房间,供角色与您或彼此交谈 |
| 105 | * Ctrl+P = 编辑聊天中最后一条用户信息 | 98 | - 丰富的 UI 自定义选项:主题颜色、背景图片、自定义 CSS 等 |
| 106 | * 左 = 向左滑动 | 99 | - 用户角色:让 AI 了解一些关于您的信息,以获得更强的沉浸感 |
| 107 | * 右 = 向右滑动(注意:当聊天窗口输入内容时,轻扫快捷键将被禁用) | 100 | - 内置 RAG 支持:将文档添加到您的聊天中供 AI 参考 |
| 108 | * Ctrl+左 = 查看本地存储的变量(在浏览器控制台窗口中) | 101 | - 广泛的聊天命令子系统和自己的[脚本引擎](https://docs.sillytavern.app/usage/st-script/) |
| 109 | * 回车(选择聊天栏)= 向人工智能发送信息 | | |
| 110 | * Ctrl+Enter = 重新生成人工智能最后的回复 | | |
| 111 | | 102 | |
| 112 | * 用户名更改和角色删除不再强制重新刷新页面。 | 103 | ## 扩展 |
| 113 | | 104 | |
| 114 | * 增加在页面加载时自动连接 API 的选项。 | 105 | SillyTavern 支持扩展。 |
| 115 | * 增加选项,在页面加载时自动加载最近的聊天信息。 | | |
| 116 | * 更好的 Tokens 计算器 - 适用于未保存的文字,并显示永久和临时 Tokens 数量 | | |
| 117 | | 106 | |
| 118 | * 更好的聊天历史查询窗口 | 107 | - 角色情绪表达 |
| 119 | * 聊天的文件名以"(角色卡名称)+(创建时间)"的可读格式保存 | 108 | - 聊天记录自动摘要 |
| 120 | * 聊天历史预览从 40 个字符增加到 300 个字符。 | 109 | - 自动 UI 和聊天翻译 |
| 121 | * 聊天历史排序有多种选择(按名称、创建日期、聊天记录大小)。 | 110 | - Stable Diffusion/FLUX/DALL-E 图像生成 |
| | 111 | - AI 回复消息的文本转语音(通过 ElevenLabs、Silero 或操作系统的 TTS) |
| | 112 | - 网络搜索功能,为您的 Prompt 添加额外的现实世界背景信息 |
| | 113 | - 更多扩展可从“下载扩展和资源”菜单中下载。 |
| 122 | | 114 | |
| 123 | * 默认情况下,左侧和右侧弹出的设置面板会在点击其他区域时自动关闭。 | 115 | 有关如何使用它们的使用教程,请参阅[文档](https://docs.sillytavern.app/)。 |
| 124 | * 点击导航面板上的 "锁按钮" 将保持弹出面板打开,并在不同聊天中记住此设置。 | | |
| 125 | * 导航面板的打开或关闭状态也会跨聊天保存。 | | |
| 126 | | 116 | |
| 127 | * 自定义聊天界面: | 117 | ## ⌛ 安装 |
| 128 | * 收到新消息时播放提示音 | | |
| 129 | * 切换圆形或长方形头像样式 | | |
| 130 | * 在台式电脑上拥有更宽的聊天窗口 | | |
| 131 | * 可选的半透明玻璃效果聊天窗口 | | |
| 132 | * 可定制 "主文本"、"引用文本 "和 "斜体文本 "的字体颜色。 | | |
| 133 | * 可定制聊天界面的背景颜色和透明模糊程度 | | |
| 134 | | 118 | |
| 135 | ## 安装 | 119 | ### 🪟 Windows |
| 136 | | 120 | |
| 137 | *注意:SillyTavern 用于本地安装,尚未在 Colab 或其他云服务上进行全面测试。 | 121 | > \[!WARNING] |
| | 122 | > |
| | 123 | > - 请勿安装到任何受 Windows 控制的文件夹(Program Files、System32 等)中。 |
| | 124 | > - 请勿以管理员权限运行 Start.bat |
| | 125 | > - 无法在 Windows 7 上安装,因为它无法运行 NodeJS 18.16 |
| 138 | | 126 | |
| 139 | > **警告** | 127 | #### 通过 Git 安装(推荐) |
| 140 | | 128 | |
| 141 | > 切勿安装到任何受 Windows 控制的系统文件夹(Program Files, System32, etc)中。 | 129 | 1. 安装 [NodeJS](https://nodejs.org/en)(建议使用最新的 LTS 版本) |
| | 130 | 2. 安装 [Git for Windows](https://gitforwindows.org/) |
| | 131 | 3. 打开 Windows 资源管理器 (`Win+E`) |
| | 132 | 4. 浏览或创建一个不受 Windows 控制或监控的文件夹(例如:C:\MySpecialFolder\) |
| | 133 | 5. 通过点击顶部的“地址栏”,输入 `cmd`,然后按 Enter,在该文件夹内打开命令提示符。 |
| | 134 | 6. 弹出黑框(命令提示符)后,键入以下其中一项并按 Enter: |
| 142 | | 135 | |
| 143 | > 不要以管理员权限运行 start.bat | 136 | - Release 分支:`git clone https://github.com/SillyTavern/SillyTavern -b release` |
| | 137 | - Staging 分支: `git clone https://github.com/SillyTavern/SillyTavern -b staging` |
| 144 | | 138 | |
| 145 | ### Windows | 139 | 7. 等待所有内容克隆完成后,双击 `Start.bat` 以使 NodeJS 安装其依赖项。 |
| | 140 | 8. 然后服务器将启动,SillyTavern 将在您的浏览器中弹出。 |
| 146 | | 141 | |
| 147 | 通过 Git 安装(推荐使用,便于更新) | 142 | #### 通过 GitHub Desktop 安装 |
| 148 | | 143 | |
| 149 | 附有精美图片示例的简易指南: | 144 | (这**仅**允许在 GitHub Desktop 中使用 git,如果您也想在命令行上使用 `git`,则还需要安装 [Git for Windows](https://gitforwindows.org/)) |
| 150 | <https://docs.sillytavern.app/installation/windows/> | | |
| 151 | | 145 | |
| 152 | 1. 安装 [NodeJS](https://nodejs.org/en)(建议使用最新的 LTS 版本) | 146 | 1. 安装 [NodeJS](https://nodejs.org/en)(建议使用最新的 LTS 版本) |
| 153 | 2. 安装 [GitHub 客户端](https://central.github.com/deployments/desktop/desktop/latest/win32) | 147 | 2. 安装 [GitHub Desktop](https://central.github.com/deployments/desktop/desktop/latest/win32) |
| 154 | 3. 打开 Windows 资源管理器 (`Win+E`) | 148 | 3. 安装 GitHub Desktop 后,点击 `Clone a repository from the internet....`(注意:此步骤**无需**创建 GitHub 帐户) |
| 155 | 4. 浏览或创建一个不受 Windows 控制或监控的文件夹。(例如:C:\MySpecialFolder\) | 149 | 4. 在菜单中,点击 URL 选项卡,输入此 URL `https://github.com/SillyTavern/SillyTavern`,然后点击 Clone。您可以更改本地路径以更改 SillyTavern 的下载位置。 |
| 156 | 5. 点击顶部的 "地址栏",在该文件夹内打开命令提示符,输入 `cmd`,然后按回车。 | 150 | 5. 要打开 SillyTavern,请使用 Windows 资源管理器浏览到克隆存储库的文件夹。默认情况下,存储库将克隆到此处:`C:\Users\[您的 Windows 用户名]\Documents\GitHub\SillyTavern` |
| 157 | 6. 弹出黑框(CMD 命令提示符)后,键入以下其中一项并按 Enter: | 151 | 6. 双击 `start.bat` 文件。(注意:文件名的 `.bat` 部分可能被您的操作系统隐藏,在这种情况下,它将显示为一个名为“`Start`”的文件。双击此文件以运行 SillyTavern) |
| | 152 | 7. 双击后,应打开一个大的黑色命令控制台窗口,SillyTavern 将开始安装其运行所需的组件。 |
| | 153 | 8. 安装过程完成后,如果一切正常,命令控制台窗口应如下所示,并且您的浏览器中应打开一个 SillyTavern 选项卡: |
| | 154 | 9. 连接到任何[支持的 API](https://docs.sillytavern.app/usage/api-connections/) 并开始聊天! |
| 158 | | 155 | |
| 159 | * 稳定分支:`git clone https://github.com/SillyTavern/SillyTavern -b release` | 156 | ### 🐧 Linux & 🍎 MacOS |
| 160 | * 开发分支: `git clone https://github.com/SillyTavern/SillyTavern -b staging` | | |
| 161 | | 157 | |
| 162 | 7. 等待 Git 克隆完成后,双击文件夹中的 `Start.bat` 将启动 NodeJS 并开始自动安装需要的软件包。 | 158 | 对于 MacOS / Linux,所有这些都将在终端中完成。 |
| 163 | 8. 然后 SillyTavern 服务就会自动启动,同时在浏览器新标签页中自动打开。 | | |
| 164 | | 159 | |
| 165 | 通过压缩包下载安装(不推荐) | 160 | 1. 安装 git 和 nodeJS(具体方法取决于您的操作系统) |
| | 161 | 2. 克隆仓库 |
| 166 | | 162 | |
| 167 | 1. 安装 [NodeJS](https://nodejs.org/en)(建议使用最新的 LTS 版本) | 163 | - Release 分支:`git clone https://github.com/SillyTavern/SillyTavern -b release` |
| 168 | 2. 从该 GitHub 仓库下载压缩包。(从 [Releases](https://github.com/SillyTavern/SillyTavern/releases/latest) 获取 "Source code(zip)")。 | 164 | - Staging 分支: `git clone https://github.com/SillyTavern/SillyTavern -b staging` |
| 169 | 3. 将压缩包解压到您选择的文件夹中 | | |
| 170 | 4. 双击或在命令行中运行 `Start.bat`。 | | |
| 171 | 5. SillyTavern 服务自动为你准备好一切后,会在你的浏览器中打开一个新标签页。 | | |
| 172 | | 165 | |
| 173 | ### Linux | 166 | 3. `cd SillyTavern` 导航到安装文件夹。 |
| | 167 | 4. 使用以下命令之一运行 `start.sh` 脚本: |
| 174 | | 168 | |
| 175 | 1.运行 `start.sh` 脚本。 | 169 | - `./start.sh` |
| 176 | 2.等待自动完成,然后开始享受 | 170 | - `bash start.sh` |
| 177 | | 171 | |
| 178 | ## API 密钥管理 | 172 | ## 🐋 通过 Docker 安装 |
| 179 | | 173 | |
| 180 | SillyTavern 会将 API 密钥保存在目录中的 `secrets.json` 文件内。 | 174 | 这些说明假定您已安装 Docker,能够访问命令行以安装容器,并熟悉其常规操作。 |
| 181 | | 175 | |
| 182 | 默认情况下,输入密钥并重新加载页面后,密钥会自动隐藏以保证安全。 | 176 | ### 使用 GitHub Container Registry |
| 183 | | 177 | |
| 184 | 如果要想通过点击 API 输入框旁边的按钮来查看密钥,请按照以下设置: | 178 | #### Docker Compose (最简单) |
| 185 | | 179 | |
| 186 | 1. 打开 `config.yaml` 文件,将里面的 `allowKeysExposure` 设置为 `true`。 | 180 | 从 [GitHub 仓库](https://github.com/SillyTavern/SillyTavern/blob/release/docker/docker-compose.yml) 获取 `docker-compose.yml` 文件,并在文件所在目录中运行以下命令。这将从 GitHub Container Registry 中拉取最新的 release 镜像并启动容器,自动创建必要的卷。 |
| 187 | 2. 然后重启 SillyTavern 服务。 | | |
| 188 | | 181 | |
| 189 | ## 远程访问 | 182 | ```shell |
| | 183 | docker-compose up |
| | 184 | ``` |
| 190 | | 185 | |
| 191 | 这通常是为那些想在手机上使用 SillyTavern 的人准备的,而他们的电脑和手机在同一个局域网中。 | 186 | 根据您的需求自定义 `docker-compose.yml` 文件。默认端口为 8000。如果您想使用环境变量调整服务器配置,请在此处阅读文档:[链接](https://docs.sillytavern.app/administration/config-yaml/#environment-variables)。 |
| 192 | | 187 | |
| 193 | 不过,SillyTavern 也可以被设置为允许从任何地方进行远程访问。 | 188 | #### Docker CLI (高级) |
| 194 | | 189 | |
| 195 | **重要提示:SillyTavern 是单用户程序,因此任何人登录后都能看到所有的角色卡和聊天内容,并能更改任何设置。 | 190 | 您将需要两个强制性的目录映射和一个端口映射才能使 SillyTavern 正常运行。在命令中,替换以下位置中的选项: |
| 196 | | 191 | |
| 197 | ### 1.管理白名单 IP | 192 | #### 容器变量 |
| 198 | | 193 | |
| 199 | * 在你的 SillyTavern 文件夹中新建一个文本文件,名为 `whitelist.txt`。 | 194 | ##### 卷映射 |
| 200 | * 用文本编辑器打开该文件,添加你希望允许连接的 IP 地址列表。 | | |
| 201 | * 接受单个 IP 地址和 IP 范围,示例: | | |
| 202 | | 195 | |
| 203 | ``` | 196 | - `CONFIG_PATH` - SillyTavern 配置文件将存储在主机上的目录 |
| 204 | 192.168.0.1 | 197 | - `DATA_PATH` - SillyTavern 用户数据(包括角色)将存储在主机上的目录 |
| 205 | 192.168.0.20 | 198 | - `PLUGINS_PATH` - (可选) SillyTavern 服务器插件将存储在主机上的目录 |
| 206 | ``` | 199 | - `EXTENSIONS_PATH` - (可选) 全局 UI 扩展将存储在主机上的目录 |
| 207 | | 200 | |
| 208 | 或者 | 201 | ##### 端口映射 |
| 209 | | 202 | |
| 210 | ``` | 203 | - `PUBLIC_PORT` - 暴露流量的端口。这是强制性的,因为您将从其虚拟机容器外部访问实例。**在未实现单独的安全服务的情况下,请勿将其暴露给互联网。** |
| 211 | 192.168.0.* | | |
| 212 | ``` | | |
| 213 | | 204 | |
| 214 | (上述 IP 范围将允许局域网中的任何设备连接) | 205 | ##### 附加设置 |
| 215 | | 206 | |
| 216 | 也接受子网掩码设置(如 10.0.0.0/24)。 | 207 | - `SILLYTAVERN_VERSION` - 在此 GitHub 页面的右侧,您会看到“Packages”。选择“sillytavern”包,您将看到镜像版本。镜像标签“latest”将使您与当前 release 保持同步。您还可以使用指向相应分支的每日镜像的“staging”标签。 |
| 217 | | 208 | |
| 218 | * 保存`whitelist.txt`文件。 | 209 | #### 运行容器 |
| 219 | * 重启 SillyTavern 服务。 | | |
| 220 | | 210 | |
| 221 | 然后,文件中设置的 IP 就可以访问 SillyTavern 了。 | 211 | 1. 打开您的命令行 |
| | 212 | 2. 在您要存储配置和数据文件的文件夹中运行以下命令: |
| 222 | | 213 | |
| 223 | *注意:"config.yaml" 文件内也有一个 "whitelist" 设置,你可以用同样的方法设置它,但如果 "whitelist.txt" 文件存在,这个设置将被忽略。 | 214 | ```bash |
| | 215 | SILLYTAVERN_VERSION="latest" |
| | 216 | PUBLIC_PORT="8000" |
| | 217 | CONFIG_PATH="./config" |
| | 218 | DATA_PATH="./data" |
| | 219 | PLUGINS_PATH="./plugins" |
| | 220 | EXTENSIONS_PATH="./extensions" |
| 224 | | 221 | |
| 225 | ### 2.获取 SillyTavern 服务的 IP 地址 | 222 | docker run \ |
| | 223 | --name="sillytavern" \ |
| | 224 | -p "$PUBLIC_PORT:8000/tcp" \ |
| | 225 | -v "$CONFIG_PATH:/home/node/app/config:rw" \ |
| | 226 | -v "$DATA_PATH:/home/node/app/data:rw" \ |
| | 227 | -v "$EXTENSIONS_PATH:/home/node/app/public/scripts/extensions/third-party:rw" \ |
| | 228 | -v "$PLUGINS_PATH:/home/node/app/plugins:rw" \ |
| | 229 | ghcr.io/sillytavern/sillytavern:"$SILLYTAVERN_VERSION" |
| | 230 | ``` |
| 226 | | 231 | |
| 227 | 白名单设置完成后,您需要 SillyTavern 服务的 IP 地址。 | 232 | > 默认情况下,容器将在前台运行。如果要在后台运行它,请将 `-d` 标志添加到 `docker run` 命令中。 |
| 228 | | 233 | |
| 229 | 如果 SillyTavern 服务设备在同一个局域网上,则使用安装 SillyTavern 服务的电脑的局域网 IP 地址: | 234 | ### 自己构建镜像 |
| 230 | | 235 | |
| 231 | * Windows:Windows 按钮 > 在搜索栏中输入 `cmd.exe` > 在打开的控制台中输入 `ipconfig`,回车 > 然后在输出中查找 `IPv4` 地址。 | 236 | 我们有一个关于在 Docker 中使用 SillyTavern 的综合指南[在此处](http://docs.sillytavern.app/installation/docker/),涵盖了 Windows、macOS 和 Linux 上的安装!如果您希望自己构建镜像,请阅读它。 |
| 232 | | 237 | |
| 233 | 如果您(或其他人)想在互联网中访问你自己的 SillyTavern 服务,则需要运行 SillyTavern 服务的设备的互联网 IP 地址。 | 238 | ## ⚡ 通过 SillyTavern Launcher 安装 |
| 234 | | 239 | |
| 235 | * 使用运行 SillyTavern 的设备,访问 [this page](https://whatismyipaddress.com/) 并查找 `IPv4`。这是您从互联网访问时要用到的。 | 240 | SillyTavern Launcher 是一个安装向导,可帮助您进行多种选项的设置,包括为本地推理安装后端。 |
| 236 | | 241 | |
| 237 | ### 3. 使用其他设备访问 SillyTavern 服务 | 242 | ### 对于 Windows 用户 |
| 238 | | 243 | |
| 239 | 无论你最终使用的是什么 IP 地址,都要将该 IP 地址和端口号输入其他设备网络浏览器。 | 244 | 1. 在键盘上:按 **`WINDOWS + R`** 打开“运行”对话框。然后,运行以下命令安装 git: |
| 240 | | 245 | |
| 241 | 同一局域网中的 SillyTavern 服务的典型默认地址如下: | 246 | ```shell |
| | 247 | cmd /c winget install -e --id Git.Git |
| | 248 | ``` |
| 242 | | 249 | |
| 243 | `http://192.168.0.5:8000` | 250 | 2. 在键盘上:按 **`WINDOWS + E`** 打开文件资源管理器,然后导航到要安装启动器的文件夹。进入所需文件夹后,在地址栏中键入 `cmd` 并按 Enter。然后,运行以下命令: |
| 244 | | 251 | |
| 245 | 使用 http:// 而不是 https:// | 252 | ```shell |
| | 253 | git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher && start installer.bat |
| | 254 | ``` |
| 246 | | 255 | |
| 247 | ### 向所有 IP 开放您的 SillyTavern 服务 | 256 | ### 对于 Linux 用户 |
| 248 | | 257 | |
| 249 | 我们不建议这样做,但您可以打开 `config.yaml` 并将里面的 `whitelistMode` 设置改为 `false`。 | 258 | 1. 打开您喜欢的终端并安装 git |
| | 259 | 2. 使用以下命令克隆 SillyTavern-Launcher: |
| 250 | | 260 | |
| 251 | 你必须删除(或重命名)SillyTavern 文件夹中的 `whitelist.txt` 文件(如果有的话)。 | 261 | ```shell |
| | 262 | git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher |
| | 263 | ``` |
| 252 | | 264 | |
| 253 | 这通常是不安全的做法,所以我们要求在这样做时必须设置用户名和密码。 | 265 | 3. 使用以下命令启动 installer.sh: |
| 254 | | 266 | |
| 255 | 用户名和密码在`config.yaml`文件中设置。 | 267 | ```shell |
| | 268 | chmod +x install.sh && ./install.sh |
| | 269 | ``` |
| 256 | | 270 | |
| 257 | 重启 SillyTavern 服务后,只要知道用户名和密码,任何设备都可以访问。 | 271 | 4. 安装后使用以下命令启动 launcher.sh: |
| | 272 | |
| | 273 | ```shell |
| | 274 | chmod +x launcher.sh && ./launcher.sh |
| | 275 | ``` |
| | 276 | |
| | 277 | ### 对于 Mac 用户 |
| | 278 | |
| | 279 | 1. 打开终端并使用以下命令安装 brew: |
| | 280 | |
| | 281 | ```shell |
| | 282 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" |
| | 283 | ``` |
| 258 | | 284 | |
| 259 | ### 还是无法访问? | 285 | 2. 使用以下命令安装 git: |
| 260 | | 286 | |
| 261 | * 为 `config.yaml` 文件中的端口创建一条入站/出站防火墙规则。切勿将此误认为是路由器上的端口转发,否则,有人可能会发现你的聊天隐私,那就大错特错了。 | 287 | ```shell |
| 262 | * 在 "设置" > "网络和 Internet" > "以太网" 中启用 "专用网络" 配置。这对 Windows 11 非常重要,否则即使添加了上述防火墙规则也无法连接。 | 288 | brew install git |
| | 289 | ``` |
| 263 | | 290 | |
| 264 | ### 性能问题? | 291 | 3. 使用以下命令克隆 SillyTavern-Launcher: |
| 265 | | 292 | |
| 266 | 尝试在用户设置面板上关闭模糊效果(快速用户界面)模式。 | 293 | ```shell |
| | 294 | git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher |
| | 295 | ``` |
| 267 | | 296 | |
| 268 | ## 我喜欢你的项目!我该如何贡献自己的力量? | 297 | 4. 使用以下命令启动 installer.sh: |
| 269 | | 298 | |
| 270 | ### 应该 | 299 | ```shell |
| | 300 | chmod +x install.sh && ./install.sh |
| | 301 | ``` |
| 271 | | 302 | |
| 272 | 1. 发送 Fork 请求 | 303 | 5. 安装后使用以下命令启动 launcher.sh: |
| 273 | 2. 使用规定的模板发送功能建议和问题报告 | | |
| 274 | 3. 在提出任何问题之前,请先阅读 Readme 文件和文档 | | |
| 275 | | 304 | |
| 276 | #### 不应该 | 305 | ```shell |
| | 306 | chmod +x launcher.sh && ./launcher.sh |
| | 307 | ``` |
| 277 | | 308 | |
| 278 | 1. 提供金钱捐赠 | 309 | ## 📱 通过 Termux 在 Android OS 上安装 |
| 279 | 2. 发送错误报告而不提供任何详细信息 | | |
| 280 | 3. 提出已经回答过无数次的问题 | | |
| 281 | | 310 | |
| 282 | ## 我在哪里可以找到以前的聊天背景图片? | 311 | > \[!NOTE] |
| | 312 | > **SillyTavern 可以在 Android 设备上使用 Termux 原生运行,但我们不为此用例提供官方支持。** |
| | 313 | > |
| | 314 | > **请参阅 ArroganceComplex#2659 编写的本指南:** |
| | 315 | > |
| | 316 | > - <https://rentry.org/STAI-Termux> |
| 283 | | 317 | |
| 284 | 我们正在实行 100% 原创内容的政策,因此旧的背景图片已从该资源库中删除。 | 318 | **不支持的平台:android arm LEtime-web。** 32 位 Android 需要一个无法通过 npm 安装的外部依赖项。使用以下命令安装它:`pkg install esbuild`。然后运行常规安装步骤。 |
| 285 | | 319 | |
| 286 | 不过你可以在这里找到它们的存档: | 320 | ## 命令行参数 |
| 287 | | 321 | |
| 288 | <https://files.catbox.moe/1xevnc.zip> | 322 | 您可以将命令行参数传递给 SillyTavern 服务器启动脚本,以覆盖 `config.yaml` 中的某些设置。 |
| 289 | | 323 | |
| 290 | ## 屏幕截图 | 324 | ### 示例 |
| 291 | | 325 | |
| 292 | <img width="500" alt="image" src="https://github.com/user-attachments/assets/9b5f32f0-c3b3-4102-b3f5-0e9213c0f50f"> | 326 | ```shell |
| 293 | <img width="500" alt="image" src="https://github.com/user-attachments/assets/913fdbaa-7d33-42f1-ae2c-89dca41c53d1"> | 327 | node server.js --port 8000 --listen false |
| | 328 | # 或 |
| | 329 | npm run start -- --port 8000 --listen false |
| | 330 | # 或 (仅限 Windows) |
| | 331 | Start.bat --port 8000 --listen false |
| | 332 | ``` |
| 294 | | 333 | |
| 295 | ## 许可证和贡献 | 334 | ### 支持的参数 |
| 296 | | 335 | |
| 297 | **发布本程序是希望它能有所帮助,但不做任何保证;甚至没有明示的性能、稳定性和其他任何特定用途的可用性保证。更多详情,请参阅 GNU Affero 通用公共许可证。** | 336 | > \[!TIP] |
| 298 | | 337 | > 所有参数都不是必需的。如果您不提供它们,SillyTavern 将使用 `config.yaml` 中的设置。 |
| 299 | **This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.** | 338 | |
| 300 | | 339 | | 选项 | 描述 | 类型 | |
| 301 | * TAI Base by Humi: Unknown license | 340 | | ----------------------- | --------------------------------------------- | ------- | |
| 302 | * Cohee's modifications and derived code: AGPL v3 | 341 | | `--version` | 显示版本号 | boolean | |
| 303 | * RossAscends' additions: AGPL v3 | 342 | | `--configPath` | 覆盖 config.yaml 文件的路径 | string | |
| 304 | * Portions of CncAnon's TavernAITurbo mod: Unknown license | 343 | | `--dataRoot` | 数据存储的根目录 | string | |
| 305 | * kingbri's various commits and suggestions (<https://github.com/bdashore3>) | 344 | | `--port` | 设置 SillyTavern 将在其下运行的端口 | number | |
| 306 | * StefanDanielSchwarz's various commits and bug reports (<https://github.com/StefanDanielSchwarz>) | 345 | | `--listen` | SillyTavern 将侦听所有网络接口 | boolean | |
| 307 | * Waifu mode inspired by the work of PepperTaco (<https://github.com/peppertaco/Tavern/>) | 346 | | `--whitelist` | 启用白名单模式 | boolean | |
| 308 | * Thanks Pygmalion University for being awesome testers and suggesting cool features! | 347 | | `--basicAuthMode` | 启用基本身份验证 | boolean | |
| 309 | * Thanks oobabooga for compiling presets for TextGen | 348 | | `--enableIPv4` | 启用 IPv4 协议 | boolean | |
| 310 | * KoboldAI Presets from KAI Lite: <https://lite.koboldai.net/> | 349 | | `--enableIPv6` | 启用 IPv6 协议 | boolean | |
| 311 | * Noto Sans font by Google (OFL license) | 350 | | `--listenAddressIPv4` | 要侦听的特定 IPv4 地址 | string | |
| 312 | * Icon theme by Font Awesome <https://fontawesome.com> (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) | 351 | | `--listenAddressIPv6` | 要侦听的特定 IPv6 地址 | string | |
| 313 | * AI Horde client library by ZeldaFan0225: <https://github.com/ZeldaFan0225/ai_horde> | 352 | | `--dnsPreferIPv6` | DNS 首选 IPv6 | boolean | |
| 314 | * Linux startup script by AlpinDale | 353 | | `--ssl` | 启用 SSL | boolean | |
| 315 | * Thanks paniphons for providing a FAQ document | 354 | | `--certPath` | 您的证书文件路径 | string | |
| 316 | * 10K Discord Users Celebratory Background by @kallmeflocc | 355 | | `--keyPath` | 您的私钥文件路径 | string | |
| 317 | * Default content (characters and lore books) provided by @OtisAlejandro, @RossAscends and @kallmeflocc | 356 | | `--autorun` | 自动在浏览器中启动 SillyTavern | boolean | |
| 318 | * Korean translation by @doloroushyeonse | 357 | | `--autorunHostname` | 自动运行主机名 | string | |
| 319 | * 中文翻译由 [@XXpE3](https://github.com/XXpE3) 完成,中文 ISSUES 可以联系 @XXpE3 | 358 | | `--autorunPortOverride` | 覆盖自动运行的端口 | string | |
| | 359 | | `--avoidLocalhost` | 在自动模式下避免使用 'localhost' 进行自动运行 | boolean | |
| | 360 | | `--corsProxy` | 启用 CORS 代理 | boolean | |
| | 361 | | `--requestProxyEnabled` | 为传出请求启用代理 | boolean | |
| | 362 | | `--requestProxyUrl` | 请求代理 URL(HTTP 或 SOCKS 协议) | string | |
| | 363 | | `--requestProxyBypass` | 请求代理绕过列表(以空格分隔的主机列表) | array | |
| | 364 | | `--disableCsrf` | 禁用 CSRF 保护(不推荐) | boolean | |
| | 365 | |
| | 366 | ## 远程连接 |
| | 367 | |
| | 368 | 这通常适用于那些想在手机上使用 SillyTavern,而他们的电脑在同一 Wi-Fi 网络上运行 ST 服务器的人。但是,它也可以用于允许从任何地方进行远程连接。 |
| | 369 | |
| | 370 | 请在[文档](https://docs.sillytavern.app/usage/remoteconnections/)中阅读有关如何设置远程连接的详细指南。 |
| | 371 | |
| | 372 | 您可能还需要配置 SillyTavern 用户配置文件(可选密码保护):[用户](https://docs.sillytavern.app/administration/multi-user/)。 |
| | 373 | |
| | 374 | ## 许可证和致谢 |
| | 375 | |
| | 376 | **本程序的分发是希望它能有用,但不提供任何保证;甚至没有对适销性或特定用途适用性的默示保证。有关更多详细信息,请参阅 GNU Affero 通用公共许可证。** |
| | 377 | |
| | 378 | - [TavernAI](https://github.com/TavernAI/TavernAI) 1.2.8 by Humi: MIT 许可证 |
| | 379 | - CncAnon 的 TavernAITurbo mod 的部分内容经许可使用 |
| | 380 | - 视觉小说模式的灵感来自 PepperTaco 的工作 (<https://github.com/peppertaco/Tavern/>) |
| | 381 | - Noto Sans 字体 by Google (OFL 许可证) |
| | 382 | - 图标主题 by Font Awesome <https://fontawesome.com> (图标: CC BY 4.0, 字体: SIL OFL 1.1, 代码: MIT 许可证) |
| | 383 | - 默认内容由 @OtisAlejandro (Seraphina 角色和世界书) 和 @kallmeflocc (10K Discord 用户庆祝背景) 提供 |
| | 384 | - Docker 指南由 [@mrguymiah](https://github.com/mrguymiah) 和 [@Bronya-Rand](https://github.com/Bronya-Rand) 提供 |
| | 385 | - kokoro-js 库由 [@hexgrad](https://github.com/hexgrad) 提供 (Apache-2.0 许可证) |
| | 386 | - 中文翻译由 [@XXpE3](https://github.com/XXpE3) 完成,中文 ISSUES 可以联系 @XXpE3 |
| | 387 | |
| | 388 | ## 主要贡献者 |
| | 389 | |
| | 390 | [](https://github.com/SillyTavern/SillyTavern/graphs/contributors) |
| 320 | | 391 | |
| 321 | <!-- LINK GROUP --> | 392 | <!-- LINK GROUP --> |
| | 393 | |
| 322 | [cover]: https://github.com/user-attachments/assets/01a6ae9a-16aa-45f2-8bff-32b5dc587e44 | 394 | [cover]: https://github.com/user-attachments/assets/01a6ae9a-16aa-45f2-8bff-32b5dc587e44 |
| | 395 | [discord-link]: https://discord.gg/sillytavern |
| | 396 | [discord-shield-badge]: https://img.shields.io/discord/1100685673633153084?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge |