Step 1 of the wizard now offers a toggle between "Dedicated API"
(default) and "Connection Profile" before configuring the LLM.
Previously, Connection Profile was only available in the Settings
Modal after completing the wizard.
- Source toggle buttons with active/inactive styling
- Profile section: dropdown via CMRS.handleDropdown(), Test Connection
- Step 3 summary adapts to show profile name or provider/model
- Updated getting-started.md with both paths and new screenshot
- Updated CHANGELOG.md with improvements and tooltip fix
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Settings and Troubleshooter modals used a side-by-side flex layout
(130px nav + content) that left the content panel too narrow on phone
screens. In phone mode, the nav now renders as horizontal tabs above
the content, giving it the full popup width.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Complete rewrite of the UI and significant feature additions since v1.6.1.
UX Redesign (v2.0):
- Single-view dashboard replaces 4-tab sidebar
- Settings, Prompts, Troubleshooter, Memory Manager moved to center-screen modals
- Activity log in slide-out drawer
- Setup Wizard for first-run configuration
- Prompt version tracking with update notifications
- Health indicator in stats bar
Injection Viewer (v1.6–v2.1.6):
- Per-message injection data: see exactly what memories, lorebook entries,
and extension prompts were injected for any generation
- Context/Prompt Breakdown with per-category token counts (System, Char card,
Lorebook, Data Bank, Examples, Chat history) via ST Prompt Itemization
- Stacked bar visualization, token hints in headers, Tips popup
- Context overflow and heavy injection warnings
Memory Management:
- Unified block editor across all 5 editing surfaces (Memory Manager,
Consolidation, Conversion, Reformat, Data Bank browser)
- Find & Replace with highlighting across all editors
- Undo support for all edit operations
- Group chat character picker in Memory Manager
Other features:
- Tablet & phone display modes with touch-friendly controls
- Topic-tagged memory format for better vector retrieval
- Self-closing memory tag handling (GLM-4.7 compatibility)
- Protect recent messages from extraction feedback loop
- 9-point health check system with retrieve chunks and score threshold
- Shared editor factory (editor.js), pure utility library (lib.js)
- Vitest test suite: unit, snapshot, and live LLM tests
- Full documentation suite in docs/
See CHANGELOG.md for detailed per-version notes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Position drawer below ST top bar dynamically so header/close/health
dot aren't clipped by browser chrome on tablets
- Replace empty span health dot with FA circle icon for reliable rendering
- Use color property instead of background for drawer health dot
- On touch devices, "Diagnostics" link shows inline health popup in
the drawer instead of navigating to the hidden extensions panel
- Desktop keeps existing behavior (opens extensions panel, scrolls)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Diagnostics link now opens the extensions drawer and scrolls to the
diagnostics section even when the panel isn't already visible
- Drawer health dot uses explicit background colors with ID-scoped
overrides so it doesn't blend into dark theme headers
- Unknown state uses rgba gray instead of theme border color variable
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Cap drawer width at 40vw so it doesn't obscure chat on tablets
- Enlarge drawer health dot to 10px with border for visibility
- Move timestamp and diagnostics link from footer to toolbar below header
- Add bal-spec git auth reminder to CLAUDE.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Backdrop overlay was closing the drawer when clicking the chat textarea.
Replaced with swipe-right-to-close gesture (60px threshold) for touch
devices. Drawer can still be closed via X button or toggle tab.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds a semi-transparent backdrop behind the injection drawer that
closes it when clicked/tapped. Works on both desktop and touch devices.
Also increases the close button touch target to 32px minimum for
better iPad usability.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Drawer health dot stays gray until a generation is captured (no false
green before injection is verified)
- Drawer dot tooltip shows injection-specific stats: vectorization,
memory count, duplicates, with instructions to open diagnostics
- Added "Open Diagnostics" link in drawer footer that scrolls to and
highlights the diagnostics panel
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds a health scoring system that checks Vector Storage configuration
and surfaces issues at a glance:
- Status bar: colored dot (green/yellow/red) with hover tooltip
- Diagnostics panel: detailed breakdown of each health check
- Per-message: duplicate/missing memory warnings in injection drawer
- Click-to-navigate: status bar dot scrolls to diagnostics
Health checks: vector files enabled, memory file exists, file vectorized,
chunk overlap adequacy, chunk size vs block size, memories injected,
duplicate detection.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The drawer, close button, and toggle button relied on inherited color
which could blend into the background with some themes (e.g. Moonlit
Echoes). Now explicitly sets color via --SmartThemeBodyColor.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Convert tool now uses the same callGenericPopup pattern as consolidation:
- Side-by-side panes (original file vs editable memory cards)
- Full card editing (add/delete/edit blocks and bullets)
- Re-run with LLM toggle, version stack, and undo
- Output destination controls inside the dialog
- inApiCall guard prevents concurrent dialogs
- dialogClosed flag cancels stale re-run callbacks
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace 5 top-level tabs with 4. Consolidate and Batch move under a
Tools tab with pill-button sub-navigation. Add Convert tool HTML shell
with source dropdown, LLM prompt disclosure, and preview area.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Three UX improvements:
- Model dropdown replaced with searchable text input (filter by typing,
keyboard navigation, optgroup support for NanoGPT)
- Group chats show character avatar thumbnails in the stats bar with
tooltip listing per-character memory filenames
- Extraction prompt labels now show "(1:1 chats)" or "(group chats)"
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Restructure settings into separate 1:1 Chat and Group Chat sections.
Add dynamic group members list showing each character's resolved memory
filename with editable overrides.
Filename detection cascade: manual override → auto-detect existing
*-memories.md in character's Data Bank → auto-generated {Name}-memories.md.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Tabs wrap to multiple rows instead of overflowing
- Reduced tab padding for compact fit
- Stats bar items wrap to 2 rows on narrow panels
- Activity log and diagnostics text wraps instead of overflowing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace hover/click expand with native resize: vertical.
User can drag the bottom edge to resize between 30px and 400px.
Always scrollable.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Main tab gets "Memory Extraction" header with "Automatic" checkbox
- "Select all" moved inline with "Character Attachments" header
- New charMemory_sectionHeader CSS for label + control on same line
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Activity Log labeled and always visible below tab content
- Diagnostics moved from Main tab to permanent pane at bottom
- Main tab now only has Extract Now and View/Edit buttons
- Click activity log to expand, hover also works
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
SillyTavern's popup dialog centers content by default, causing
bullets and card text to appear centered instead of left-aligned.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add settings migration from old consolidationPrompt to new
per-preset consolidationPrompts system. Update changelog with
all consolidation UX improvements for v1.3.0.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Shows last 3 log entries always visible below tabs, expandable
on click for more history. Uses max-height transition for smooth
expand/collapse.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Consolidated blocks now display as clean read-only cards with numbered
theme headers. Pencil icon toggles individual blocks into edit mode
with text inputs, delete buttons, and add memory/block controls. Dialog
toolbar includes expandable prompt viewer matching the Consolidate tab.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace hidden textarea + Custom option with <details> disclosure
showing the editable prompt for each strategy. Restore Default button
appears when a preset has been customized.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- escapeHtml() now escapes quotes for safe use in attribute values
- Remove duplicate countBlocksBullets (identical to existing countMemories)
- Disable editor inputs during re-run LLM call to prevent lost edits
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Each consolidated memory is now an editable card with text inputs instead
of raw text with <memory> tags. Supports add/delete bullets and blocks.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add box-sizing to consolidation editor textarea
- Bump version to 1.3.0
- Update changelog with new consolidation features
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Verbose log entries (prompts, responses) now render as collapsible
<details> sections with the first line as summary. Full content is
in a pre-formatted block with scroll, so it doesn't flood the log.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace default extraction prompt with higher-quality version: AVOID list
(sexual mechanics, temporary states, dialogue), FOCUS categories, past
tense rule, consolidation/fact-checking rules, better examples
- Bump default responseLength from 500 to 800
- Add minCooldownMinutes setting (default 10, range 0-30) to prevent
rapid-fire extractions; manual extractions bypass cooldown
- Combine Activity Log + Diagnostics into single tabbed drawer
- Expand stats bar from 2 to 4 items: file, memory count, extraction
progress (msgs/interval), cooldown timer with auto-refresh
- Fix stats bar showing stale count after Clear All Memories
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add collapsible Activity Log panel that shows timestamped events:
chat switches, extraction state, message collection, LLM responses
- Fix bug where lastExtractedIndex advanced even when LLM returned
NO_NEW_MEMORIES, preventing subsequent manual extraction from
processing messages on a switched-to chat
- Now only advance lastExtractedIndex when memories are actually saved;
always reset messagesSinceExtraction to prevent re-trigger loops
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Refactor collectRecentMessages/extractMemories to accept optional endIndex
- Add brain button on character messages to extract memories up to that point
- Add bookmark button on all messages to pin text as memory without LLM
- Show subtle brain indicator on messages already processed by extraction
- Update indicators on chat switch and after extraction completes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Switch from ## Memory N headers to <memory chat="..." date="..."> tag blocks
with individual bullet parsing. Memory manager now shows grouped extraction
cards with per-bullet edit/delete controls. Stats bar simplified to file name
and total bullet count. Diagnostics panel shows vectorization status.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Rename extension header from CharMemory to Character Memory
- Add always-visible stats bar showing active file, memory count, and
extraction progress
- Flatten Memory Status sub-drawer so controls are immediately visible
- Merge Advanced section into Settings with separator dividers
- Rename buttons: Manage Memories → View / Edit, Reset → Clear All
Memories (moved to Settings with danger styling)
- Add tooltips, helper text styling, and separator/danger-button CSS
- Call updateStatusDisplay after consolidation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Memories now stored as numbered `## Memory N` entries with timestamps
- Auto-migrates existing flat-text memories to structured format
- "Manage Memories" popup with edit/delete per entry (replaces "View Memories")
- "Consolidate" button and `/consolidate-memories` slash command to merge duplicates via LLM
- Extraction now splits LLM output on `---` separators into individual entries
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Automatically extracts structured character memories from chat and stores
them in character-scoped Data Bank files for vector retrieval.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>