# Claude Desktop — Roadmap Stand: 22.04.2026 --- ## Ziel Claude Desktop soll **schneller und maechtiger** sein als Codium + Claude Code Extension. Kein Feature-Bloat — nur das was echten Geschwindigkeits- und Produktivitaetsvorteil bringt. --- ## Abgeschlossen (v0.1.0 — 14.04.2026) Alles aus Phase 1-16 ist implementiert und funktionsfaehig: - Tauri 2.0 + SvelteKit 5 + Claude Agent SDK - 4-Panel Layout mit 24 UI-Komponenten - Claude Bridge (Node.js, stdio JSON-Lines) - Guard-Rails System (Safe/Moderate/Critical/Blocked) - SQLite Persistierung + Session-Management - Claude-DB Integration (Wissensbasis durchsuchen/speichern) - 3-Schichten Context-Management (Sticky/Projekt/Hints) - Sprach-Interface (Whisper STT + OpenAI TTS) - Multi-Agent-Modi (Solo/Handlanger/Experten/Auto) - Hook-System (SessionStart, PreToolUse, PostToolUse) - VSCodium-Extension (WebSocket Port 7890) - Programm-Steuerung (D-Bus, Xvfb, Playwright-MCP) - Praesentations-/Schulungsmodus - System-Monitor + Performance-Metriken - Subagent-Hierarchie mit Baumansicht - Auto-Updater (Forgejo Package Registry) - Slash-Command Autocomplete - KB-Hints Injection + Proaktive Intelligenz - Error-Pattern Auto-Detection (3x → KB-Eintrag) --- ## Phase 3: Performance (naechster Schritt) **Ziel:** Erste Antwort in < 1s, Bridge immer warm, kein Warten. | Feature | Datei(en) | Status | |---------|-----------|--------| | ✅ KB-Cache (RAM) | `knowledge.rs` | 60s TTL, LRU, max 100 Entries | | ✅ Bridge Warm-Start | `lib.rs`, `claude.rs` | Start bei App-Launch, kein Cold-Start | | ✅ Lazy Panel-Load | `+page.svelte` | Dynamic Import mit Cache | | ✅ Session-Resume Fix | `claude-bridge.js` | Stale ID → auto-Retry neue Session | | ✅ Auto-Retry (Netzwerk) | `claude-bridge.js` | 3x Backoff bei Rate-Limit/5xx | | ✅ Bridge Heartbeat | `claude-bridge.js` | 30s Pulse an Rust | | ✅ FIFO Message Queue | `ChatPanel.svelte` | Mehrere Nachrichten queuen | | ✅ Bridge-Daemon | `claude.rs`, `claude-bridge.js` | Bridge ueberlebt App-Neustart (--socket Flag) | | ✅ Unix Socket IPC | `claude.rs`, `claude-bridge.js` | stdio → UDS (async, Reconnect, PID-Tracking) | --- ## Phase 4: Codium-Killer Features **Ziel:** Dinge die Codium + Extension prinzipbedingt NICHT koennen. | Feature | Datei(en) | Status | |---------|-----------|--------| | ✅ Projekt-Wechsel | `db.rs`, `SessionList.svelte` | Ein Klick wechselt Projekt (CWD, Context, KB-Filter) | | ✅ MCP-Hub nativ | `claude.rs`, `claude-bridge.js` | MCP-Server aus .claude.json, UI-Verwaltung, Runtime-Injection | | ✅ Guard-Rails UI | `guard.rs`, `GuardRailsPanel.svelte` | Live-Feed, Risiko-Statistik, Ein-Klick-Freigabe, 3 Tabs | | ✅ Persistent Memory | `memory.rs`, `claude.rs` | Auto-Load Eintraege in Context, Cross-Session Gedaechtnis | | ✅ Quick-Actions | `QuickActions.svelte`, `ChatPanel.svelte` | Ctrl+K Palette: Deploy, Build, Test, Commit, Git, Navigation | | ✅ Voice-Conversation | `voice.rs`, `VoicePanel.svelte` | Lokales Whisper STT + Piper TTS, VAD, Gespraechsmodus | | ✅ Settings-Panel | `SettingsPanel.svelte` | VS-Code-artiges Layout mit Suche, Kategorien, Commands, Hooks | | ✅ Chat-Detach | `chat_window.rs`, `+page.svelte` | Chat in separates Fenster herausloesen/zurueckholen | | ✅ Aktivitaets-Phasen | `events.ts`, `ChatPanel.svelte` | 4 Phasen: Denkt/Streamt/Tool/Subagent statt nur "Denkt nach" | --- ## Phase 5: Lokale KI + Offline **Ziel:** Unabhaengig von Cloud fuer Routine-Tasks. | Feature | Datei(en) | Status | |---------|-----------|--------| | ✅ Whisper.cpp lokal | `voice.rs` | whisper-cli STT, Thorsten-DE Modell, kein OpenAI noetig | | ✅ Piper-TTS lokal | `voice.rs` | piper-tts mit thorsten_emotional (high), offline | | ✅ Lokales Haiku-Equivalent | `claude-bridge.js`, `claude.rs` | Ollama-Integration, Auto-Detect, local-query Command | | ✅ Offline-Queue | `session.rs` | SQLite-Queue, queue/flush/clear Commands, Auto-Retry | --- ## Phase 6: Desktop-Integration (Linux-Native) **Ziel:** Claude steuert den Desktop wie ein zweiter User. | Feature | Datei(en) | Beschreibung | |---------|-----------|--------------| | ✅ D-Bus Actions | `programs.rs`, `ProgramsPanel.svelte` | 10 Aktionen: Dolphin, Kate, Konsole, Firefox, Notify, Lock | | ✅ Clipboard-Watch | `clipboard.rs` | Claude reagiert auf Clipboard-Inhalt (Code/URL/Fehler erkennen) | | ✅ File-Drop | `ChatPanel.svelte` | Dateien auf Chat droppen → Claude analysiert/bearbeitet | | ✅ Screenshot-Analyse | `programs.rs`, `ProgramsPanel.svelte` | Spectacle/Scrot Region-Capture, Vorschau, an Chat senden | | ✅ Global Hotkey | `lib.rs` | Super+C oeffnet Claude-Eingabe von ueberall | --- ## Phase 7: VS Code Extension Features (aktuell) **Ziel:** Die besten Features der Claude Code VS Code Extension uebernehmen — Accept/Reject, @-Mentions, Checkpoints. | Feature | Datei(en) | Status | |---------|-----------|--------| | ✅ Accept/Reject DiffView | `DiffView.svelte`, `checkpoint.rs`, `db.rs` | Post-Execution Approval mit Revert, Kompakt-Ansicht, interaktive Buttons | | ✅ Checkpoint/Rewind | `checkpoint.rs`, `db.rs`, `claude.rs`, `claude-bridge.js` | Automatische Snapshots bei Edit/Write, SQLite-basiert, Rewind auf beliebigen Punkt | | ✅ @-Mentions | `FileMention.svelte`, `context.rs`, `ChatPanel.svelte` | Fuzzy-Autocomplete, Dateiinhalt-Injection, Zeilenbereiche (#5-10) | | ✅ Bridge Pending-Queue | `claude-bridge.js` | Nachrichten waehrend laufender Verarbeitung puffern, Auto-Dispatch nach Turn | | ✅ Tool-ID Sync | `events.ts`, `app.ts` | Backend-IDs korrekt durchreichen, Aktivitaets-Punkte Bug behoben | | ✅ Session-Projekt-Sync | `SessionList.svelte` | Session-Klick aktiviert zugehoeriges Projekt automatisch | --- ## Technische Schulden | Was | Prioritaet | |-----|-----------| | TypeScript strict mode | Niedrig | | E2E Tests (Playwright) | Mittel | | ✅ Cargo warnings eliminieren | Erledigt — 0 Warnings | | Dead Code in alten Panels | Niedrig | | ✅ Bridge Error-Handling verbessern | Erledigt — Global Handler, Parse-Logging, .catch() | --- ## Nicht geplant - Multi-User / Team-Features - Cloud-Sync - Plugin-System (overkill fuer 1-User-App) - Electron-Port (Tauri bleibt) --- ## Build & Entwicklung ```bash # Dev (Hot-Reload) cd "/mnt/17 - Entwicklungen/20 - Projekte/ClaudeDesktop" CARGO_TARGET_DIR=/tmp/claude-desktop-target nix-shell --run "npx tauri dev" # Produktion CARGO_TARGET_DIR=/tmp/claude-desktop-target nix-shell --run "npx tauri build -- --bundles appimage" # CI: Commit mit [appimage] → Forgejo Runner baut + uploaded ```