Skip to content

Commit f559de0

Browse files
CopilotCohee1207
andauthored
Update docs for 1.16.0 release (#189)
* Initial plan * Remove "Staging Feature" warnings for features released in 1.16.0 Co-authored-by: Cohee1207 <18619528+Cohee1207@users.noreply.github.com> * Add new config.yaml settings, stable-diffusion.cpp, Moonshot reasoning, NanoGPT to tool calling/vector storage/reasoning effort Co-authored-by: Cohee1207 <18619528+Cohee1207@users.noreply.github.com> * Document TTS regex, minimal prompt processing, pick reroll, hasExtension macro, and /beep command Co-authored-by: Cohee1207 <18619528+Cohee1207@users.noreply.github.com> * Update reasoning notes for Z.AI and Moonshot Consolidate reasoning settings for Z.AI and Moonshot in documentation. * Clarify regex application description in TTS.md Updated the description of the regex application feature for clarity. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Cohee1207 <18619528+Cohee1207@users.noreply.github.com>
1 parent 429fc97 commit f559de0

9 files changed

Lines changed: 36 additions & 36 deletions

File tree

Administration/config-yaml.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ See more about using environment variables in the [Node.js documentation](https:
118118
|---------|-------------|---------|-----------------|
119119
| `listen` | Enable listening for incoming connections | `false` | `true`, `false` |
120120
| `port` | Server listening port | `8000` | Any valid port number (1-65535) |
121+
| `heartbeatInterval` | Interval in seconds to write a heartbeat file for Docker healthchecks. Set to 0 to disable | `0` | `0` (disabled), positive integer |
121122
| `protocol.ipv4` | Enable listening on the IPv4 protocol | `true` | `true`, `false`, `auto` |
122123
| `protocol.ipv6` | Enable listening on the IPv6 protocol | `false` | `true`, `false`, `auto` |
123124
| `listenAddress.ipv4` | Listen on a specific IPv4 address | `0.0.0.0` | Valid IPv4 address |
@@ -207,6 +208,18 @@ An enabled CORS proxy may be required by some extensions. It is not required by
207208
|---------|-------------|---------|-----------------|
208209
| `enableCorsProxy` | Enable CORS proxy middleware | `false` | `true`, `false` |
209210

211+
## CORS Configuration
212+
213+
| Setting | Description | Default | Permitted Values |
214+
|---------|-------------|---------|-----------------|
215+
| `cors.enabled` | Enable or disable CORS middleware | `true` | `true`, `false` |
216+
| `cors.origin` | Allowed origins. `"null"` matches the default browser file origin | `["null"]` | `"*"` (any origin), array of allowed origins |
217+
| `cors.methods` | Allowed HTTP methods | `["OPTIONS"]` | Array of HTTP methods |
218+
| `cors.allowedHeaders` | Allowed request headers | `[]` | Array of header names |
219+
| `cors.exposedHeaders` | Exposed response headers | `[]` | Array of header names |
220+
| `cors.credentials` | Allow credentials (cookies, authorization headers) | `false` | `true`, `false` |
221+
| `cors.maxAge` | Preflight cache max age in seconds | `null` | `null`, positive integer |
222+
210223
## Browser Launch Configuration
211224

212225
> Previously known as "Autorun" settings.
@@ -322,6 +335,7 @@ See: [Prompt Caching](https://platform.claude.com/docs/en/build-with-claude/prom
322335
| Setting | Description | Default | Permitted Values |
323336
|---------|-------------|---------|-----------------|
324337
| `gemini.apiVersion` | API endpoint version (AI Studio only) | `v1beta` | `v1beta`, `v1alpha` |
338+
| `gemini.thoughtSignatures` | Adds thought signatures to requests (if available). Only for Gemini 3 and above | `true` | `true`, `false` |
325339
| `gemini.enableSystemPromptCache` | Enables caching of the system prompt (OpenRouter only) | `false` | `true`, `false` |
326340
| `gemini.image.personGeneration` | See: <https://ai.google.dev/gemini-api/docs/imagen#imagen-configuration> | `allow_adult` | `dont_allow`, `allow_adult`, `allow_all` |
327341

For_Contributors/Function-Calling.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Function Calling allows adding dynamic functionality to your extensions by letti
2525

2626
## Prerequisites and limitations
2727

28-
1. This feature is only available for certain Chat Completion sources: OpenAI, Claude, MistralAI, Groq, Cohere, OpenRouter, AI21, Google AI Studio, Google Vertex AI, DeepSeek, AI/ML API and Custom API sources.
28+
1. This feature is only available for certain Chat Completion sources: OpenAI, Claude, MistralAI, Groq, Cohere, OpenRouter, AI21, Google AI Studio, Google Vertex AI, DeepSeek, AI/ML API, NanoGPT and Custom API sources.
2929
2. Text Completion APIs don't support function calls, but some locally-hosted backends like Ollama and TabbyAPI may run in Custom OpenAI-compatible mode under Chat Completion.
3030
3. The support for function calling must be explicitly allowed by the user first. This is done by enabling the "Enable function calling" option in the AI Response Configuration panel.
3131
4. There is no guarantee that an LLM will perform any function calls at all. Most of them require an explicit "activation" through the prompt (e.g., the user asking to "Roll a dice", "Get the weather", etc.).

For_Contributors/st-script.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ Now let's add a little bit of interactivity to the script. We will accept the in
7373
- `/setinput (text)` — replaces the contents of the user input bar with the provided text.
7474
- `/speak voice="name" (text)` — narrates the text using the selected TTS engine and the character name from the voice map, e.g. `/speak name="Donald Duck" Quack!`.
7575
- `/buttons labels=["a","b"] (text)` — shows a blocking popup with the specified text and button labels. `labels` must be a JSON-serialized array of strings or a variable name containing such an array. Returns the clicked button label into the pipe or empty string if canceled. The text supports lite HTML formatting.
76+
- `/beep` — plays the message notification sound.
7677

7778
#### Arguments for `/popup` and `/input`
7879

Installation/Docker.md

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -247,10 +247,6 @@ If you already see a _plugins_ folder within the `docker` folder, you can skip S
247247
248248
## Non-root user mode
249249
250-
!!!warning Staging Feature
251-
This is currently only available on the `staging` branch of SillyTavern, and not part of the latest release.
252-
!!!
253-
254250
By default, the container runs as root. If you want files created in mounted volumes to be owned by a specific host user (for example, to avoid root-owned files), you can enable non-root mode.
255251
256252
### Option 1: PUID/PGID (recommended)
@@ -300,10 +296,6 @@ docker run \
300296

301297
## Container Healthcheck
302298

303-
!!!warning Staging Feature
304-
This is currently only available on the `staging` branch of SillyTavern, and not part of the latest release.
305-
!!!
306-
307299
The Docker image includes a built-in healthcheck mechanism that monitors the SillyTavern server's responsiveness. This is useful for container orchestration systems (like Docker Compose, Kubernetes, or Docker Swarm) to detect and automatically restart unresponsive containers.
308300
309301
### How it works

Usage/Characters/data-bank.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ All these sources require an API key of the respective service and usually have
162162
8. OpenRouter
163163
9. Electron Hub
164164
10. Chutes
165+
11. NanoGPT
165166

166167
## Vectorization Settings
167168

Usage/Prompts/reasoning.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ Supported sources:
5959
- Electron Hub
6060
- Chutes
6161
- NanoGPT
62+
- Moonshot
6263

6364
!!!
6465
For **most** sources, "Request model reasoning" does not determine whether a model does reasoning as it can't be disabled. If the backend and model support explicitly requesting disabled reasoning, the setting will do so. Otherwise, the model will always reason.
@@ -67,7 +68,7 @@ For **most** sources, "Request model reasoning" does not determine whether a mod
6768
Provider-specific notes:
6869

6970
- Claude and Google (2.5 Flash) allow thinking mode to be toggled; see [Reasoning Effort](#reasoning-effort).
70-
- Reasoning can be disabled for Z.AI (GLM). The setting maps the to `thinking.type` parameter, see the [documentation](https://docs.z.ai/api-reference/llm/chat-completion#body-one-of-0-thinking). It does not support "Reasoning Effort".
71+
- Reasoning can be disabled for [Z.AI (GLM)](https://docs.z.ai/api-reference/llm/chat-completion#body-one-of-0-thinking) and [Moonshot (Kimi)](https://platform.moonshot.ai/docs/guide/use-kimi-k2-thinking-model). The setting maps the to `thinking.type` parameter. It does not support "Reasoning Effort".
7172

7273
### By Parsing
7374

@@ -117,15 +118,15 @@ Different ephemerality options affect reasoning blocks in the following ways:
117118

118119
Reasoning Effort is a Chat Completion setting in the **<i class="fa-solid fa-sliders"></i> AI Response Configuration** panel that influences how many tokens may potentially be used on reasoning. The effect of each option depends on the source connected to. For the sources below, Auto simply means the relevant parameter is not included in the request.
119120

120-
| Option | Claude (≤ 21333 if no streaming) | OpenAI (keyword) | OpenRouter (keyword) | xAI (Grok) (keyword) | Perplexity (keyword) |
121-
| ------- | -------------------------------- | -------------------- | -------------------------------- | -------------------- | -------------------- |
122-
| Models | Opus 4, Sonnet 4/3.7 | o4-mini, o3\*, o1\* | applicable models | grok-3-mini | sonar-deep-research |
123-
| Auto | not specified, **no thinking** | not specified | not specified, effect depends | not specified | not specified |
124-
| Minimum | budgets 1024 tokens | "low" | "low", or 20% of max response | "low" | "low" |
125-
| Low | 15% of max response, min 1024 | "low" | "low", or 20% of max response | "low" | "low" |
126-
| Medium | 25% of max response, min 1024 | "medium" | "medium", or 50% of max response | "low" | "medium" |
127-
| High | 50% of max response, min 1024 | "high" | "high", or 80% of max response | "high" | "high" |
128-
| Maximum | 95% of max response, min 1024 | "high" | "high", or 80% of max response | "high" | "high" |
121+
| Option | Claude (≤ 21333 if no streaming) | OpenAI (keyword) | OpenRouter (keyword) | xAI (Grok) (keyword) | Perplexity (keyword) | NanoGPT (keyword) |
122+
| ------- | -------------------------------- | -------------------- | -------------------------------- | -------------------- | -------------------- | ----------------- |
123+
| Models | Opus 4, Sonnet 4/3.7 | o4-mini, o3\*, o1\* | applicable models | grok-3-mini | sonar-deep-research | applicable models |
124+
| Auto | not specified, **no thinking** | not specified | not specified, effect depends | not specified | not specified | not specified |
125+
| Minimum | budgets 1024 tokens | "low" | "low", or 20% of max response | "low" | "low" | "none" |
126+
| Low | 15% of max response, min 1024 | "low" | "low", or 20% of max response | "low" | "low" | "minimal" |
127+
| Medium | 25% of max response, min 1024 | "medium" | "medium", or 50% of max response | "low" | "medium" | "low" |
128+
| High | 50% of max response, min 1024 | "high" | "high", or 80% of max response | "high" | "high" | "medium" |
129+
| Maximum | 95% of max response, min 1024 | "high" | "high", or 80% of max response | "high" | "high" | "high" |
129130

130131
- For Claude, budget is capped to 21333 if streaming is disabled. If the calculated budget would be less than 1024, then max response is changed to 2048.
131132
- For OpenRouter, Perplexity and AI/ML API, only an OpenAI-style keyword is sent.

Usage/macros.md

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -146,10 +146,6 @@ The condition itself is a macro that retrieves a variable value.
146146

147147
## Scoped Macros
148148

149-
!!!warning Staging Feature
150-
This is currently only available on the `staging` branch of SillyTavern, and not part of the latest release.
151-
!!!
152-
153149
Any macro that accepts at least one argument supports scoped syntax. The content between opening and closing tags becomes the **last argument** of the macro.
154150

155151
### Scoped Syntax
@@ -213,10 +209,6 @@ To preserve all whitespace including leading/trailing newlines, use the `#` flag
213209

214210
## Conditional Macros
215211

216-
!!!warning Staging Feature
217-
This is currently only available on the `staging` branch of SillyTavern, and not part of the latest release.
218-
!!!
219-
220212
The `{{if}}` macro renders content conditionally based on whether a value is truthy or falsy.
221213

222214
### Simple Condition
@@ -290,10 +282,6 @@ Another example:
290282

291283
## Macro Flags
292284

293-
!!!warning Staging Feature
294-
This is currently only available on the `staging` branch of SillyTavern, and not part of the latest release.
295-
!!!
296-
297285
Flags are special symbol characters placed between the opening braces and the macro name that modify macro behavior.
298286

299287
### Syntax
@@ -380,10 +368,6 @@ This outputs `{{notAMacro}}` as plain text.
380368

381369
## Variable Shorthands
382370

383-
!!!warning Staging Feature
384-
This is currently only available on the `staging` branch of SillyTavern, and not part of the latest release.
385-
!!!
386-
387371
Variable shorthands provide a concise syntax for common variable operations. Use `.` for local variables and `$` for global variables.
388372

389373
### Variable Shorthands Prefixes
@@ -773,7 +757,7 @@ Use `/? macros` for the complete list of available macros and their detailed des
773757
| Macro | Description |
774758
|-------|-------------|
775759
| `{{random::a::b::c}}` | Random selection (re-rolls each time) |
776-
| `{{pick::a::b::c}}` | Stable random selection (consistent per chat and position) |
760+
| `{{pick::a::b::c}}` | Stable random selection (consistent per chat and position). Can be rerolled with the `/reroll-pick` command |
777761
| `{{roll::1d20}}` | Dice roll using droll syntax |
778762

779763
### Runtime State
@@ -784,6 +768,7 @@ Use `/? macros` for the complete list of available macros and their detailed des
784768
| `{{model}}` | Model name for the currently selected API |
785769
| `{{isMobile}}` | "true" if running in mobile environment, "false" otherwise |
786770
| `{{lastGenerationType}}` | Type of last queued generation request (e.g., "normal", "impersonate", "regenerate", "quiet", "swipe", "continue") |
771+
| `{{hasExtension::name}}` | Check if an extension is active (returns "true" or "false"). Matches by extension name, case-insensitive |
787772

788773
### Prompt Templates
789774

extensions/Stable-Diffusion.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ Most common Stable Diffusion generation settings are customizable within the Sil
4747
| [Pollinations](https://pollinations.ai/) | Cloud, open source (MIT), free of charge |
4848
| [SD.Next / vladmandic](https://github.com/vladmandic/automatic) | Local, open source (AGPL3), free of charge |
4949
| [SillyTavern Extras](https://github.com/SillyTavern/SillyTavern-Extras) | Deprecated, not recommended |
50+
| [stable-diffusion.cpp](https://github.com/leejet/stable-diffusion.cpp) | Local, open source (MIT), free of charge |
5051
| [Stability AI](https://platform.stability.ai/) | Cloud, paid |
5152
| [Stable Diffusion WebUI / AUTOMATIC1111](https://github.com/AUTOMATIC1111/stable-diffusion-webui) | Local, open source (AGPL3), free of charge |
5253
| [Stable Horde](https://stablehorde.net/) | Cloud, open source (AGPL3), free of charge |
@@ -163,6 +164,10 @@ Some special subjects trigger a predefined generation mode:
163164

164165
When using the interactive mode of the slash command, automatically extend free-mode generation subject descriptions by prompting your main API.
165166

167+
### Minimal prompt processing
168+
169+
When enabled, reduces the processing applied to prompts returned by the LLM for image generation. Only normalization and whitespace reduction are performed, skipping the aggressive sanitization that is done by default. This is useful when working with advanced workflows (e.g., ComfyUI) that accept structured prompt formats like JSON.
170+
166171
### Snap auto-adjusted resolutions
167172

168173
Snap image generation requests with a forced aspect ratio (portraits, backgrounds) to the nearest known resolution, while trying to preserve the absolute pixel counts. Refer to the "Resolution" dropdown for the list of possible options.

extensions/TTS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ Available options (list may change over time):
4040
- **Ignore \*text, even "quotes", inside asterisks\*** - TTS will not play any text within `*asterisks*`, even "quotes" (internal variable name = `narrate_dialogues_only`)
4141
- *having both "only narrate quotes" and "ignore asterisks" checkboxes both checked will result in the TTS only reading "quotes" which are not in asterisks, and ignoring everything else.*
4242
- **Narrate only the translated text** - this will make the TTS only narrate the translated text.
43+
- **Apply regex** - applies a provided regex pattern to the text before sending it to the TTS provider. Useful for removing unwanted parts from the input text, such as emojis or non-native language characters that the TTS engine doesn't handle well.
4344

4445
Given the example text: `*Cohee approaches you with a faint "nya"* "Good evening, senpai", she says.`
4546
Here's a table showing how the text will be modified based on the boolean states of **Ignore \*text, even "quotes", inside asterisks\*** and **Only narrate "quotes"**:

0 commit comments

Comments
 (0)