SillyTavern Support
TomoriBot can import two things from SillyTavern that you may already have: Prompt Manager presets (how the prompt is laid out) and character cards (the character itself). This is a niche feature for ST users — if you’ve never used SillyTavern, you can skip this page.
Character Card Import
Section titled “Character Card Import”Bring an existing SillyTavern character straight into Discord with /persona import. It
accepts:
- PNG cards with embedded
chara/charmetadata, - v2-style JSON cards (root-level
name,description,first_mes, …), - v3 JSON cards (
spec: "chara_card_v3"with a nesteddataobject).
If the file has no TomoriBot metadata but is a valid ST v2/v3 card, import automatically runs
it through the SillyTavern conversion flow. You can also feed a card to /persona generate to
transform it into a fresh persona.
Imports pass through a validation schema before anything is saved (default caps: 5,000
characters per string, 200 attributes, 100 sample dialogues per side, 100 trigger words —
self-hosters can tune the PRESET_MAX_* env vars). For the exact conversion and field
mapping, see the card-support architecture.
Prompt Presets
Section titled “Prompt Presets”A SillyTavern Prompt Manager preset controls the layout of the prompt. Import one with
/st-preset import, inspect which nodes are enabled with /st-preset toggle, and return to
the normal layout with /st-preset remove.
What a Preset Controls
Section titled “What a Preset Controls”- Prompt order and marker placement
- Custom prompt nodes
- Post-history / depth-injection nodes
- Which imported nodes start enabled or disabled
What It Does Not Replace
Section titled “What It Does Not Replace”A preset owns the layout, not every source of text. These still exist alongside it:
- Your system/persona blocks:
/config system-prompt set,/persona prompt set,/persona attribute add,/persona sample-dialogue add. - Live chat history and retrieved document context.
- TomoriBot’s automatic context: server memory, emoji/sticker context, users-in-conversation, short-term memory, conditioning, and similar blocks.
How Native Blocks Map
Section titled “How Native Blocks Map”main→ the current system prompt (/config system-prompt set, else the built-in fallback)charDescription→/persona prompt setcharPersonality→/persona attribute adddialogueExamples→/persona sample-dialogue addchatHistory→ live channel historyworldInfoBefore/worldInfoAfter→ retrieved document context (not ST lorebooks)
System Prompt Rule
Section titled “System Prompt Rule”While a preset is active, the built-in fallback system prompt is removed — but if you set
your own with /config system-prompt set, it’s still sent.
Compatibility Notes
Section titled “Compatibility Notes”Common surprises when a preset seems ignored:
- Imported ≠ sent: nodes disabled in
prompt_orderstay off until you enable them with/st-preset toggle. Comment-only and empty nodes are never sent; unknown markers are skipped. - Order is literal — placing
chatHistorybeforedialogueExamplessends live chat first. - Post-history/depth injections merge into existing chat-history entries rather than becoming standalone messages; multiple nodes at the same depth are batched.
- Regex post-processing, preset-side temperature/top-p/model overrides, and layered presets are not supported. Legacy text-completion presets import through a best-effort path that drops ST-only blocks (scenario, anchors, stop strings, …).
Run /help st-preset for the full in-Discord reference. For the import engine internals, see
the preset-system architecture.