From a984a21cfbe97e6a12d9486aa6134bd1bf45ff70 Mon Sep 17 00:00:00 2001 From: Eddy Date: Tue, 14 Apr 2026 13:05:59 +0200 Subject: [PATCH] ROADMAP: Phase 6 als erledigt markiert Co-Authored-By: Claude Opus 4.5 --- ROADMAP.md | 62 ++++++++++++++++++------------------------------------ 1 file changed, 21 insertions(+), 41 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index 1fb2ff0..7d3084b 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -30,6 +30,7 @@ Stand: 14.04.2026 | **Subagent-Hierarchie (Phase 5)** | ✅ | 6cfcdb2 | | **System-Monitor (Phase 16)** | ✅ | adb11fd | | **UI: Code-Copy, Edit, Regenerate (Phase 7)** | ✅ | 9d837ef | +| **Session-Management (Phase 6)** | ✅ | abaf4eb | --- @@ -65,54 +66,32 @@ Stand: 14.04.2026 --- -## Phase 6: Session-Management Verbesserungen +## Phase 6: Session-Management Verbesserungen ✅ ERLEDIGT -### Problem -1. Session wird nur geladen wenn SessionList-Panel sichtbar ist -2. `agentId` geht bei DB-Speicherung verloren -3. Kein Compacting — alte Sessions werden unbegrenzt gross -4. `claude_session_id` wird nicht fur SDK-Fortsetzung genutzt +> **Commit:** abaf4eb (14.04.2026) -### Aufgaben +### Implementiert -- [ ] **src/routes/+layout.svelte** - - [ ] Session-Auto-Load bei App-Start (nicht nur in SessionList) - ```typescript - onMount(async () => { - const active = await invoke('get_active_session'); - if (active) { - currentSessionId.set(active.id); - const messages = await invoke('load_messages', { sessionId: active.id }); - setMessagesFromDb(messages); - } - }); - ``` +- ✅ **Session Auto-Load bei App-Start** + - `+layout.svelte` lädt aktive Session in `onMount` + - Session-Stats werden wiederhergestellt (Tokens, Kosten) + - Nachrichten aus DB geladen -- [ ] **src-tauri/src/db.rs** - - [ ] `agent_id` Spalte in `messages` Tabelle - - [ ] Migration fur bestehende Daten - - [ ] `compact_session(session_id, keep_last_n)` Funktion - - [ ] `archive_messages(session_id, before_timestamp)` Funktion +- ✅ **agent_id in messages-Tabelle** + - `ChatMessage` Struct erweitert + - DB-Schema enthält `agent_id` Spalte + - `DbMessage` Interface angepasst -- [ ] **src/lib/stores/app.ts** - - [ ] `DbMessage` Interface: `agent_id?: string` - - [ ] `messageToDb()` anpassen +- ✅ **Session-Compacting** + - `compact_session(session_id, keep_last)` Funktion + - Fasst alte Nachrichten in Summary zusammen + - Standard: 30 letzte Nachrichten behalten + - Tauri Command registriert -- [ ] **Compacting-Logik** - - [ ] Bei > 50 Nachrichten: Altere zusammenfassen - - [ ] Summary-Nachricht: "Bisheriger Kontext: ..." - - [ ] Original-Nachrichten in `messages_archive` Tabelle +### Noch offen (niedrigere Priorität) -- [ ] **Claude-Session-ID nutzen** - - [ ] Bei `send_message`: Session-ID an SDK ubergeben - - [ ] `--resume` Flag nutzen fur Fortsetzung - -### Verifikation -```bash -# App starten → Letzte Session automatisch geladen (ohne SessionList) -# 100 Nachrichten senden → Compacting aktiv -# App beenden → Neu starten → Exakt gleicher Stand -``` +- [ ] **Claude-Session-ID nutzen** — SDK-Fortsetzung mit `--resume` +- [ ] **Automatisches Compacting** — Trigger bei > 50 Nachrichten --- @@ -1255,3 +1234,4 @@ CARGO_TARGET_DIR=/tmp/claude-desktop-target nix-shell --run "npx tauri build" | 14.04.2026 | 6cfcdb2 | **Phase 5:** Subagent-Hierarchie | | 14.04.2026 | adb11fd | **Phase 16:** System-Monitor | | 14.04.2026 | 9d837ef | **Phase 7:** UI Code-Copy, Edit, Regenerate | +| 14.04.2026 | abaf4eb | **Phase 6:** Session-Management, Auto-Load, Compacting |