50d3177e9e93534abfc29919ae101e46a1ab8867
Add conversation branching system that allows creating and exploring alternate conversation paths from any message point. Each branch maintains its own complete message history. Backend (Rust): - Branch data structures with backward-compatible storage migration - Tauri commands for create, switch, delete, rename, and list operations - Automatic cleanup of child branches when parent is deleted Frontend: - Branch button on all messages for creating new branches - Branch indicator badge in header showing active branch - Branch manager modal with full branch list and controls - Visual improvements to message action toolbar (more opaque, positioned above messages) Branches are character-specific and persist across sessions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Claudia
Desktop AI chat application built with Tauri and Rust, focused on roleplay and character-based interactions.
Features
Chat
- Streaming responses with real-time display
- Full markdown rendering with syntax highlighting
- Message swipes (multiple response alternatives)
- Edit and regenerate from any message
- Per-character conversation history
- Copy code blocks with one click
Characters
- V2/V3 character card import/export (PNG format)
- Multiple characters with avatar support
- Full character editor (description, personality, scenario, examples, etc.)
- Character-specific chat history
Roleplay Tools
- World Info/Lorebook system with keyword detection and priority
- Author's Note with configurable positioning
- User Personas with chat/character locking
- Prompt Presets with instruction blocks
- Message Examples from character cards
- Regex Scripts for text transformations
- Token counter with per-section breakdown
API
- Bring-your-own-API (Anthropic-compatible)
- Automatic model detection via /v1/models
- API validation and error handling
Running
npm install
npm run dev
Build for production:
npm run build
Configuration
On first launch, configure in Settings:
- Base URL (e.g., https://api.anthropic.com)
- API Key
- Model
Config stored in ~/.config/claudia/config.json
Keyboard Shortcuts
- Enter - Send message
- Shift+Enter - New line
- Ctrl+Enter - Send message (alternative)
- Up Arrow - Edit last user message (when input is at start)
- Left/Right Arrow - Navigate between response alternatives
- Escape - Close panels/modals, cancel editing
- Ctrl+K - Focus message input
- Ctrl+/ - Toggle Roleplay Tools panel
Roadmap
See ROADMAP.md for detailed development plans.
Current Focus: Chat Branching/Checkpoints for non-linear conversation exploration
Upcoming:
- Chat branching with timeline visualization
- Character expression sprites
- Group chats with multiple characters
- Quick replies and macro system
- Context templates for different model formats
Development
Built with:
- Tauri 2.0
- Rust backend
- Vanilla JavaScript frontend
- tiktoken-rs for token counting
Description
Languages
JavaScript
43.6%
Rust
33.1%
CSS
12.7%
HTML
10%
Python
0.6%