Some checks failed
Build AppImage / build (push) Has been cancelled
Bridge überlebt jetzt App-Neustarts als eigenständiger Daemon-Prozess. Kommunikation über Unix Domain Socket statt stdio — async, Auto-Reconnect, PID-Tracking. Fallback auf stdio-Modus wenn UDS nicht verfügbar. Neue Commands: get_bridge_status, stop_bridge_daemon. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
84 lines
6.8 KiB
Markdown
84 lines
6.8 KiB
Markdown
# Changelog
|
|
|
|
Alle nennenswerten Änderungen an Claude Desktop werden hier dokumentiert.
|
|
|
|
Format angelehnt an [Keep a Changelog](https://keepachangelog.com/de/1.0.0/).
|
|
|
|
---
|
|
|
|
## [Unreleased] - 2026-04-22
|
|
|
|
### Hinzugefügt
|
|
- **Bridge-Daemon (Phase 3)**: Bridge läuft als eigenständiger Daemon-Prozess, überlebt App-Neustarts — kein Cold-Start mehr (`claude-bridge.js --socket`, `claude.rs`)
|
|
- **Unix Socket IPC (Phase 3)**: Kommunikation über Unix Domain Socket statt stdio — async, kein Block, Auto-Reconnect bei Verbindungsverlust (`claude.rs`, `claude-bridge.js`)
|
|
- **Bridge-Status API**: `get_bridge_status` Command — zeigt Verbindungsmodus (UDS/stdio), Daemon-PID, Socket-Pfad
|
|
- **Daemon-Steuerung**: `stop_bridge_daemon` Command zum expliziten Stoppen des Daemon-Prozesses
|
|
- **Modus-Indikator**: Badge im ChatPanel zeigt aktuellen Agent-Modus (Handlanger/Experten/Auto) mit Verarbeitungsphase
|
|
- **Plan-Erkennung**: Claude-Antworten mit Plänen werden automatisch als Slides an das Präsentationsfenster gesendet (`planPresentation.ts`)
|
|
- **Session-Projekt-Filter**: Sessions werden nach aktivem Projekt/Workspace gefiltert (`db.rs`, `session.rs`)
|
|
- **Weibliche TTS-Stimme**: Kerstin als Standard-Stimme, 5 deutsche Stimmen wählbar (`voice.rs`)
|
|
- **UTF-8 Crash Fix**: Kein Panic mehr bei Multi-Byte-Zeichen in DB-Abfragen (`db.rs`, `knowledge.rs`)
|
|
- **Guard-Rails UI (Live)**: 3-Tab-Ansicht (Live-Feed/Regeln/Blockiert), Risiko-Statistik-Leiste, Ein-Klick-Freigabe bei Bestätigungsbedarf, guard-check Events vom Backend (`GuardRailsPanel.svelte`, `guard.rs`)
|
|
- **D-Bus Desktop-Aktionen**: 10 vordefinierte Aktionen (Dolphin, Kate, Konsole, Firefox, Notify, Lock Screen), Aktionen-Grid im ProgramsPanel, CLI/GUI-Unterscheidung (`programs.rs`, `ProgramsPanel.svelte`)
|
|
- **Screenshot-Analyse**: Bildschirmbereich oder Vollbild capturen via spectacle/scrot/gnome-screenshot, Vorschau im Panel, "An Claude senden" Button (`programs.rs`, `ProgramsPanel.svelte`)
|
|
- **Projekt-Wechsel**: Ein-Klick-Projektwechsel in der Sidebar — Dropdown mit Projektliste, Hinzufügen/Entfernen, Working-Dir + Sticky-Context wird automatisch umgeschaltet (`SessionList.svelte`, `db.rs`)
|
|
- **File-Drop auf Chat**: Dateien per Drag & Drop auf den Chat ziehen — Text-Dateien als Code-Block, Bilder als Base64, Spracherkennung, 500KB-Limit (`ChatPanel.svelte`)
|
|
- **Persistent Memory**: Auto-Load Memory-Einträge werden bei jeder Nachricht in den Claude-Context injiziert — Cross-Session Gedächtnis für Patterns, Zugänge, Präferenzen (`memory.rs`, `claude.rs`)
|
|
- **Memory CRUD-Commands**: Speichern, Löschen, Auflisten, Auto-Load-Filter für Memory-Einträge als Tauri-Commands (`memory.rs`, `lib.rs`)
|
|
- **Global Hotkey (Super+C)**: Claude-Eingabe von überall öffnen — Fenster wird angezeigt, fokussiert, Input-Feld aktiviert (`lib.rs`, `ChatPanel.svelte`)
|
|
- **Clipboard-Watch**: Überwacht Zwischenablage, erkennt Code/URLs/Fehler/Pfade, zeigt Vorschlag im Chat (`clipboard.rs`, `ChatPanel.svelte`)
|
|
- **File-Browser für Projekt-Wechsel**: Nativer Verzeichnis-Dialog statt manuellem Pfad, Auto-Name aus Ordnername (`SessionList.svelte`, `tauri-plugin-dialog`)
|
|
- **Quick-Actions Palette (Ctrl+K)**: VS-Code-artige Kommandopalette mit Suche, Kategorien (Build, Git, Session, Navigation, Voice, Tools), Keyboard-Navigation (`QuickActions.svelte`)
|
|
- **Lokales Voice (Phase 2.2)**: whisper-cli STT + piper-tts TTS, komplett lokal ohne OpenAI-API (`voice.rs`, `VoicePanel.svelte`)
|
|
- **Chat-Detach**: Chat in separates Fenster herauslösen, Platz für andere Panels, Zurückholen per Button (`chat_window.rs`, `+page.svelte`)
|
|
- **Aktivitäts-Phasen**: 4 Zustände (Denkt nach/Streamt/Tool-Nutzung/Subagent) statt nur "Denkt nach..." (`events.ts`, `ChatPanel.svelte`)
|
|
- **Settings-Panel (VS Code Stil)**: Suchfeld, Kategorien-Sidebar, Commands/Hooks/Permissions-Verwaltung (`SettingsPanel.svelte`)
|
|
- **GStreamer im Nix-Wrapper**: Mikrofon funktioniert jetzt auch in Produktion (PipeWire + gst-plugins) (`nix/default.nix`)
|
|
- **Slash-Command Autocomplete**: `/`-Eingabe im Chat öffnet Dropdown mit allen Commands, Skills und Built-ins (`commands.rs`, `CommandPalette.svelte`)
|
|
- **KB-Hints Injection**: Jede Nachricht an Claude bekommt automatisch relevante Wissensbasis-Einträge (`claude.rs`, `knowledge.rs`)
|
|
- **Voice-zu-Claude-Pipeline**: Spracheingabe wird transkribiert, an Claude gesendet, Antwort per TTS vorgelesen (`VoicePanel.svelte`)
|
|
- **Pattern-Detektion**: Tool-Fehler werden automatisch gegen bekannte Fehler-Patterns geprüft (`events.ts`)
|
|
- **Hook-Dispatch**: SessionStart, PreToolUse, PostToolUse feuern echte Events ans Frontend (`hooks.rs`, `events.ts`)
|
|
- **Updater Lock-Datei System**: PID-basiertes Locking verhindert parallele Update-Instanzen (`update.rs`)
|
|
- **Updater Bestätigungs-Dialog**: User muss Update-Installation bestätigen statt Überraschungs-Restart (`UpdateDialog.svelte`)
|
|
- **Updater Graceful Shutdown**: Frontend bekommt 2s Zeit zum State-Speichern vor Restart (`update.rs`, `lib.rs`)
|
|
- **Command-Registry**: Scannt `~/.claude/commands/` und `~/.claude/skills/` für Autocomplete (`commands.rs`)
|
|
|
|
### Geändert
|
|
- SQL-Queries in `knowledge.rs` sortieren jetzt nach `priority DESC` (höchste Priorität zuerst)
|
|
- `get_tool_hints()` korrigiert: War fälschlich `priority ASC`, jetzt `DESC`
|
|
- `search_knowledge()` filtert jetzt auch nach `status = 'active'`
|
|
- `UpdateDialog.svelte` auf Svelte 5 Runes migriert (`$state`, `$effect`, `$derived`)
|
|
- `lib.rs`: App-Lifecycle erweitert um Lock-Datei create/remove bei Start/Exit
|
|
|
|
### Behoben
|
|
- **Svelte 5 Event-Syntax**: Alle `on:click` → `onclick` in SessionList.svelte (keine Mixed-Syntax mehr)
|
|
- **Mikrofon hängt**: PipeWire-Fallback + 5s getUserMedia-Timeout wenn PipeWire nicht läuft (`nix/default.nix`, `ChatPanel.svelte`)
|
|
- **Update-Fortschrittsbalken**: Erreicht jetzt visuell 100% vor der Bestätigungsmeldung (`update.rs`, `UpdateDialog.svelte`)
|
|
- **Mikrofon in Produktion**: GStreamer + PipeWire-Plugins fehlten im Nix-Wrapper, WebKitGTK konnte getUserMedia nicht nutzen (`nix/default.nix`)
|
|
- Updater konnte Binary ersetzen während App noch lief (kein Lock, kein Prozess-Check)
|
|
|
|
---
|
|
|
|
## [0.1.0] - 2026-04-14
|
|
|
|
### Erstveröffentlichung
|
|
|
|
Enthält Phase 1-16 der Roadmap:
|
|
|
|
- Tauri 2.0 + SvelteKit 5 App-Grundgerüst
|
|
- Claude Agent SDK Integration mit Live-Streaming
|
|
- 4-Panel Layout mit 24 UI-Komponenten
|
|
- SQLite Persistierung + Session-Management
|
|
- Guard-Rails System für kontrollierte OS-Zugriffe
|
|
- Claude-DB Integration (Wissensbasis durchsuchen/speichern)
|
|
- Intelligentes Context-Management (3-Schichten-Gedächtnis)
|
|
- Sprach-Interface (Whisper STT + OpenAI TTS)
|
|
- Multi-Agent-Architektur (Solo/Handlanger/Experten-Modi)
|
|
- Hook-System für Automatisierung
|
|
- VSCodium-Integration (WebSocket-Bridge)
|
|
- Programm-Steuerung (D-Bus, Xvfb, Playwright)
|
|
- Präsentations- & Schulungsmodus
|
|
- System-Monitor mit Performance-Metriken
|
|
- Subagent-Hierarchie mit Baumansicht
|
|
- CI/CD Pipeline (Forgejo Actions → AppImage)
|