Files
Claudia-rust/ROADMAP.md
matt 10d95951a3 feat: implement QoL features (toast notifications, command palette, auto-save)
Add three major quality-of-life features to improve user experience:

Toast Notification System:
- Non-blocking notifications for all major actions
- Four variants: success, error, warning, info
- Auto-dismiss with progress bar
- Bottom-right positioning with smooth animations
- Replaced old status messages throughout the app

Command Palette (Ctrl+P):
- Keyboard-driven quick access to all actions
- 14 built-in commands across 5 categories
- Real-time fuzzy search with arrow key navigation
- Shows keyboard shortcuts for each command
- Grouped by category with visual feedback

Auto-save & Recovery:
- Automatic draft saving (1s debounce)
- Per-character draft storage in localStorage
- Auto-recovery on app restart or character switch
- Draft age display (e.g., "2 hours ago")
- Auto-cleanup of drafts older than 7 days
- Clears draft when message is sent

Updated README with new Ctrl+P keyboard shortcut
Updated ROADMAP with Phase 8: Quality of Life & Polish section

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-17 12:27:20 -07:00

20 KiB

Claudia Roleplay Enhancement Roadmap

Current Status

Implemented Features

  • V2/V3 Character Card Import/Export
  • Message Swipes (multiple response alternatives)
  • Streaming Responses with toggle
  • Character Management (multiple characters)
  • Character Avatars with upload and zoom
  • Expanded Character Editor (all v2/v3 fields)
  • Prompt Presets System (built-in and custom presets with instruction blocks)
  • Editable Built-in Presets with Restore to Default
  • World Info/Lorebook System (keyword detection, priority, insertion)
  • Author's Note (configurable depth and positioning)
  • User Personas (identity management with chat/character locking)
  • Regex Scripts (global and character-scoped text transformations)
  • Chat History Import/Export (JSON format)
  • Enhanced Message Controls (delete, pin, hide, continue, regenerate any message)
  • Token Counter (real-time display with per-section breakdown)
  • Message Examples (character card examples injected into context)
  • Chat Branching/Checkpoints (create, switch, delete, rename branches from any message)

🎯 Current Focus: Quality of Life & Polish

Next Up: Implementing high-impact QoL features to reduce friction and improve user experience - starting with Toast Notifications, Command Palette, Auto-save, Drag & Drop, and Chat Search.

Recent Completion: Chat Branching/Checkpoints - Full conversation branching system allowing users to create and explore alternate conversation paths from any message point. Each branch maintains its own complete message history with a branch manager modal for easy navigation.

Phase 1: Core Roleplay Infrastructure (High Priority)

Goal: Enable basic roleplay-focused prompt engineering

1. World Info/Lorebook System

  • Create UI for managing lorebook entries (keyword, content, priority)
  • Implement keyword detection in recent messages
  • Add context injection before message generation
  • Support recursive entry activation
  • Per-character lorebook assignment
  • Import/export lorebook files

Why Important: World Info is the foundation of consistent roleplay. It allows dynamic context injection based on what's currently relevant in the conversation, saving tokens while maintaining world consistency.

2. Author's Note

  • Add configurable Author's Note field (inserted at depth 1-5)
  • Position control (after system, before/after examples, etc.)
  • Per-character Author's Note support
  • Template variables in Author's Note

Why Important: Author's Note is considered better than system prompts for roleplay because it appears closer to the actual conversation, reducing AI tendency to ignore or forget instructions.

3. Jailbreak Templates (Implemented as Prompt Presets)

  • Add jailbreak template field in settings (Prompt Presets with system additions)
  • Preset jailbreak templates for roleplay (Built-in presets: Default, Roleplay, Creative Writing, Assistant)
  • Per-character jailbreak override option (Active preset per character)
  • Template preview and testing (Editable instruction blocks with live preview)

Why Important: Many roleplay scenarios require specific prompting to work well with API safety filters and to maintain character consistency.

Phase 2: Enhanced Character Features (High Priority)

Goal: Better character representation and user identity

1. User Personas

  • Create persona management UI (name, description, avatar)
  • Chat-level persona locking
  • Character-level persona locking
  • Default persona setting
  • Quick persona switching

Why Important: Allows users to have multiple identities for different roleplay scenarios without manually changing their name and description each time.

2. Character Expressions/Sprites

  • Support for emotion-based character images
  • Sentiment analysis of AI responses (local model)
  • 28+ emotion presets (happy, sad, angry, neutral, etc.)
  • Expression sprite packs (import/export)
  • Manual expression override with /emote command
  • Sprite positioning options (beside chat, behind chat, etc.)

Why Important: Visual representation of character emotions dramatically enhances immersion and makes conversations feel more alive.

3. Message Examples in Context

  • Actually use mes_example field from character cards
  • Format and inject into prompt properly
  • Position control in context
  • Token budget allocation for examples

Why Important: Message examples help the AI understand the character's voice and writing style, leading to more accurate portrayals.

Phase 3: Advanced Chat Management (Medium Priority)

Goal: Non-linear conversation control

1. Chat Branching/Checkpoints

  • Save conversation state at any message
  • Create branches from any point
  • Switch between branches
  • Visual branch indicator in UI
  • Branch naming and organization
  • Delete branches
  • Merge branches (deferred - nice to have)

Why Important: Roleplay often involves exploring "what if" scenarios. Branching lets you explore different conversation paths without losing previous progress.

2. Enhanced Message Controls

  • Delete individual messages (not just clearing all)
  • Regenerate any message (not just last)
  • Continue incomplete messages
  • Message pinning (keep certain messages in context)
  • Message folding/hiding
  • Bulk message operations (deferred - nice to have)

Why Important: Fine-grained control over conversation history allows users to craft the perfect roleplay session.

3. Timeline Visualization

  • Visual tree of chat branches
  • Quick navigation between branches
  • Branch metadata (creation date, message count, etc.)
  • Visual diff between branches
  • Merge branch capability

Why Important: Makes managing complex branching conversations intuitive and prevents users from getting lost.

Phase 4: Multi-Character/Group Chats (Medium Priority)

Goal: Enable complex multi-character scenarios

1. Group Chat Foundation

  • Create group chat data structure
  • UI for managing group members
  • Add/remove characters from groups
  • Group chat history management
  • Per-group settings

Why Important: Many roleplay scenarios involve multiple characters interacting. Group chats enable DM-style gameplay and complex social scenarios.

2. Reply Management

  • Manual character selection
  • Natural order (mention-based)
  • Talkativeness settings per character (0-100%)
  • Auto-mode (characters respond automatically)
  • Character muting/unmuting
  • Reply order presets

Why Important: Gives users control over conversation flow while allowing for spontaneous multi-character interactions.

3. Group Chat UI

  • Character indicators on messages
  • Character list sidebar
  • Mute/unmute controls
  • Character ordering/priority
  • Group-wide lorebook support

Why Important: Clear visual indicators make group conversations easy to follow.

Phase 5: Context & Token Management (Medium Priority)

Goal: Visibility and control over context usage

1. Token Counter

  • Real-time token count display
  • Per-section breakdown (system, history, WI, etc.)
  • Visual context budget indicator (deferred)
  • Dotted line showing context cutoff in chat (deferred)
  • Warning when approaching limit (deferred)

Why Important: Understanding what's in context and what's being cut is crucial for debugging issues and optimizing prompts. Core functionality complete - visual enhancements can be added later.

2. Context Templates

  • Customizable prompt assembly order
  • Handlebars template support
  • Presets for different model types (Alpaca, ChatML, Llama, etc.)
  • Template preview
  • Variable substitution visualization

Why Important: Different models expect different prompt formats. Templates ensure prompts are formatted correctly for each model.

3. Smart Context Management

  • Summarization of old messages
  • Automatic message trimming
  • Priority-based context allocation
  • Context budget per source (system, WI, history, etc.)
  • Smart message selection (keep important messages)

Why Important: Efficient context usage means longer, more coherent conversations without running out of tokens.

Phase 6: Power User Features (Low Priority)

Goal: Advanced customization and automation

1. Quick Replies

  • Preset message buttons
  • Macro support in quick replies
  • Import/export QR sets
  • Character-specific QR sets
  • Conditional quick replies
  • Quick reply categories/folders

Why Important: Speeds up common actions and reduces repetitive typing in roleplay scenarios.

2. Macro System

  • Basic macros ({{user}}, {{char}}, {{random}}, etc.)
  • Date/time macros
  • Conditional macros
  • Custom macro definitions
  • Nested macro support
  • Macro debugging

Why Important: Makes prompts and messages dynamic and reusable across different scenarios.

3. Regex Scripts

  • Global and character-scoped scripts
  • Text transformation on messages
  • Auto-markdown formatting
  • Import/export regex presets
  • Regex testing interface
  • Script priority/ordering

Why Important: Allows automatic text formatting, correction, and enhancement without manual intervention.

4. Hotkey System

  • Customizable keyboard shortcuts
  • Quick actions (regen, edit, delete, etc.)
  • Markdown formatting hotkeys
  • Quick Reply hotkeys
  • Navigation hotkeys
  • Hotkey conflict detection

Why Important: Power users rely on keyboard shortcuts for efficient workflow.

Phase 7: Polish & UX (Ongoing)

Goal: Better user experience for roleplay

1. Instruct Mode Support

  • Preset templates (Alpaca, ChatML, Llama, etc.)
  • Custom template creation
  • Auto-detect model format from API
  • Instruction wrapping for system/user/assistant messages

Why Important: Ensures compatibility with instruction-tuned models that expect specific formats.

2. Export/Import Improvements

  • Export chats as markdown
  • Export chats as formatted text
  • Export chats as JSON with metadata
  • Import chats from other formats
  • Bulk character import
  • Character pack support (multiple characters + lorebooks)

Why Important: Sharing and migrating content between platforms and backing up work.

3. UI Enhancements

  • Message timestamps
  • Character indicators in messages
  • Better settings organization (categories, search)
  • Theme customization (colors, fonts, etc.)
  • Compact/cozy view modes
  • Responsive design for different screen sizes
  • Accessibility improvements

Why Important: Better UI means less friction and more immersion in roleplay.

Phase 8: Quality of Life & Polish (High Priority)

Goal: Reduce friction, improve feedback, and enhance overall user experience

1. Toast Notification System

  • Create toast component (bottom-right positioning)
  • Success/error/info/warning variants
  • Auto-dismiss with configurable timeout
  • Queue multiple toasts
  • Hook into all major actions (save, delete, import, export, etc.)

Why Important: Users currently have no immediate feedback when actions succeed or fail. Toasts provide instant visual confirmation without blocking workflow.

2. Command Palette

  • Ctrl+P to open command palette modal
  • Fuzzy search for all actions
  • Keyboard navigation (arrow keys, enter, escape)
  • Recent/frequent actions at top
  • Show keyboard shortcuts in results
  • Categories (Chat, Character, Settings, etc.)

Why Important: Power users want keyboard-first workflow. Command palette dramatically speeds up common actions without memorizing shortcuts.

3. Auto-save & Recovery

  • Auto-save unsent message in input field
  • Restore unsent message after app restart
  • Draft system for in-progress edits
  • Session recovery (restore scroll position, open panels)
  • Crash recovery with last known state

Why Important: Losing work due to crashes or accidental closes is extremely frustrating. Auto-save provides a safety net for all user work.

4. Drag & Drop Support

  • Drag character card PNGs to import
  • Drag lorebook JSON files to import
  • Drag chat history JSON to import
  • Drag images to set as character avatar
  • Drop zone overlay with visual feedback
  • Support for multiple file drops

Why Important: Drag & drop feels natural and is much faster than navigate-click-select workflow. Modern desktop apps are expected to support this.

5. Search in Chat History

  • Ctrl+F to open search bar
  • Highlight all matches in messages
  • Navigate between results (prev/next buttons)
  • Case-insensitive search
  • Search counter (e.g., "3 of 42 matches")
  • Clear search and restore view

Why Important: Long roleplay sessions can span hundreds of messages. Finding specific content without search is tedious and time-consuming.

6. Context Menus (Right-Click)

  • Right-click messages for actions (edit, delete, regenerate, branch, copy)
  • Right-click character dropdown for quick actions
  • Right-click World Info entries for edit/delete
  • Right-click in message input for paste/clear/templates
  • Context-aware menu items

Why Important: Right-click is muscle memory for desktop users. Faster than hovering to reveal action buttons.

7. Better Feedback & Confirmations

  • Confirmation dialogs for destructive actions (delete character, clear chat)
  • Loading spinners for API calls
  • Progress bars for file imports
  • "Saving..." / "Saved" indicators
  • Success messages for completed actions

Why Important: Users should never wonder if an action succeeded or is still processing. Clear feedback prevents confusion and repeated clicks.

8. Undo/Redo System

  • Undo message edit (Ctrl+Z)
  • Undo message delete
  • Undo character field changes
  • Undo World Info changes
  • Action history panel (optional)
  • Redo support (Ctrl+Shift+Z)

Why Important: Mistakes happen. An undo system provides a safety net and encourages experimentation without fear of losing work.

  • Search bar at top of settings panel
  • Fuzzy search across all setting names and descriptions
  • Highlight matching settings
  • Collapse/expand sections based on matches
  • "Recently changed" section

Why Important: With 22+ features, finding specific settings is tedious. Search makes configuration much faster.

10. Character Management Enhancements

  • Recent characters quick-switch dropdown
  • Character search/filter by name or tags
  • Character folders/categories
  • Duplicate character (as template)
  • Favorite/star characters
  • Sort options (name, date created, last used)

Why Important: Managing 10+ characters becomes messy. Better organization tools scale with user's character collection.

11. Enhanced Keyboard Support

  • Full keyboard navigation in all modals (Tab, Arrow keys, Enter)
  • Escape to close any open panel/modal
  • Vim-style navigation mode (optional, j/k for scroll)
  • Keyboard shortcut hints on hover
  • Focus indicators for keyboard navigation

Why Important: Keyboard navigation should work everywhere. Current implementation is inconsistent across different UI sections.

12. Export/Share Enhancements

  • Export conversation as formatted HTML
  • Export conversation as formatted PDF
  • Export as markdown with proper formatting
  • Copy conversation to clipboard (formatted)
  • Export individual messages

Why Important: Users want to share and archive conversations in readable formats, not just JSON.

13. Accessibility Improvements

  • ARIA labels for all interactive elements
  • Screen reader support
  • High contrast mode option
  • Larger click targets option (accessibility mode)
  • Reduced motion mode (respect prefers-reduced-motion)
  • Focus indicators for keyboard navigation

Why Important: Accessibility makes the app usable for everyone, including users with disabilities. It's also often legally required.

14. Better Visual Feedback

  • Smooth transitions for panel open/close
  • Hover states for all interactive elements
  • Active state indicators (focused panel)
  • Better empty states with helpful text
  • Skeleton loaders for content loading
  • Micro-animations for actions (delete, save, etc.)

Why Important: Visual polish makes the app feel responsive and professional. Small animations provide context for state changes.

15. Smart Defaults & Templates

  • Scenario templates (fantasy RPG, sci-fi, modern, etc.)
  • Pre-filled World Info templates
  • Character card templates
  • Quick-start wizard for new users
  • Import from popular character repositories

Why Important: Reduces friction for new users and speeds up common tasks. Templates provide starting points for customization.

Implementation Priority Ranking

Must-Have for Basic Roleplay:

  1. World Info/Lorebooks - Core feature for consistent roleplay
  2. Author's Note - Better prompt control than system prompts alone
  3. Token Counter - Visibility into what's happening
  4. Message Examples Usage - Better character accuracy

Important for Good Roleplay:

  1. User Personas - Identity management
  2. Chat Branching - Non-linear exploration
  3. Enhanced Message Controls - Fine-grained editing
  4. Jailbreak Templates - Handle various scenarios

Great for Enhanced Experience:

  1. Expression Sprites - Visual immersion
  2. Quick Replies + Macros - Efficiency
  3. Context Templates - Model compatibility
  4. Group Chats - Complex scenarios

Nice to Have:

  1. Timeline Visualization - Advanced branch management
  2. Regex Scripts - Automation
  3. Hotkeys - Power user efficiency
  4. Smart Context Management - Optimization

Research Sources

This roadmap is based on research into SillyTavern's features and best practices from the roleplay AI community:

  • SillyTavern official documentation (docs.sillytavern.app)
  • Character card specifications (V2/V3 format)
  • Community presets and guides on HuggingFace
  • Roleplay community feedback and feature requests

Technical Considerations

Data Structures Needed:

  • Lorebook entries (keyword, content, priority, insertion order, depth)
  • Personas (name, description, avatar, chat/character locks)
  • Chat branches (branch point, parent branch, metadata)
  • Expression mappings (emotion → image file)
  • Quick replies (text, macros, conditions, categories)
  • Context templates (format strings, variables, presets)

Backend Changes Required:

  • Context assembly refactor (modular system for injecting different sources)
  • Token counting integration (model-specific tokenizers)
  • Sentiment analysis (local model or API integration)
  • Branching chat storage (tree structure instead of linear)
  • Group chat message routing (multi-character generation)

UI Additions Needed:

  • Lorebook editor panel
  • Persona management panel
  • Branch visualization widget
  • Token counter display
  • Group chat member list
  • Quick reply buttons
  • Expression sprite overlay
  • Context template editor

Version Milestones

v0.2.0 - "Roleplay Foundation"

  • World Info/Lorebooks
  • Author's Note
  • Token Counter
  • Better Message Controls

v0.3.0 - "Character Enhancement"

  • User Personas
  • Expression Sprites
  • Message Examples Usage
  • Jailbreak Templates

v0.4.0 - "Advanced Chat"

  • Chat Branching
  • Timeline Visualization
  • Group Chats (basic)

v0.5.0 - "Power User"

  • Quick Replies
  • Macros
  • Regex Scripts
  • Hotkeys

v1.0.0 - "Feature Complete"

  • All planned features implemented
  • Polished UI
  • Comprehensive documentation
  • Import/Export from SillyTavern

Notes

  • Focus on compatibility with SillyTavern where possible (character cards, lorebooks, etc.)
  • Keep performance in mind - roleplay sessions can be long
  • Maintain desktop-first design - power users prefer desktop interfaces
  • Consider offline-first approach - local models are popular for roleplay
  • Remember privacy - roleplay content is often sensitive

Last updated: 2025-10-16