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>
4 KiB
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:
resumestattsessionId, 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.nix → nixos-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, Dedupsrc-tauri/src/claude.rs— claude_session_id nur 1× setzen, generic event emitsrc-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 0src/lib/components/ProgramsPanel.svelte— Error-Banner mit Copysrc/lib/components/MonitorPanel.svelte— Filter-Dropdown Stylingsrc/routes/+layout.svelte— agent_mode beim Start ladensrc/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