This commit implements Options B, C, and D for enhanced roleplay capabilities: **Option B: Enhanced Roleplay Features** - Add regex pattern matching for World Info keywords with fallback to literal matching - Make scan depth configurable (default: 20, range: 1-100 messages) - Make Author's Note insertion depth configurable (default: 3, range: 1-50 messages) - Add World Info import/export functionality with merge/replace options - Update WorldInfoEntry struct with use_regex field - Update RoleplaySettings with scan_depth and authors_note_depth fields - Modify build_roleplay_context() to return configurable note_depth - Update all 4 chat functions to use configurable Author's Note depth **Option C: Chat Export Enhancements** - Add export_chat_as_markdown: Clean markdown format with bold role labels - Add export_chat_as_text: Simple plain text format with decorative separator - Add export_chat_as_html: Styled HTML with responsive design and color-coded messages - All exports use native file dialogs with appropriate file filters **Option D: Polish & Quality of Life** - Add validate_regex_pattern command for real-time regex validation - Add update_roleplay_depths command with range validation - Enhance add_world_info_entry with input validation (regex, empty checks) - Enhance update_world_info_entry with input validation - Add detailed error messages for all validation failures **Technical Details:** - Add regex dependency to Cargo.toml - Use #[serde(default)] attributes for backward compatibility - Graceful error handling with fallback strategies - HTML export includes proper escaping for XSS protection - All new commands registered in Tauri invoke_handler 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Claudia
Beautiful AI roleplay desktop companion built with Tauri and Rust.
Vision
Claudia aims to be a lightweight, desktop-native alternative to SillyTavern, focusing on roleplay and character-based interactions while maintaining a clean, modern interface.
Features
Core Chat Features
- 🎨 Beautiful glassmorphic UI - Modern design with gradient backgrounds
- 🔧 Bring-your-own-API - Supports any Anthropic-compatible API
- ✅ API validation - Automatic model detection via /v1/models
- 💬 Full conversation context - AI remembers your entire conversation
- 💾 Persistent chat history - Conversations saved per character
- 🎯 Streaming responses - Real-time token display (optional)
Character System
- 🎭 Multiple characters - Switch between different AI personas
- 🖼️ Character avatars - Upload custom images with zoom preview
- 📇 V2/V3 character cards - Import/export Tavern-compatible cards
- ✏️ Full character editor - All v2/v3 fields supported (description, scenario, examples, etc.)
Advanced Chat Features
- 🔄 Message swipes - Generate multiple responses and swipe between them
- ✏️ Message editing - Edit messages and regenerate from any point
- 🔀 Chat branching - Explore alternate conversation paths
Message Display
- 📝 Full markdown rendering - Headers, lists, tables, links, blockquotes
- 🎨 Syntax highlighting - Beautiful code blocks with highlight.js
- 📋 Copy code blocks - One-click copy button on hover
- ✨ Smooth animations - Elegant message transitions
Running
npm install
npm run dev
Build:
npm run build
Note: The dev script includes WEBKIT_DISABLE_DMABUF_RENDERER=1 to fix Wayland compatibility issues on KDE Plasma.
Configuration
On first launch, click settings and configure:
-
Base URL (e.g., https://api.anthropic.com)
-
API Key
-
Model (validated from /v1/models endpoint)
-
Config stored in
~/.config/claudia/config.json -
Chat history stored in
~/.config/claudia/history.json
Usage
Keyboard Shortcuts
- Enter - Send message
- Shift+Enter - New line in message
- Up Arrow - Edit last user message
- Left/Right Arrow - Swipe between alternative responses
Character Management
- Character Dropdown - Switch between characters
- Settings → Character Tab - Edit current character
- Import v2 Card - Import Tavern character cards (PNG format)
- Export v2 Card - Export character as Tavern-compatible card
Interface
- Drag header - Move window around your desktop
- Trash icon - Clear conversation history
- Settings icon - Configure API settings
- Minimize/Maximize - Window controls
Roadmap
Claudia is being developed to become a full-featured roleplay platform comparable to SillyTavern. See ROADMAP.md for detailed plans including:
Coming Soon:
- 📚 World Info/Lorebooks for dynamic context
- 📝 Author's Note for better prompt control
- 👤 User Personas for identity management
- 😊 Character Expression Sprites
- 🔢 Token Counter and context visualization
- 👥 Group Chats with multiple characters
- ⚡ Quick Replies and macro system
Current Version: v0.1.0 - Basic character chat with swipes and card import/export Next Version: v0.2.0 - Roleplay Foundation (World Info, Author's Note, Token Counter)
Contributing
This is a personal project, but feedback and suggestions are welcome! If you encounter bugs or have feature requests, please open an issue on GitHub.