Security News
ESLint is Now Language-Agnostic: Linting JSON, Markdown, and Beyond
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
sillytavern
Advanced tools
![image](https://github.com/Cohee1207/SillyTavern/assets/18619528/8c41a061-7f72-4d2b-9d54-e6d058209e7b)
Mobile-friendly, Multi-API (KoboldAI/CPP, Horde, NovelAI, Ooba, OpenAI+proxies, Poe, WindowAI(Claude!)), VN-like Waifu Mode, Horde SD, System TTS, WorldInfo (lorebooks), customizable UI, auto-translate, and more prompt options than you'd ever want or need. Optional Extras server for more SD/TTS options + ChromaDB/Summarize.
Based on a fork of TavernAI 1.2.8
NOTE: We have added a FAQ to answer most of your questions and help you get started.
Tavern 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.
SillyTavern 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.
On its own Tavern 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.
Since Tavern 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.
Note
This fork can be run natively on Android phones using Termux. Please refer to this guide by ArroganceComplex#2659:
https://rentry.org/STAI-Termux
.webp character cards import/export is not supported in Termux. Use either JSON or PNG formats instead.
Get support, share favorite characters and prompts:
Get in touch with the developers directly:
Name | Description | Required Extra Modules | Screenshot |
---|---|---|---|
Image Captioning | Send a cute picture to your bot! Picture select option will appear beside the "Message send" button. | caption | |
Character Expressions | See your character reacting to your messages! You need to provide your own character images! 1. Create a folder in TavernAI called public/characters/<name> , where <name> is the name of your character.2. For the base emotion classification model, put six PNG files there with the following names: joy.png , anger.png , fear.png , love.png , sadness.png , surprise.png . Other models may provide other options.3. Images only display in desktop mode. | classify | |
Memory | Chatbot long-term memory simulation using automatic message context summarization. | summarize | |
D&D Dice | A set of 7 classic D&D dice for all your dice rolling needs. I used to roll the dice. Feel the fear in my enemies' eyes | None | |
Author's Note | Built-in extension that allows you to append notes that will be added to the context and steer the story and character in a specific direction. Because it's sent after the character description, it has a lot of weight. Thanks Ali឵#2222 for pitching the idea! | None | |
Character Backgrounds | Built-in extension to assign unique backgrounds to specific chats or groups. | None | |
Stable Diffusion | Use local of cloud-based Stable Diffusion webUI API to generate images. 5 presets included ('you', 'your face', 'me', 'the story', and 'the last message'. Free mode also supported via /sd (anything_here_) command in the chat input bar. Most common StableDiffusion generation settings are customizable within the SillyTavern UI. | None | |
Text-to-Speech | AI-generated voice will read back character messages on demand, or automatically read new messages they arrive. Supports ElevenLabs, Silero, and your device's TTS service. | None | |
Chat Translation | Automatically translates incoming and/or outgoing messages into the chosen language. | None | Pending |
Token Counter | Simple way to calculate the number of tokens in any text with selected tokenizer. | None | Pending |
Smart Context Infinity Context / Object Permanence | What it doesn't do: Magically increase your context size. What it does: Optimizes the arrangement of your message history within the context space for more effective use. Imagine two variables: X: How many original chat messages to keep Y: Maximum number of ChromaDB 'memories' to inject When the chat reaches the threshold of X messages, additional messages will no longer be included in the context chronologically. Instead, they will be selected from the history based on their similarity to your recent inputs (limited to a maximum of Y), which should provide more relevant information than simply disregarding past messages. Adjust these values according to your average number of in-context entries for optimal performance. | chromadb | Pending |
Mobile UI with optimized for iOS, and supports saving a shortcut to home screen and opening in fullscreen mode.
HotKeys
User Name Changes and Character Deletion no longer force the page to refresh.
Toggle option to automatically connect to API on page load.
Toggle option to automatically load the most recently viewed character on page load.
Better Token Counter - works on unsaved characters, and shows both permanent and temporary tokens.
Better Past Chats View
By default the left and right settings panel will close when you click away from it.
Clicking the Lock on the nav panel will hold the panel open, and this setting be remembered across sessions.
Nav panel status of open or closed will also be saved across sessions.
Customizable chat UI:
NOTE: This software is intended for local install purposes, and has not been thoroughly tested on a colab or other cloud notebook service.
Warning
DO NOT INSTALL INTO ANY WINDOWS CONTROLLED FOLDER (Program Files, System32, etc).
DO NOT RUN START.BAT WITH ADMIN PERMISSIONS
Installing via Git (recommended for easy updating)
Easy to follow guide with pretty pictures: https://docs.alpindale.dev/pygmalion-extras/sillytavern/#windows-installation
Win+E
)cmd
, and pressing Enter.for Main Branch: git clone https://github.com/Cohee1207/SillyTavern -b main
for Dev Branch: git clone https://github.com/Cohee1207/SillyTavern -b dev
Start.bat
to make NodeJS install its requirements.Installing via zip download
Source code (zip)
from Releases)Start.bat
via double-clicking or in a command line.start.sh
script.SillyTavern saves your API keys to a secrets.json
file in the server directory.
By default they will not be exposed to a frontend after you enter them and reload the page.
In order to enable viewing your keys by clicking a button in the API block:
allowKeysExposure
to true
in config.conf
file.Most 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.
However, it can be used to allow remote connections from anywhere as well.
IMPORTANT: SillyTavern is a single-user program, so anyone who logs in will be able to see all characters and chats, and be able to change any settings inside the UI.
whitelist.txt
.Both indidivual IPs, and wildcard IP ranges are accepted. Examples:
192.168.0.1
192.168.0.20
or
192.168.0.*
(the above wildcard IP range will allow any device on the local network to connect)
CIDR masks are also accepted (eg. 10.0.0.0/24).
whitelist.txt
file.Now devices which have the IP specified in the file will be able to connect.
Note: config.conf
also has a whitelist
array, which you can use in the same way, but this array will be ignored if whitelist.txt
exists.
After the whitelist has been setup, you'll need the IP of the ST-hosting device.
If the ST-hosting device is on the same wifi network, you will use the ST-host's internal wifi IP:
cmd.exe
in the search bar > type ipconfig
in the console, hit Enter > look for IPv4
listing.If you (or someone else) wants to connect to your hosted ST while not being on the same network, you will need the public IP of your ST-hosting device.
IPv4
. This is what you would use to connect from the remote device.Whatever IP you ended up with for your situation, you will put that IP address and port number into the remote device's web browser.
A typical address for an ST host on the same wifi network would look like:
http://192.168.0.5:8000
Use http:// NOT https://
We do not recommend doing this, but you can open config.conf
and change whitelist
to false
.
You must remove (or rename) whitelist.txt
in the SillyTavern base install folder, if it exists.
This is usually an insecure practice, so we require you to set a username and password when you do this.
The username and password are set in config.conf
.
After 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.
config.conf
. Do NOT mistake this for portforwarding on your router, otherwise someone could find your chat logs and that's a big no-no.Try enabling the No Blur Effect (Fast UI) mode on the User settings panel.
We're moving to 100% original content only policy, so old background images have been removed from this repository.
You can find them archived here:
https://files.catbox.moe/1xevnc.zip
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.
FAQs
Unknown package
The npm package sillytavern receives a total of 117 weekly downloads. As such, sillytavern popularity was classified as not popular.
We found that sillytavern demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
Security News
Members Hub is conducting large-scale campaigns to artificially boost Discord server metrics, undermining community trust and platform integrity.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.