All checks were successful
Build AppImage / build (push) Has been skipped
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
6.4 KiB
6.4 KiB
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
# 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