Skip to content

Repository files navigation

Doom's Enhancement Suite for SillyTavern

A comprehensive enhancement extension for SillyTavern that adds character tracking, scene management, plot twist generation, chat bubbles, character sheets, and deep customization to your roleplay experience.

This extension was entirely vibe-coded using Claude Code. It started as a fork of SpicyMarinara's RPG Companion and has since been heavily modified and expanded. Their extension is fantastic — check it out if you haven't.

This is a work in progress. Constructive criticism and contributions are welcome.

Installation

  1. Open SillyTavern
  2. Go to the Extensions tab (puzzle piece icon at the top)
  3. Click Install Extension
  4. Paste this URL:
    https://github.com/DangerDaza/Dooms-Enhancement-Suite
    
  5. Click Install, then reload the page

Once installed, enable the extension in Extensions > Doom's Enhancement Suite and open the settings panel (the D icon) to configure everything.


Features

Present Characters Panel

A horizontal card shelf displaying character portraits between the chat and input area. Tracks every character in the scene with their portrait, relationship to the player, internal thoughts, status, and up to 8 custom tracker fields.

Each character gets their own card with an avatar — custom uploaded, auto-imported from SillyTavern character cards, or emoji fallback. Shows present characters with hover glow effects and animated pulses when a character is speaking. Absent characters can be shown greyed out.

Right-click any portrait to open the Character Workshop (where custom images, dialogue colors, and knives are managed), open their character sheet, cancel a pending inject, or remove the character from the scene.

NPCs support Aliases (Character Workshop → Identity): other names the AI might use for the same character — like a revealed full name ("Sarah Greenfield" for "Sarah"), a nickname, or a title. Tracker data using an alias resolves to the existing card instead of spawning a duplicate character, while the AI stays free to use the alias in prose. Fully customizable — card size, spacing, border radius, colors, glow intensity, and positioning (above input, below input, or top of screen).

Supports a palette of 30 distinct dialogue colors to prevent collisions in large casts. Per-chat character tracking is available — when enabled, each chat maintains its own independent character roster so characters don't bleed between conversations. image

Character Expressions Sync

Mirrors SillyTavern's active Character Expressions into the Present Characters portraits in real time. When a character speaks, their portrait updates to match their current expression sprite and persists until they speak again. Optional toggle to hide SillyTavern's native expression display.

Character Sheets (Bunny Mo Integration)

Right-click any character in the portrait bar and select Character Sheet to open a full popup with the character's art on the left and a detailed character sheet on the right. Compatible with Bunny Mo's !fullsheet and !quicksheet commands — run either in chat, click the import button on the resulting message, and the sheet auto-populates with collapsible sections. Sheet data persists per-chat. Enable via the Bunny Mo Integration toggle in settings.

image

Scene Tracker

Compact scene info blocks injected after assistant messages in chat. Displays time, date, location, weather, present characters, active quest, and recent events. Placed outside the message text so TTS won't read them. Multiple layout modes available:

  • Grid — 2-column layout
  • Stacked — single column
  • Compact — inline flow
  • Banner — horizontal strip after the last message
  • HUD (Floating Panel) — frosted-glass panel, fully draggable with position persistence
  • Ticker — collapsible bar pinned to top or bottom of chat

Beyond the built-in fields, you can define your own custom scene fields (Tracker Editor → Scene Tracker → Custom Scene Fields). Each field has a name, an emoji icon, and an AI instruction describing what to track — the AI fills it in with every response and it renders in all Scene Tracker layouts alongside the built-in fields. Custom fields support inline editing in the Scene Tracker panel and can be included in History Persistence. image

Dynamic Weather Effects

Visual weather effects that respond to the current scene weather. Rain, snow, wind, and other atmospheric particles render as an overlay on the chat, with automatic detection of indoor vs outdoor scenes.

Chat Bubbles

Splits multi-character AI messages into individual styled chat bubbles per speaker. Two styles available:

  • Discord Style — full-width message blocks with character names
  • Card Style — rounded card bubbles
image

Works automatically by detecting speaker changes through dialogue coloring.

Doom Counter (Plot Twist Generator)

A tension-driven plot twist system that keeps your story from stagnating. The AI rates each scene's tension on a 1–10 scale behind the scenes. When things stay too calm for too long, a countdown activates — and when it hits zero, you're presented with a set of AI-generated plot twist cards to choose from. Pick one and it gets woven into the next response.

How it works:

  • The AI silently reports a tension score (1–10) with every response
  • Low-tension responses (≤ ceiling, default 4) build up a streak counter
  • Once the streak hits the threshold (default 5), a visible countdown begins
  • Lower tension = faster countdown (tension 1 drops by 3, tension 2 by 2)
  • At zero, a modal appears with twist options generated from your current scene context
  • Select a twist and it's injected into the next AI generation, then counters reset

Knives — every character carries their own twists:

Instead of relying on AI-generated twists, you can attach pre-written story beats — Knives — to any character in the Character Workshop (right-click a portrait → Character Workshop → 🔪 Knives tab). Example: your character David is in Chicago, and one of his knives is "David is a gambling addict — he owes a lot of money to the wrong people." When the counter strikes, one character currently in the scene (including your own persona) is chosen at random from those holding armed knives, and their knives are offered as cards instead of generated twists. Pick one and the AI weaves its consequences into the next scene.

  • Knives travel with the character across chats; both NPCs and user personas can carry them
  • Out of ideas? Generate Knives lets you pick a theme — Mixed, Betrayal, Enemies, Debts, Old Flames, Secrets, Regrets, or Fortune — and your AI suggests 5 knives in that vein, grounded in the character and current chat. Tick the ones worth keeping
  • Turn the system on per story with Settings → Doom Counter → Enable Knives (this chat)
  • Only one character's knives surface per trigger — you won't know whose until the counter strikes
  • A chosen knife is marked used so it isn't offered twice — re-arm it in the Workshop to put it back in rotation
  • A "Generate twists instead" button on the knife picker falls back to AI-generated twists
  • In Trap Mode, a random armed knife from a random present character is injected silently — you won't see it coming

Configurable settings:

  • Low Tension Ceiling (2–6) — what counts as "too calm"
  • Low Tension Threshold (3–10) — how many calm responses before countdown starts
  • Countdown Length (1–8) — starting countdown value
  • Twist Choices (2–6) — number of twist options generated
  • Context Messages (5–30) — how many recent messages the twist generator sees
  • Message Truncation (200–3000) — max characters per message in the twist prompt
  • Injection Depth — where the twist instruction is inserted in the prompt
  • Debug mode — shows live tension/streak/countdown in scene headers
  • Trigger Now button for manual activation

Lore Library (Lorebook Manager)

A full-featured lorebook manager that replaces SillyTavern's native World Info interface. Organize your world info books into named library folders with custom icons and colors. Features include:

  • Per-library and master toggle-all buttons
  • Inline entry editing
  • Search and filter across books
  • Bulk visibility controls
  • Drag-to-reorder libraries
  • Token count estimates
image

Quest Tracking

Track a main quest and multiple optional side quests. Quests appear in scene headers and are included in the AI's generation context. All quests are editable inline with lock support.

Dialogue Coloring

Automatically colors each character's dialogue with unique colors from a 30-color palette. The AI generates <font color> tags that display in chat while being automatically stripped for TTS playback. Works seamlessly with chat bubbles.

Thought Bubbles

Displays the character's internal thoughts as floating bubbles directly within chat messages. See what characters are thinking alongside their dialogue. image

Per-Swipe Data

Each message swipe preserves its own tracker data independently. Swipe back and forth and each version keeps its own scene state, character data, and quest progress.

History Persistence

Save and restore tracker history snapshots. Useful for branching storylines or recovering from bad generations.


Troubleshooting

System Log

Captures all Doom's Enhancement Suite console messages with timestamps. Open from the bottom of the settings panel to review extension initialization, generation events, and errors.

Notification Log

Captures every SillyTavern toast notification (API errors, system messages, warnings, etc.) so you can scroll back and see what happened even after the pop-up disappears. Includes Copy All for easy bug reporting.


Customization

Themes

Choose from pre-built themes (Default, Sci-Fi, Fantasy, Cyberpunk) or create your own with full color picker controls for background, accent, text, highlight, stat bars, and per-element opacity.

Settings Panel

image image

The settings panel (accessed via the D icon) is organized into sections:

  1. Display & Features — Toggle every feature on/off individually
  2. Theme — Colors, animations, stat bar gradients
  3. Present Characters Panel — Portrait bar layout, card sizing, colors, effects, per-chat tracking, expression sync
  4. Bunny Mo Integration — Character sheet support with fullsheet/quicksheet import
  5. Scene Tracker — Field visibility, layout mode (grid/stacked/compact/banner/HUD/ticker), sizing, colors
  6. Doom Counter — Tension thresholds, countdown, twist generation, advanced prompt tuning
  7. Chat Bubbles — Style, speaker detection, color integration
  8. History Persistence — Save/restore tracker snapshots
  9. Lore Library — Lorebook organization and management
  10. Advanced — Generation settings, prompt editing, debug options

Prompt Editing

Customize the generation prompts for HTML formatting, dialogue coloring, twist generation, and avatar generation through the built-in prompts editor.


Mobile Support

Fully responsive design with touch-friendly controls. All panels adapt to small screens with a dedicated mobile toggle and draggable FAB button.


Privacy

DES sends no telemetry. Nothing about you or your chats ever leaves your machine.

Credits

  • Originally forked from marinara_spaghetti's RPG Companion extension
  • Character Expressions sync contributed by Tremendoussly
  • Twist generator prompt contributed by thekittymix
  • Character sheet parser based on CarrotKernel by Coneja

License

This program is free software under the GNU Affero General Public License v3.0.

About

An immersive RPG enhancement extension for SillyTavern — character tracking, lore library, TTS highlighting, portrait bar, scene headers, chat bubbles, weather effects, and more.

Topics

Resources

Stars

52 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages