Revamp read me (#2854) * inital commit * Rewrite some readme sections * Fix typo * more edits * Remove remote connections from readme * Vision wording * Fix headers * edit api key viewing instructions * Fix heading nesting * Swap priorities * Swap news sections * Don't deadname horde * merge STL install instructions into a single section * NodeJS is family friendly * Windows users are users too * Numbers are scary * Total Waifu Annihilation * less repetittitiitiveness * attempted ordered list fix * emoji for STL * clarify termux install disclaimer * Remove outdated credits * fix broken note format * Remove news section * Move screenshots * not so braggadiciously * Add contributors workflow * Add contributors workflow * add wolf to support spam recipients list * chore: update contributors [skip ci] * no double or * typo * Add contributors list * Replace with a remote image * Remove contributors workflow * Lean credits list * Fix typos * Remove defaults from CMD args * Contributors => Top Contributors * Replace link to API connections * Less repetition --------- Co-authored-by: RossAscends <124905043+RossAscends@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

dca9871dd966545aebb0e58355c274ec99e4ccd1

Cohee <18619528+Cohee1207@users.noreply.github.com>

Signed
1 files changed, +142 -244Showing whitespace changes
.github/readme.md+142 -244
@@ -4,73 +4,78 @@ English | [中文](readme-zh_cn.md) | [日本語](readme-ja_jp.md) | [Русск
44
5![][cover]5![][cover]
66
7Mobile-friendly layout, Multi-API (KoboldAI/CPP, Horde, NovelAI, Ooba, OpenAI, OpenRouter, Claude, Scale), VN-like Waifu Mode, Stable Diffusion, TTS, WorldInfo (lorebooks), customizable UI, auto-translate, and more prompt options than you'd ever want or need + ability to install third-party extensions.7SillyTavern provides a single unified interface for many LLM APIs (KoboldAI/CPP, Horde, NovelAI, Ooba, Tabby, OpenAI, OpenRouter, Claude, Mistral and more), a mobile-friendly layout, Visual Novel Mode, Automatic1111 & ComfyUI API image generation integration, TTS, WorldInfo (lorebooks), customizable UI, auto-translate, more prompt options than you'd ever want or need, and endless growth potential via third-party extensions.
88
9Based on a fork of [TavernAI](https://github.com/TavernAI/TavernAI) 1.2.89We have a [Documentation website](https://docs.sillytavern.app/) to answer most of your questions and help you get started.
1010
11## Important news!11## What is SillyTavern?
1212
131. We have created a [Documentation website](https://docs.sillytavern.app/) to answer most of your questions and help you get started.13SillyTavern is a locally installed user interface that allows you to interact with text generation LLMs, image generation engines, and TTS voice models.
1414
152. Missing extensions after the update? Since the 1.10.6 release version, most of the previously built-in extensions have been converted to downloadable add-ons. You can download them via the built-in "Download Extensions and Assets" menu in the extensions panel (stacked blocks icon in the top bar).15Beginning in February 2023 as a fork of TavernAI 1.2.8, SillyTavern now has over 100 contributors and 2 years of independent development under its belt, and continues to serve as a leading software for savvy AI hobbyists.
1616
173. Unsupported platform: android arm LEtime-web. 32-bit Android requires an external dependency that can't be installed with npm. Use the following command to install it: `pkg install esbuild`. Then run the usual installation steps.17## Our Vision
1818
19### Brought to you by Cohee, RossAscends, and the SillyTavern community191. We aim to empower users with as much utility and control over their LLM prompts as possible. The steep learning curve is part of the fun!
202. We do not provide any online or hosted services, nor programmatically track any user data.
213. SillyTavern is a passion project brought to you by a dedicated community of LLM enthusiasts, and will always be free and open sourced.
2022
21### What is SillyTavern or TavernAI?23## Branches
22
23SillyTavern is a user interface you can install on your computer (and Android phones) that allows you to interact with text generation AIs and chat/roleplay with characters you or the community create.
24
25SillyTavern is a fork of TavernAI 1.2.8 which is under more active development and has added many major features. At this point, they can be thought of as completely independent programs.
26
27## Screenshots
28
29<img width="400" alt="image" src="https://github.com/SillyTavern/SillyTavern/assets/61471128/e902c7a2-45a6-4415-97aa-c59c597669c1">
30<img width="400" alt="image" src="https://github.com/SillyTavern/SillyTavern/assets/61471128/f8a79c47-4fe9-4564-9e4a-bf247ed1c961">
31
32### Branches
3324
34SillyTavern is being developed using a two-branch system to ensure a smooth experience for all users.25SillyTavern is being developed using a two-branch system to ensure a smooth experience for all users.
3526
36* release -🌟 **Recommended for most users.** This is the most stable and recommended branch, updated only when major releases are pushed. It's suitable for the majority of users.27* `release` -🌟 **Recommended for most users.** This is the most stable and recommended branch, updated only when major releases are pushed. It's suitable for the majority of users. Typically updated once a month.
37* staging - ⚠️ **Not recommended for casual use.** This branch has the latest features, but be cautious as it may break at any time. Only for power users and enthusiasts.28* `staging` - ⚠️ **Not recommended for casual use.** This branch has the latest features, but be cautious as it may break at any time. Only for power users and enthusiasts. Updates several times daily.
3829
39If you're not familiar with using the git CLI or don't understand what a branch is, don't worry! The release branch is always the preferable option for you.30If you're not familiar with using the git CLI or don't understand what a branch is, don't worry! The release branch is always the preferable option for you.
4031
41### What do I need other than SillyTavern?32## What do I need other than SillyTavern?
4233
43On its own SillyTavern is useless, as it's just a user interface. You have to have access to an AI system backend that can act as the roleplay character. There are various supported backends: OpenAPI API (GPT), KoboldAI (either running locally or on Google Colab), and more. You can read more about this in [the FAQ](https://docs.sillytavern.app/usage/faq/).34Since SillyTavern is only an interface, you will need access to an LLM backend to provide inference. You can use AI Horde for instant out-of-the-box chatting. Aside from that, we support many other local and cloud-based LLM backends: OpenAI-compatible API, KoboldAI, Tabby, and many more. You can read more about our supported APIs in [the FAQ](https://docs.sillytavern.app/usage/api-connections/).
4435
45### Do I need a powerful PC to run SillyTavern?36### Do I need a powerful PC to run SillyTavern?
4637
47Since SillyTavern is only a user interface, it has tiny hardware requirements, it will run on anything. It's the AI system backend that needs to be powerful.38The hardware requirements are minimal: it will run on anything that can run NodeJS 18 or higher. If you intend to do LLM inference on your local machine, we recommend a 3000-series NVIDIA graphics card with at least 6GB of VRAM. Check your backend's documentation for more details.
39
40### Suggested Backends (not affiliated)
41
42* [AI Horde](https://aihorde.net/) - use models hosted by volunteers. Requires no further setup
43* [KoboldCpp](https://github.com/LostRuins/koboldcpp) - a community's favorite for running GGUF models locally
44* [tabbyAPI](https://github.com/theroyallab/tabbyAPI) - a popular, lightweight, locally-hosted exl2 inference API
45* [OpenRouter](https://openrouter.ai) - a single API for many cloud providers (OpenAI, Claude, Meta Llama, etc.) as well as popular community models.
4846
49## Questions or suggestions?47## Questions or suggestions?
5048
51### We now have a community Discord server49### Discord server
5250
53| [![][discord-shield-badge]][discord-link] | [Join our Discord community!](https://discord.gg/sillytavern) Get support, share favorite characters and prompts. |51| [![][discord-shield-badge]][discord-link] | [Join our Discord community!](https://discord.gg/sillytavern) Get support, share favorite characters and prompts. |
54| :---------------------------------------- | :----------------------------------------------------------------------------------------------------------------- |52| :---------------------------------------- | :----------------------------------------------------------------------------------------------------------------- |
5553
56Or get in touch with the developers directly:54Or get in touch with the developers directly:
5755
58* Discord: cohee or rossascends56* Discord: cohee, rossascends, wolfsblvt
59* Reddit: [/u/RossAscends](https://www.reddit.com/user/RossAscends/) or [/u/sillylossy](https://www.reddit.com/user/sillylossy/)57* 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/)
60* [Post a GitHub issue](https://github.com/SillyTavern/SillyTavern/issues)58* [Post a GitHub issue](https://github.com/SillyTavern/SillyTavern/issues)
6159
62## This version includes60### I like your project! How do I contribute?
61
621. Send pull requests. Learn how to contribute: [CONTRIBUTING.md](../CONTRIBUTING.md)
632. Send feature suggestions and issue reports using the provided templates.
643. Read this entire readme file and check the documentation website first, to avoid sending duplicate issues.
65
66## Screenshots
67
68<img width="400" alt="image" src="https://github.com/SillyTavern/SillyTavern/assets/61471128/e902c7a2-45a6-4415-97aa-c59c597669c1">
69<img width="400" alt="image" src="https://github.com/SillyTavern/SillyTavern/assets/61471128/f8a79c47-4fe9-4564-9e4a-bf247ed1c961">
70
71## Key Features
6372
64* A heavily modified TavernAI 1.2.8 (more than 50% of code rewritten or optimized)73* Advanced text generation settings with many community-made presets
65* Swipes
66* Group chats: multi-bot rooms for characters to talk to you or each other
67* Chat checkpoints / branching
68* Advanced KoboldAI / TextGen generation settings with a lot of community-made presets
69* World Info support: create rich lore or save tokens on your character card74* World Info support: create rich lore or save tokens on your character card
70* [OpenRouter](https://openrouter.ai) connection for various APIs (Claude, GPT-4/3.5 and more)75* Group chats: multi-bot rooms for characters to talk to you and/or each other
71* [Oobabooga's TextGen WebUI](https://github.com/oobabooga/text-generation-webui) API connection76* Rich UI customization options: theme colors, background images, custom CSS, and more
72* [AI Horde](https://aihorde.net/) connection77* User personas: let the AI know a bit about you for greater immersion
73* Prompt generation formatting tweaking78* Built-in RAG support: add documents to your chats for the AI to reference
7479
75## Extensions80## Extensions
7681
@@ -78,58 +83,26 @@ SillyTavern has extensibility support.
7883
79* Character emotional expressions (sprites)84* Character emotional expressions (sprites)
80* Auto-Summary of the chat history85* Auto-Summary of the chat history
81* Sending images to chat, and the AI interpreting the content86* Automatic UI and chat translation
82* Stable Diffusion image generation (5 chat-related presets plus 'free mode')87* Stable Diffusion/FLUX/DALL-E image generation
83* Text-to-speech for AI response messages (via ElevenLabs, Silero, or the OS's System TTS)88* Text-to-speech for AI response messages (via ElevenLabs, Silero, or the OS's System TTS)
84* Many more available to download from the "Download Extensions & Assets" menu.89* Web Search capabilities for adding additional real world context to your prompts
90* Many more are available to download from the "Download Extensions & Assets" menu.
8591
86Tutorials on how to use them can be found in the [Docs](https://docs.sillytavern.app/).92Tutorials on how to use them can be found in the [Docs](https://docs.sillytavern.app/).
8793
88## UI/CSS/Quality of Life tweaks by RossAscends
89
90* Mobile UI optimized for iOS, and supports saving a shortcut to the home screen and opening in fullscreen mode.
91* HotKeys
92 * Up = Edit last message in chat
93 * Ctrl+Up = Edit last USER message in chat
94 * Left = swipe left
95 * Right = swipe right (NOTE: swipe hotkeys are disabled when the chat bar has something typed into it)
96 * Ctrl+Left = view locally stored variables (in the browser console window)
97 * Enter (with chat bar selected) = send your message to AI
98 * Ctrl+Enter = Regenerate the last AI response
99
100* User Name Changes and Character Deletion no longer force the page to refresh.
101
102* Toggle option to automatically connect to API on page load.
103* Toggle option to automatically load the most recently viewed character on page load.
104* Better Token Counter - works on unsaved characters, and shows both permanent and temporary tokens.
105
106* Better Past Chats View
107 * New Chat filenames are saved in a readable format of "(character) - (when it was created)"
108 * Chat preview increased from 40 characters to 300.
109 * Multiple options for characters list sorting (by name, creation date, chat sizes).
110
111* By default the left and right settings panel will close when you click away from it.
112* Clicking the Lock on the nav panel will hold the panel open, and this setting be remembered across sessions.
113* Nav panel status of open or closed will also be saved across sessions.
114
115* Customizable chat UI:
116 * Play a sound when a new message arrives
117 * Switch between round or rectangle avatar styles
118 * Have a wider chat window on the desktop
119 * Optional semi-transparent glass-like panels
120 * Customizable page colors for 'main text', 'quoted text', and 'italics text'.
121 * Customizable UI background color and blur amount
122
123# ⌛ Installation94# ⌛ Installation
12495
125> \[!WARNING]96> \[!WARNING]
97>
126> * DO NOT INSTALL INTO ANY WINDOWS CONTROLLED FOLDER (Program Files, System32, etc).98> * DO NOT INSTALL INTO ANY WINDOWS CONTROLLED FOLDER (Program Files, System32, etc).
127> * DO NOT RUN START.BAT WITH ADMIN PERMISSIONS99> * DO NOT RUN START.BAT WITH ADMIN PERMISSIONS
128> * INSTALLATION ON WINDOWS 7 IS IMPOSSIBLE AS IT CAN NOT RUN NODEJS 18.16100> * INSTALLATION ON WINDOWS 7 IS IMPOSSIBLE AS IT CAN NOT RUN NODEJS 18.16
129101
130## 🪟 Windows102## 🪟 Windows
131103
132## Installing via Git104### Installing via Git
105
1331. Install [NodeJS](https://nodejs.org/en) (latest LTS version is recommended)1061. Install [NodeJS](https://nodejs.org/en) (latest LTS version is recommended)
1342. Install [Git for Windows](https://gitforwindows.org/)1072. Install [Git for Windows](https://gitforwindows.org/)
1353. Open Windows Explorer (`Win+E`)1083. Open Windows Explorer (`Win+E`)
@@ -137,24 +110,16 @@ Tutorials on how to use them can be found in the [Docs](https://docs.sillytavern
1375. Open a Command Prompt inside that folder by clicking in the 'Address Bar' at the top, typing `cmd`, and pressing Enter.1105. Open a Command Prompt inside that folder by clicking in the 'Address Bar' at the top, typing `cmd`, and pressing Enter.
1386. Once the black box (Command Prompt) pops up, type ONE of the following into it and press Enter:1116. Once the black box (Command Prompt) pops up, type ONE of the following into it and press Enter:
139112
140- for Release Branch: `git clone https://github.com/SillyTavern/SillyTavern -b release`113* for Release Branch: `git clone https://github.com/SillyTavern/SillyTavern -b release`
141- for Staging Branch: `git clone https://github.com/SillyTavern/SillyTavern -b staging`114* for Staging Branch: `git clone https://github.com/SillyTavern/SillyTavern -b staging`
142115
1437. Once everything is cloned, double-click `Start.bat` to make NodeJS install its requirements.1167. Once everything is cloned, double-click `Start.bat` to make NodeJS install its requirements.
1448. The server will then start, and SillyTavern will pop up in your browser.1178. The server will then start, and SillyTavern will pop up in your browser.
145118
146## Installing via SillyTavern Launcher119### Installing via GitHub Desktop
1471. On your keyboard: press **`WINDOWS + R`** to open Run dialog box. Then, run the following command to install git:
148```shell
149cmd /c winget install -e --id Git.Git
150```
1512. On your keyboard: press **`WINDOWS + E`** to open File Explorer, then navigate to the folder where you want to install the launcher. Once in the desired folder, type `cmd` into the address bar and press enter. Then, run the following command:
152```shell
153git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher && start installer.bat
154```
155120
156## Installing via GitHub Desktop
157(This allows git usage **only** in GitHub Desktop, if you want to use `git` on the command line too, you also need to install [Git for Windows](https://gitforwindows.org/))121(This allows git usage **only** in GitHub Desktop, if you want to use `git` on the command line too, you also need to install [Git for Windows](https://gitforwindows.org/))
122
158 1. Install [NodeJS](https://nodejs.org/en) (latest LTS version is recommended)123 1. Install [NodeJS](https://nodejs.org/en) (latest LTS version is recommended)
159 2. Install [GitHub Desktop](https://central.github.com/deployments/desktop/desktop/latest/win32)124 2. Install [GitHub Desktop](https://central.github.com/deployments/desktop/desktop/latest/win32)
160 3. After installing GitHub Desktop, click on `Clone a repository from the internet....` (Note: You **do NOT need** to create a GitHub account for this step)125 3. After installing GitHub Desktop, click on `Clone a repository from the internet....` (Note: You **do NOT need** to create a GitHub account for this step)
@@ -172,50 +137,82 @@ For MacOS / Linux all of these will be done in a Terminal.
1721. Install git and nodeJS (the method for doing this will vary depending on your OS)1371. Install git and nodeJS (the method for doing this will vary depending on your OS)
1732. Clone the repo1382. Clone the repo
174139
175- for Release Branch: `git clone https://github.com/SillyTavern/SillyTavern -b release`140* for Release Branch: `git clone https://github.com/SillyTavern/SillyTavern -b release`
176- for Staging Branch: `git clone https://github.com/SillyTavern/SillyTavern -b staging`141* for Staging Branch: `git clone https://github.com/SillyTavern/SillyTavern -b staging`
177142
1783. `cd SillyTavern` to navigate into the install folder.1433. `cd SillyTavern` to navigate into the install folder.
1794. Run the `start.sh` script with one of these commands:1444. Run the `start.sh` script with one of these commands:
180145
181- `./start.sh`146* `./start.sh`
182- `bash start.sh`147* `bash start.sh`
148
149## ⚡ Installing via SillyTavern Launcher
150
151SillyTavern Launcher is an installation wizard that will help you get setup with many options, including installing a backend for local inference.
152
153### For Windows users
154
1551. On your keyboard: press **`WINDOWS + R`** to open Run dialog box. Then, run the following command to install git:
156
157```shell
158cmd /c winget install -e --id Git.Git
159```
160
1612. On your keyboard: press **`WINDOWS + E`** to open File Explorer, then navigate to the folder where you want to install the launcher. Once in the desired folder, type `cmd` into the address bar and press enter. Then, run the following command:
183162
184## Installing via SillyTavern Launcher163```shell
164git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher && start installer.bat
165```
185166
186### For Linux users167### For Linux users
168
1871. Open your favorite terminal and install git1691. Open your favorite terminal and install git
1882. Git clone the Sillytavern-Launcher with:1702. Git clone the Sillytavern-Launcher with:
171
189```shell172```shell
190git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher173git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher
191```174```
175
1923. Start the installer.sh with:1763. Start the installer.sh with:
177
193```shell178```shell
194chmod +x install.sh && ./install.sh179chmod +x install.sh && ./install.sh
195```180```
181
1964. After installation start the launcher.sh with:1824. After installation start the launcher.sh with:
183
197```shell184```shell
198chmod +x launcher.sh && ./launcher.sh185chmod +x launcher.sh && ./launcher.sh
199```186```
200187
201### For Mac users188### For Mac users
189
2021. Open a terminal and install brew with:1901. Open a terminal and install brew with:
191
203```shell192```shell
204/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"193/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
205```194```
195
2062. Install git with:1962. Install git with:
197
207```shell198```shell
208brew install git199brew install git
209```200```
201
2103. Git clone the Sillytavern-Launcher with:2023. Git clone the Sillytavern-Launcher with:
203
211```shell204```shell
212git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher205git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher
213```206```
207
2144. Start the installer.sh with:2084. Start the installer.sh with:
209
215```shell210```shell
216chmod +x install.sh && ./install.sh211chmod +x install.sh && ./install.sh
217```212```
213
2185. After installation start the launcher.sh with:2145. After installation start the launcher.sh with:
215
219```shell216```shell
220chmod +x launcher.sh && ./launcher.sh217chmod +x launcher.sh && ./launcher.sh
221```218```
@@ -236,18 +233,18 @@ You will need two mandatory directory mappings and a port mapping to allow Silly
236233
237##### Volume Mappings234##### Volume Mappings
238235
239- [config] - The directory where SillyTavern configuration files will be stored on your host machine236* [config] - The directory where SillyTavern configuration files will be stored on your host machine
240- [data] - The directory where SillyTavern user data (including characters) will be stored on your host machine237* [data] - The directory where SillyTavern user data (including characters) will be stored on your host machine
241- [plugins] - (optional) The directory where SillyTavern server plugins will be stored on your host machine238* [plugins] - (optional) The directory where SillyTavern server plugins will be stored on your host machine
242239
243##### Port Mappings240##### Port Mappings
244241
245- [PublicPort] - The port to expose the traffic on. This is mandatory, as you will be accessing the instance from outside of its virtual machine container. DO NOT expose this to the internet without implementing a separate service for security.242* [PublicPort] - The port to expose the traffic on. This is mandatory, as you will be accessing the instance from outside of its virtual machine container. DO NOT expose this to the internet without implementing a separate service for security.
246243
247##### Additional Settings244##### Additional Settings
248245
249- [DockerNet] - The docker network that the container should be created with a connection to. If you don't know what it is, see the [official Docker documentation](https://docs.docker.com/reference/cli/docker/network/).246* [DockerNet] - The docker network that the container should be created with a connection to. If you don't know what it is, see the [official Docker documentation](https://docs.docker.com/reference/cli/docker/network/).
250- [version] - On the right-hand side of this GitHub page, you'll see "Packages". Select the "sillytavern" package and you'll see the image versions. The image tag "latest" will keep you up-to-date with the current release. You can also utilize "staging" and "release" tags that point to the nightly images of the respective branches, but this may not be appropriate, if you are utilizing extensions that could be broken, and may need time to update.247* [version] - On the right-hand side of this GitHub page, you'll see "Packages". Select the "sillytavern" package and you'll see the image versions. The image tag "latest" will keep you up-to-date with the current release. You can also utilize "staging" and "release" tags that point to the nightly images of the respective branches, but this may not be appropriate, if you are utilizing extensions that could be broken, and may need time to update.
251248
252#### Install command249#### Install command
253250
@@ -258,23 +255,28 @@ You will need two mandatory directory mappings and a port mapping to allow Silly
258255
259> Note that 8000 is a default listening port. Don't forget to use an appropriate port if you change it in the config.256> Note that 8000 is a default listening port. Don't forget to use an appropriate port if you change it in the config.
260257
261## 📱 Mobile - Installing via termux258## 📱 Installing via Termux on Android OS
262259
263> \[!NOTE]260> \[!NOTE]
264> **SillyTavern can be run natively on Android phones using Termux. Please refer to this guide by ArroganceComplex#2659:**261> **SillyTavern can be run natively on Android devices using Termux, but we do not provide official support for this use case.**
262>
263> **Please refer to this guide by ArroganceComplex#2659:**
264>
265> * <https://rentry.org/STAI-Termux>265> * <https://rentry.org/STAI-Termux>
266266
267**Unsupported platform: android arm LEtime-web.** 32-bit Android requires an external dependency that can't be installed with npm. Use the following command to install it: `pkg install esbuild`. Then run the usual installation steps.
267268
268## API keys management269## API keys management
269270
270SillyTavern saves your API keys to a `secrets.json` file in the user data directory (`/data/default-user/secrets.json` is the default path).271SillyTavern saves your API keys to a `secrets.json` file in the user data directory (`/data/default-user/secrets.json` is the default path).
271272
272By default, they will not be exposed to a frontend after you enter them and reload the page.273By default, API keys will not be visible from the interface after you have saved them and refreshed the page.
273274
274In order to enable viewing your keys by clicking a button in the API block:275In order to enable viewing your keys:
275276
2761. Set the value of `allowKeysExposure` to `true` in `config.yaml` file.2771. Set the value of `allowKeysExposure` to `true` in `config.yaml` file.
2772. Restart the SillyTavern server.2782. Restart the SillyTavern server.
2793. Click the 'View hidden API keys' link at the bottom right of the API Connection Panel.
278280
279## Command-line arguments281## Command-line arguments
280282
@@ -292,134 +294,43 @@ Start.bat --port 8000 --listen false
292294
293### Supported arguments295### Supported arguments
294296
295| Option | Description | Type | Default |297| Option | Description | Type |
296|-------------------------|------------------------------------------------------------------------------------------------------|----------|------------------------------|298|-------------------------|------------------------------------------------------------------------------------------------------|----------|
297| `--version` | Show version number | boolean | |299| `--version` | Show version number | boolean |
298| `--enableIPv6` | Enables IPv6. | boolean | false |300| `--enableIPv6` | Enables IPv6. | boolean |
299| `--enableIPv4` | Enables IPv4. | boolean | true |301| `--enableIPv4` | Enables IPv4. | boolean |
300| `--port` | Sets the port under which SillyTavern will run. If not provided falls back to yaml config 'port'. | number | 8000 |302| `--port` | Sets the port under which SillyTavern will run. If not provided falls back to yaml config 'port'. | number |
301| `--dnsPreferIPv6` | Prefers IPv6 for dns. If not provided falls back to yaml config 'preferIPv6'. | boolean | false |303| `--dnsPreferIPv6` | Prefers IPv6 for dns. If not provided falls back to yaml config 'preferIPv6'. | boolean |
302| `--autorun` | Automatically launch SillyTavern in the browser. If not provided falls back to yaml config 'autorun'.| boolean | false |304| `--autorun` | Automatically launch SillyTavern in the browser. If not provided falls back to yaml config 'autorun'.| boolean |
303| `--autorunHostname` | The autorun hostname, probably best left on 'auto'. | string | null |305| `--autorunHostname` | The autorun hostname, probably best left on 'auto'. | string |
304| `--autorunPortOverride` | Overrides the port for autorun. | string | null |306| `--autorunPortOverride` | Overrides the port for autorun. | string |
305| `--listen` | SillyTavern is listening on all network interfaces. If not provided falls back to yaml config 'listen'.| boolean | false |307| `--listen` | SillyTavern is listening on all network interfaces. If not provided falls back to yaml config 'listen'.| boolean |
306| `--corsProxy` | Enables CORS proxy. If not provided falls back to yaml config 'enableCorsProxy'. | boolean | false |308| `--corsProxy` | Enables CORS proxy. If not provided falls back to yaml config 'enableCorsProxy'. | boolean |
307| `--disableCsrf` | Disables CSRF protection | boolean | null |309| `--disableCsrf` | Disables CSRF protection | boolean |
308| `--ssl` | Enables SSL | boolean | false |310| `--ssl` | Enables SSL | boolean |
309| `--certPath` | Path to your certificate file. | string | "certs/cert.pem" |311| `--certPath` | Path to your certificate file. | string |
310| `--keyPath` | Path to your private key file. | string | "certs/privkey.pem" |312| `--keyPath` | Path to your private key file. | string |
311| `--whitelist` | Enables whitelist mode | boolean | null |313| `--whitelist` | Enables whitelist mode | boolean |
312| `--dataRoot` | Root directory for data storage | string | null |314| `--dataRoot` | Root directory for data storage | string |
313| `--avoidLocalhost` | Avoids using 'localhost' for autorun in auto mode. | boolean | null |315| `--avoidLocalhost` | Avoids using 'localhost' for autorun in auto mode. | boolean |
314| `--basicAuthMode` | Enables basic authentication | boolean | null |316| `--basicAuthMode` | Enables basic authentication | boolean |
315| `--requestProxyEnabled` | Enables a use of proxy for outgoing requests | boolean | null |317| `--requestProxyEnabled` | Enables a use of proxy for outgoing requests | boolean |
316| `--requestProxyUrl` | Request proxy URL (HTTP or SOCKS protocols) | string | null |318| `--requestProxyUrl` | Request proxy URL (HTTP or SOCKS protocols) | string |
317| `--requestProxyBypass` | Request proxy bypass list (space separated list of hosts) | array | null |319| `--requestProxyBypass` | Request proxy bypass list (space separated list of hosts) | array |
318320
319## Remote connections321## Remote connections
320322
321Most often this is for people who want to use SillyTavern on their mobile phones while their PC runs the ST server on the same wifi network.323Most often this is for people who want to use SillyTavern on their mobile phones while their PC runs the ST server on the same Wi-Fi network. However, it can be used to allow remote connections from anywhere as well.
322
323However, it can be used to allow remote connections from anywhere as well.
324
325**IMPORTANT: Refer to the official guide if you want to configure SillyTavern user accounts with (optional) password protection: [Users](https://docs.sillytavern.app/installation/st-1.12.0-migration-guide/#users).**
326
327### 1. Managing whitelisted IPs
328
329* Create a new text file inside your SillyTavern base install folder called `whitelist.txt`.
330* Open the file in a text editor, and add a list of IPs you want to be allowed to connect.
331
332*Both individual IPs and wildcard IP ranges are accepted. Examples:*
333
334```txt
335192.168.0.1
336192.168.0.20
337```
338
339or
340
341```txt
342192.168.0.*
343```
344
345(the above wildcard IP range will allow any device on the local network to connect)
346
347CIDR masks are also accepted (eg. 10.0.0.0/24).
348
349* Save the `whitelist.txt` file.
350* Restart your ST server.
351
352Now devices which have the IP specified in the file will be able to connect.
353
354*Note: `config.yaml` also has a `whitelist` array, which you can use in the same way, but this array will be ignored if `whitelist.txt` exists.*
355
356### 2. Getting the IP for the ST host machine
357
358After the whitelist has been setup, you'll need the IP of the ST-hosting device.
359
360If the ST-hosting device is on the same wifi network, you will use the ST-host's internal wifi IP:
361
362* For Windows: windows button > type `cmd.exe` in the search bar > type `ipconfig` in the console, hit Enter > look for `IPv4` listing.
363
364If you (or someone else) want to connect to your hosted ST while not being on the same network, you will need the public IP of your ST-hosting device.
365324
366* While using the ST-hosting device, access [this page](https://whatismyipaddress.com/) and look for `IPv4`. This is what you would use to connect from the remote device.325Read the detailed guide on how to set up remote connections in the [Docs](https://docs.sillytavern.app/usage/remoteconnections/).
367326
368### 3. Connect the remote device to the ST host machine327You may also want to configure SillyTavern user profiles with (optional) password protection: [Users](https://docs.sillytavern.app/installation/st-1.12.0-migration-guide/#users).
369
370Whatever IP you ended up with for your situation, you will put that IP address and port number into the remote device's web browser.
371
372A typical address for an ST host on the same wifi network would look like this:
373
374`http://192.168.0.5:8000`
375
376Use http:// NOT https://
377
378### Opening your ST to all IPs
379
380We do not recommend doing this, but you can open `config.yaml` and change `whitelistMode` to `false`.
381
382You must remove (or rename) `whitelist.txt` in the SillyTavern base install folder if it exists.
383
384This is usually an insecure practice, so we require you to set a username and password when you do this.
385
386The username and password are set in `config.yaml`.
387
388After restarting your ST server, any device will be able to connect to it, regardless of their IP as long as they know the username and password.
389
390### Still Unable To Connect?
391
392* Create an inbound/outbound firewall rule for the port found in `config.yaml`. Do NOT mistake this for port-forwarding on your router, otherwise, someone could find your chat logs and that's a big no-no.
393* Enable the Private Network profile type in Settings > Network and Internet > Ethernet. This is VERY important for Windows 11, otherwise, you would be unable to connect even with the aforementioned firewall rules.
394328
395## Performance issues?329## Performance issues?
396330
397Try enabling the No Blur Effect (Fast UI) mode on the User settings panel.3311. Disable the Blur Effect and enable Reduced Motion on the User Settings panel (UI Theme toggles category).
3983322. If using response streaming, set the streaming FPS to a lower value (10-15 FPS is recommended).
399## I like your project! How do I contribute?3333. Make sure the browser is enabled to use GPU acceleration for rendering.
400
401### DO's
402
4031. Send pull requests
4042. Send feature suggestions and issue reports using established templates
4053. Read the readme file and built-in documentation before asking anything
406
407### DONT's
408
4091. Offer monetary donations
4102. Send bug reports without providing any context
4113. Ask the questions that were already answered numerous times
412
413## Where can I find the old backgrounds?
414
415We're moving to a 100% original content only policy, so old background images have been removed from this repository.
416
417You can find them archived here:
418
419<https://files.catbox.moe/1xevnc.zip>
420
421
422
423334
424## License and credits335## License and credits
425336
@@ -428,32 +339,19 @@ but WITHOUT ANY WARRANTY; without even the implied warranty of
428MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the339MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
429GNU Affero General Public License for more details.**340GNU Affero General Public License for more details.**
430341
431* TAI Base by Humi: MIT342* [TavernAI](https://github.com/TavernAI/TavernAI) 1.2.8 by Humi: MIT License
432* Cohee's modifications and derived code: AGPL v3343* Portions of CncAnon's TavernAITurbo mod used with permission
433* RossAscends' additions: AGPL v3344* Visual Novel Mode inspired by the work of PepperTaco (<https://github.com/peppertaco/Tavern/>)
434* Portions of CncAnon's TavernAITurbo mod: Unknown license
435* kingbri's various commits and suggestions (<https://github.com/bdashore3>)
436* city_unit's extensions and various QoL features (<https://github.com/city-unit>)
437* StefanDanielSchwarz's various commits and bug reports (<https://github.com/StefanDanielSchwarz>)
438* Waifu mode inspired by the work of PepperTaco (<https://github.com/peppertaco/Tavern/>)
439* Thanks Pygmalion University for being awesome testers and suggesting cool features!
440* Thanks oobabooga for compiling presets for TextGen
441* KoboldAI Presets from KAI Lite: <https://lite.koboldai.net/>
442* Noto Sans font by Google (OFL license)345* Noto Sans font by Google (OFL license)
443* Icon theme by Font Awesome <https://fontawesome.com> (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)346* Icon theme by Font Awesome <https://fontawesome.com> (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
444* AI Horde client library by ZeldaFan0225: <https://github.com/ZeldaFan0225/ai_horde>347* Default content by @OtisAlejandro (Seraphina character and lorebook) and @kallmeflocc (10K Discord Users Celebratory Background)
445* Linux startup script by AlpinDale
446* Thanks paniphons for providing a FAQ document
447* 10K Discord Users Celebratory Background by @kallmeflocc
448* Default content (characters and lore books) provided by @OtisAlejandro, @RossAscends and @kallmeflocc
449* Korean translation by @doloroushyeonse
450* k_euler_a support for Horde by <https://github.com/Teashrock>
451* Chinese translation by [@XXpE3](https://github.com/XXpE3), 中文 ISSUES 可以联系 @XXpE3
452* Docker guide by [@mrguymiah](https://github.com/mrguymiah) and [@Bronya-Rand](https://github.com/Bronya-Rand)348* Docker guide by [@mrguymiah](https://github.com/mrguymiah) and [@Bronya-Rand](https://github.com/Bronya-Rand)
453349
350## Top Contributors
351
352![Contributors](https://contrib.rocks/image?repo=SillyTavern/SillyTavern)
353
454<!-- LINK GROUP -->354<!-- LINK GROUP -->
455[back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square
456[cover]: https://github.com/SillyTavern/SillyTavern/assets/18619528/c2be4c3f-aada-4f64-87a3-ae35a68b61a4355[cover]: https://github.com/SillyTavern/SillyTavern/assets/18619528/c2be4c3f-aada-4f64-87a3-ae35a68b61a4
457[discord-link]: https://discord.gg/sillytavern356[discord-link]: https://discord.gg/sillytavern
458[discord-shield]: https://img.shields.io/discord/1100685673633153084?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square
459[discord-shield-badge]: https://img.shields.io/discord/1100685673633153084?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge357[discord-shield-badge]: https://img.shields.io/discord/1100685673633153084?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge