Skip to content
NSFW RP
English

Articles

SillyTavern setup for role-play, after the installer finishes

James N.

By 7 min read

Installing SillyTavern takes ten minutes. Making it a good partner takes an evening, and most guides stop after the first part. This one handles the install in a few lines, then spends its words where hosts lose sleep: cards, personas, templates, samplers, lorebooks, group scenes and context. Feature names match the official docs, and where the docs go quiet, I say so.

The install, briefly

SillyTavern describes itself as a locally installed interface for language models, and its repository promises it will stay free and open source (the license is AGPL-3.0). You install Node.js and Git, clone the release branch of the official SillyTavern repository on GitHub, and run the start script. The Windows guide recommends the current LTS release of Node.js.

git clone (clone address of the official SillyTavern repository) -b release
cd SillyTavern
./start.sh      (Linux and macOS)
Start.bat       (Windows: double-click it)

Two warnings from the Windows guide are worth obeying: do not install into a folder Windows controls, such as Program Files, and do not run Start.bat as an administrator. Stay on the release branch; the docs warn that staging can break at any time.

The start script opens the interface in your browser for you. The install pages never print an address; the config reference lists port 8000 as the default (try 127.0.0.1:8000) but admits it may be out of date, so check your own config.yaml if nothing loads.

Connect a model first

SillyTavern is the table, not the players. It ships with no model, so your first stop is the API Connections panel. You pick a connection type there: Chat Completion sends the prompt as a conversation between user, assistant and system, while Text Completion sends one long string for the model to continue.

Text Completion is configured in the Advanced Formatting panel; Chat Completion builds its prompt in the Prompt Manager. The docs are fair about the trade: local models are free and unfiltered but large (roughly 5 to 50 GB) and usually weaker, while most cloud models are stronger, filtered and paid.

Importing character cards

Open the Characters panel. The character list offers Import Character, which loads a card from a file, and External Import, which takes a web address.

The docs never say which file formats the importer accepts, an odd gap for the first feature everyone uses. The community Character Card V2 specification documents the fields a card carries, such as description, first_mes and mes_example, and the editor shows the same ideas under friendlier labels.

Check the token count before you play. Name, Description, Personality and Scenario are permanent: they go out with every message. The docs give the arithmetic (a 1,000-token card in a 2,048-token context halves the model's memory), and the counter turns red once a card passes half your context. If you write your own, the character card template keeps the permanent part lean.

Your user persona

Your side of the thread needs a card too. In the Personas panel you Create a persona and give it a name, an optional avatar and a description. By default the description goes into the Story String or the Prompt Manager, and a position setting can move it or switch it off.

Under Connections, Chat locks a persona to the current chat, Character links it to one character, and Default picks the persona used when no lock applies. I keep personas to four lines: name, age, how they look from across a room, and one thing the other character would notice first.

Context and instruct templates

This part only matters on Text Completion. In Advanced Formatting, the Context Template decides how the card reaches the model. Its Story String is a fill-in template that joins the system prompt, description, personality, scenario and persona.

Instruct Mode wraps each message in the format a model was trained on. The docs insist the template must match the model you run, and suggest checking the model card on Hugging Face. Derive templates can read it from the backend instead, but only llama.cpp and KoboldCpp support that.

One gap: the Instruct Mode page explains every field but never says where the switch that turns it on lives. On Chat Completion, skip the panel entirely; the docs say Instruct Mode is not needed there.

Samplers in plain words

Samplers live in the Response Configuration panel. You do not need most of them. Here are the ones worth knowing, with the value at which the docs say each stops doing anything.

SettingWhat it doesNeutral value
TemperatureHow adventurous the word choice is: lower is safer and flatter, higher is looser1 keeps the model's own odds
Top PKeeps only the likeliest words that add up to a target share1
Top KKeeps only the K likeliest words0, or -1 on some backends
Min PDrops words far less likely than the top pick; the docs suggest 0.1 to 0.010
Repetition PenaltyPushes the model away from words it has already used a lot1

Response (tokens) caps each reply and Context (tokens) caps the whole prompt. My habit: set those two, leave Temperature near 1, add a little Min P, and change one thing at a time.

World Info and lorebooks

World Info, also called lorebooks, is a keyword dictionary. Each entry has Primary keys, an optional filter, and Content. When a key turns up in recent messages, the content joins the prompt; when it does not, the entry costs nothing. Keys and titles are never sent, so the content must make sense on its own.

A blue circle under Strategy makes an entry fire without keywords; a green one waits for its key. Higher Insertion Order puts an entry nearer the end of the prompt, where it weighs more. Scan Depth sets how many recent messages get checked, and Context % / Budget caps the room lore may take. The globe button in a character's panel binds a book to that character, and that book travels inside an exported card.

The docs never state defaults for Scan Depth or the budget, and the Strategy section describes always-on entries without calling them constant, although the budget section does. Set the numbers yourself.

Author's Note

This is the host's whisper. It lives in the Options menu to the left of the chat box. The top box applies to the current chat only; the bottom box is a default for new chats. Placement is After Scenario or In-chat at a depth, where 0 is the very end. Insertion Frequency 1 adds it every message, 4 every fourth, 0 never.

Use it for what changes scene to scene: "Still raining. Rhian has not admitted she took the ledger. Keep replies under 200 words." The page lists no defaults and says nothing about which role the note is sent as.

Group chats

Several cards can share one thread. Reply order is Manual (you pick the speaker), Natural Order (mentioned names first, then each card's Talkativeness, 50% by default), List Order, or Pooled Order (each card speaks once per message of yours). Swap character cards, the default, sends only the active speaker's card. Join character cards merges every card into one prompt, and the docs warn that merged personalities can blur. A Group Chat Scenario Override gives the whole group one scenario.

Oddly, the group chats page explains all of this without saying how to create a group.

Keeping context under control

Messages above the dotted line in the chat are no longer sent. For long campaigns, the built-in Summarize extension in the Extensions panel keeps a running summary, updated on demand or every so many messages or words, and you can edit the Current summary whenever you like. The docs warn that summaries lose details and sometimes invent them, so read yours. More on recaps and drift in keeping a long roleplay consistent.

The option with no setup

All of this pays off if you enjoy tinkering. If you would rather skip the install, the API keys and the sampler table, this site's scene setup needs none of it: you type an idea, answer a few questions about it, then write the role-play with a free account. Fewer knobs, on purpose.

Questions

Do I need a powerful computer for SillyTavern?

Not for SillyTavern itself, which is only an interface. You need the hardware to run a local model, which the docs put at roughly 5 to 50 GB; a cloud API moves that work elsewhere.

Should I use Chat Completion or Text Completion?

Use the type your provider supports. Text Completion usually needs an instruct template that matches your model; Chat Completion uses the Prompt Manager instead.

Why does my character forget things from earlier in the chat?

Older messages fall out of the context window, which the chat marks with a dotted line. Put lasting facts in the card or a World Info entry, and keep the story so far in the Summarize extension.