matt f31e3fb28a feat: add v2 character card import/export
- Expanded Character struct with all v2 spec fields (description, scenario, mes_example, post_history_instructions, alternate_greetings, character_book, tags, creator, character_version, creator_notes, extensions)
- Created CharacterCardV2 serialization structs following spec at github.com/malfoyslastname/character-card-spec-v2
- Implemented PNG metadata utilities:
  * read_character_card_from_png() - extracts and decodes character data from PNG tEXt chunks
  * write_character_card_to_png() - embeds character data into PNG files
  * create_placeholder_png() - generates gradient placeholder images for avatarless characters
- Added Tauri commands:
  * import_character_card - opens file picker, imports PNG with automatic name conflict handling
  * export_character_card - exports character as v2 PNG card with embedded metadata
- Added Import/Export buttons to character settings UI
- Full backward compatibility with existing characters using serde defaults
- Added dependencies: png 0.17, base64 0.21, image 0.24
2025-10-14 08:19:57 -07:00
2025-10-11 17:14:57 -07:00

Claudia

Beautiful AI desktop companion built with Tauri and Rust.

Features

Core Features

  • 🎨 Beautiful glassmorphic UI with gradient backgrounds and blur effects
  • 🔧 Bring-your-own-API - supports any Anthropic-compatible API
  • API validation via /v1/models endpoint
  • 💬 Full conversation context - AI remembers your entire conversation
  • 💾 Persistent chat history - conversations saved between sessions
  • 🎯 Custom window controls - drag, minimize, maximize, close

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

User Experience

  • ⌨️ Keyboard shortcuts - Enter or Ctrl+Enter to send, Shift+Enter for new lines
  • 🗑️ Clear conversations - easily start fresh
  • 🎯 Auto-resizing input - textarea grows with your message
  • 🎭 Light/dark mode - automatic based on system preferences

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

Interface

  • Drag header - Move window around your desktop
  • Trash icon - Clear conversation history
  • Settings icon - Configure API settings
  • Minimize/Maximize - Window controls
Description
No description provided
Readme 1.9 MiB
Languages
JavaScript 43.6%
Rust 33.1%
CSS 12.7%
HTML 10%
Python 0.6%