claude-desktop/TEST-ROADMAP.md
Eddy 79b8525ede Bugfixes: Resume, Tool-Whitelist, Sub-Agent-Tree, UI-Polish
Bridge (claude-bridge.js):
- Resume-Fix: queryOptions.resume statt .sessionId (SDK-API)
- tools-Whitelist statt disallowedTools (Blacklist vererbt sich auf Sub-Agents!)
  Handlanger: Main nur Task+TodoWrite, Sub-Agents bekommen volles Tool-Set
  Experten: Main nur Task+TodoWrite+Read+Grep+Glob
  Solo: preset claude_code
- handleToolUse/handleToolResult Helper, greifen auch in assistant.content-Bloecken
  (SDK liefert tool_use/tool_result nicht als standalone events)
- Dedup via handledTools Set
- Resume-Retry-Fallback bei ungueltiger Session-ID
- Custom agents-Option entfernt (SDK spawnt Sub-Agents ohne Tools → Halluzination)
- Orchestrator-Prompt: verweist auf general-purpose (vollstaendiges Tool-Set)

Backend (claude.rs):
- claude_session_id NUR beim 1. Mal setzen (sonst verliert man History)
- Generic event emit fuer alle Bridge-Events ans Frontend
- Mode-Persistenz bei Bridge-Start (agent_mode aus DB laden)

Knowledge (knowledge.rs):
- MYSQL_HOST: 192.168.155.1 → 192.168.155.11 (MariaDB-Server)
- MYSQL_PASS: claude → 8715
- category Option<&str> Typ-Annotation fuer exec_map

Programs (programs.rs):
- xvfb_screenshot: Fallback scrot → import (ImageMagick) → ffmpeg

Voice (voice.rs):
- Part::file (existiert nicht) → Part::bytes, keine Temp-Datei

Frontend:
- events.ts: mode-changed Listener, result.text Fallback,
  addAgent({id}) fuer korrekte Parent-Child-Verknuepfung
- ChatPanel: Copy-Button, Typing-Dots in Bubble (kein Doppel-Header),
  $effect statt $:, onkeydown statt on:keydown
- AgentView: "Nur aktive" Toggle, Delegations-Badge, Tool-Count hidden bei 0,
  agentMode Import
- ProgramsPanel: Button-Styling, Error-Banner mit Copy-Button,
  selectable Text
- MonitorPanel: Filter-Dropdown Styling (Hintergrund + Hover)
- SettingsPanel: changeMode() wird beim Klick aufgerufen (nicht nur Store)
- +layout.svelte: agent_mode beim App-Start laden, Mode-Badge im Footer,
  🎓-Button fuer Schulungsfenster
- +page.svelte: Programme-Tab + Hooks-Tab

Neue Dateien:
- TEST-ROADMAP.md — Status und naechste Schritte
- .gitignore erweitert (scheduled_tasks.lock, out/, node_modules)
- vscode-extension/tsconfig.json: include nur src/, exclude node_modules

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 21:24:51 +02:00

4 KiB
Raw Blame History

Claude Desktop — Test-Roadmap (Fortsetzung)

Stand: 14.04.2026 · Session-Ende nahe Token-Limit

Was bereits getestet & funktioniert

  • Hooks-Panel: 5 Built-in Hooks sichtbar & toggelbar
  • D-Bus: 80+ Services laden (Programme → D-Bus)
  • Schulungs-Fenster öffnet via 🎓-Button
  • Modus-Auswahl in Settings + Footer-Badge
  • Chat funktioniert (nach Bridge-Fixes: resume statt sessionId, claude_session_id nur bei erstem Call setzen)
  • Sub-Agent erscheint im Tree (nach addAgent({id}) Fix)
  • Sub-Agent "Nur aktive" Toggle
  • Filter-Dropdown im Monitor-Panel sichtbar
  • Copy-Button in Chat-Nachrichten
  • Error-Banner mit kopierbarem Text im Programme-Panel

Offene Bugs (Reihenfolge der Priorität)

1. Chat-Antwort bei komplexen Flows fehlt (HALB GEFIXT)

Symptom: Bei Handlanger-Chats mit Sub-Agent wird die finale Antwort nicht im Chat angezeigt. Ursache: Streaming-Text-Events kommen nicht, nur result.text am Ende. Fix (drin): Fallback in events.ts auf result.text wenn content leer. Zu verifizieren: Nächster Chat im Handlanger-Modus — erscheint jetzt die Antwort?

2. Date-Panic in Wissensbasis

Symptom: Couldn't convert Row... Date(...) to String bei jeder Wissens-Suche / Tool-Hints. Ursache: MySQL liefert TIMESTAMP als Value::Date, Tupel erwartet String. Fix: 7 SELECTs in knowledge.rs einzeln auf chrono::NaiveDateTime umstellen. Nicht: replace_all auf "created_at, updated_at" — das zerstört Rust-Tupel-Identifier (schon 1× passiert).

3. VSCodium-Extension nicht getestet

Was zu tun:

  • cd vscode-extension && npm run compile (bereits OK)
  • VSCodium öffnen, Extension via F5 in Dev-Host laden
  • App: Programme → 🧩 VSCodium → Port 7890 → Verbinden
  • Ping-Test, Datei öffnen

4. Xvfb-Screenshot fehlt Tool

Status: Xvfb-Start funktioniert, Screenshot braucht imagemagick (scrot/ffmpeg-x11 fehlen in NixOS-Build). Fix: imagemagick in /etc/nixos/configuration.nixnixos-rebuild switch.

5. Experten-Modus nicht getestet

Analog zu Handlanger: neue Session, Experten-Modus, Aufgabe mit Research/Implement-Charakter.

6. Haiku-Kostenersparnis funktioniert nicht

Status: Sub-Agents laufen auf Opus (inherit vom Main). Custom agents-Option in SDK scheint ignoriert zu werden bzw. spawnt Agents ohne Tools (halluziniert). Nächster Ansatz: Im Orchestrator-Prompt Claude explizit vorgeben model: "haiku" in Task-Calls zu setzen. Ob das SDK das respektiert, ist offen.

Uncommitted Changes (alles sinnvolle Fixes — lohnt sich zu committen)

  • scripts/claude-bridge.js — resume-Fix, tools-Whitelist, handleToolUse/Result Helper, Dedup
  • src-tauri/src/claude.rs — claude_session_id nur 1× setzen, generic event emit
  • src-tauri/src/knowledge.rs — IP+PW korrekt (155.11/8715)
  • src/lib/stores/events.ts — mode-changed Listener, result.text Fallback, addAgent({id})
  • src/lib/components/ChatPanel.svelte — Copy-Button, Typing-Dots in Bubble (kein Doppel-Header)
  • src/lib/components/AgentView.svelte — Nur-aktive-Toggle, Delegations-Badge, Tool-Count hidden bei 0
  • src/lib/components/ProgramsPanel.svelte — Error-Banner mit Copy
  • src/lib/components/MonitorPanel.svelte — Filter-Dropdown Styling
  • src/routes/+layout.svelte — agent_mode beim Start laden
  • src/routes/+page.svelte — Tabs Programme + Hooks

Schnellstart nach Neustart

cd "/mnt/17 - Entwicklungen/20 - Projekte/ClaudeDesktop"
CARGO_TARGET_DIR=/tmp/claude-desktop-target nix-shell --run "npx tauri dev"
# Dauert ~15s beim ersten Start nach Reboot wenn /tmp leer ist

DB-Reset wenn Claude-Session-IDs veraltet

nix-shell -p sqlite --run 'sqlite3 "/home/data/.local/share/de.alles-watt-laeuft.claude-desktop/claude-desktop.db" "UPDATE sessions SET claude_session_id = NULL;"'

Nächster Commit

Alles zusammen ein großer Bugfix-Commit mit Titel:

Fix: Resume, tools-Whitelist, Sub-Agent-Tree, Date-Handling, UI-Polish