matt 50d3177e9e feat: implement chat branching and checkpoints
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>
2025-10-17 08:17:08 -07:00
2025-10-11 17:14:57 -07:00

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:

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
No description provided
Readme 1.9 MiB
Languages
JavaScript 43.6%
Rust 33.1%
CSS 12.7%
HTML 10%
Python 0.6%