Commit Graph

13 Commits

Author SHA1 Message Date
Hitonabi e02a1889b2 feat(memory): v7 — Gedächtnis-Layer mit MCP-Integration
SQLite-basiertes Memory-System fuer persistentes Gedaechtnis ueber Sessions.
Cline, OpenCode und Claude Code teilen denselben Speicher via MCP-Server.

- routers/memory.py: CRUD + Export-Endpoint (GET/POST/PUT/DELETE /api/memory)
- mcp_memory.py: stdio MCP-Server — Tools: get/add/search/update/delete_memory
- MemoryPanel.svelte: Gedaechtnis-Tab mit Filter, Inline-Edit, Add-Formular
- ConnectPanel.svelte: Gedaechtnis-MCP Setup-Guide (Cline/OpenCode/Bosgame)
- Temporaere Eintraege (ephemeral) nach 7 Tagen automatisch geloescht

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 13:30:47 +02:00
Hitonabi 8b52cd20b4 fix(guides): OpenCode Desktop-App explizit erklärt
Hinweis ergänzt: CLI und Desktop-App nutzen dieselbe config.json,
alle Slash-Commands funktionieren in beiden Versionen gleich.
Unterschied nur beim Start: Terminal (cd + opencode) vs. GUI (Ordner wählen).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 12:50:43 +02:00
Hitonabi b88eba0da8 feat(tools): Jan AI + Continue + Antigravity — 7 Tools, 17 Guide-Tutorials
Verbinden-Tab neu strukturiert:
- Tool-Picker in 2 Sektionen unterteilt: Chat + Coding-Assistenten
- Jan AI: einfachstes Chat-Interface (Desktop-App, kein Docker)
  Config: Basis-URL + Modell-ID Copy-Fields wie Cline
- Continue: VS Code/JetBrains Coding-Hilfe ohne Agent-Overhead
  Config: fertiger config.json-Block mit allen konfigurierten Modellen
- Antigravity: Googles agentic IDE (VS Code-Fork, kostenlos)
  Config: Basis-URL + Modell-ID Copy-Fields
- continueBlock() Funktion für dynamisches config.json-Snippet

Guide neu strukturiert (17 Tutorials, war 14):
- "Welches Tool" Entscheidungsmatrix komplett neu: Chat vs. Coding,
  Jan AI als Einstieg statt OpenWebUI, Antigravity und Continue ergänzt
- Neu: "Jan AI — einfachstes Chat-Interface" (Schritt-für-Schritt)
- Neu: "Continue — Coding-Hilfe ohne Agent-Overhead" (Chat/Autocomplete/Inline-Edit)
- Neu: "Antigravity — Googles agentic IDE" (Multi-Agent, Manager-View)
- OpenWebUI repositioniert: "für Teams und Power-User" mit klarer Begründung
  wann OpenWebUI mehr Sinn macht als Jan AI

Recherche-Grundlage: jan.ai/docs, continue.dev, antigravityide.net,
Google Dev Blog (Antigravity), promptquorum.com (Frontend-Vergleich 2026)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 09:23:37 +02:00
Hitonabi a0ff9d1b25 feat(guides): Best Practices Update Juni 2026 — recherchierte Korrekturen
OpenCode:
- /compact hat Alias /summarize; /clear = Alias für /new (klar unterschieden)
- Multi-Agenten erklärt: Tab = primary agents wechseln; @name = Subagent aufrufen
- Agenten via Markdown-Dateien definieren (review.md → @review)
- Slash-Commands als Tabelle statt Bullet-Liste

Cline:
- Plattformen aktualisiert: VS Code, JetBrains, Cursor, Windsurf, Zed, Neovim, CLI (v3.81)
- Memory Bank Konzept ergänzt (projectbrief.md, activeContext.md, progress.md)
- .clinerules/ als Verzeichnis möglich für große Projekte
- Spending Limits (seit April 2026 / v3.78) dokumentiert
- Hinweis: .clinerules-Größe kostet Kontext → kürzer ist besser
- "in VS Code" im Titel entfernt (irreführend)

MCP:
- Empfehlungsliste als Tabelle, nach Anwendungsfall gegliedert
- Playwright (Browser-Automation) ergänzt
- Memory MCPs (mem0) als 2026-Standard ergänzt
- GitHub = meistinstalliert ever; filesystem = meistgenutzt ever
- "36.000+ MCPs verfügbar" als Kontext

Skills & Rules:
- skills.sh: Vercel-Launch Jan 2026, npm-Pendant für Skills erklärt
- Sicherheitshinweis: Snyk-Audit 2026 — 13,4% kritische Probleme in Community-Skills
- SkillHub als qualitätsgeprüfte Alternative ergänzt

AGENTS.md:
- Als plattformübergreifender 2026-Standard hervorgehoben (10+ Tools lesen es nativ)
- 200-500 Zeilen Sweet Spot dokumentiert (Kontext-Overhead)

Konzepte:
- Quantisierung: IQ4_XS als Alternative + Q8_0 für Coding/Reasoning
- Memory Bank als neues Konzept ergänzt
- Skills/Rules: plattformübergreifender Standard erwähnt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 09:09:08 +02:00
Hitonabi 05acad5af8 feat(guides): Quellen überall + Persona-Onboarding
Quellen/Links:
- OpenCode → opencode.ai/docs
- Cline → cline.bot
- OpenWebUI → openwebui.com
- MCP → mcp.run, smithery.ai, modelcontextprotocol.io/servers
- Skills & Rules → skills.sh (neu), cursor.directory
- Persona → skills.sh, cursor.directory
- AGENTS.MD → skills.sh, opencode.ai/docs
Neue .tut-sources CSS-Klasse: dezente Trennlinie, Teal-Links.

Persona-Tutorial grundlegend erweitert:
- Zwei Dimensionen erklärt (WAS der Agent tut vs. WIE er mit dir umgeht)
- Template um Beziehungs-/Interaktionszeile erweitert
- Beispiele zeigen jetzt auch Feedback-Stil, Proaktivität, Fehlerkultur
- Neues Onboarding-Interview-Template: Agent befragt den Nutzer selbst
  (6-8 Fragen, eine nach der anderen) und schreibt daraus eine
  maßgeschneiderte AGENTS.md — der schnellste Weg zu einer echten Persona.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 09:00:36 +02:00
Hitonabi 18236fc6d6 feat(guides): Persona + AGENTS.MD/SAVEPOINT.MD Tutorials
Zwei neue Tutorials in der Gruppe „Agenten meistern":

1. Die Persona — deinem Agenten eine Rolle geben
   Erklärt was eine Persona ist, warum sie den Unterschied macht,
   + Copy-paste-ready Template + 2 konkrete Beispiele (Coding-Assistent,
   Lernbegleiter) + Tabelle wo man sie einträgt (pro Projekt vs. global).

2. AGENTS.MD & SAVEPOINT.MD — Gedächtnis für den Agenten
   Erklärt den Unterschied (was das Projekt ist vs. wo wir stehen),
   + vollständige Vorlagen für beide Dateien die direkt nutzbar sind,
   + 2-Schritt-Workflow (Session starten / beenden).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 08:53:22 +02:00
Hitonabi c0f77ba69c feat(guides): Guide-Tab komplett neu — 4 Gruppen, 12 Tutorials
Vollständige Überarbeitung des Guide-Tabs:

Struktur: Statt 8 gleichwertiger Accordions jetzt 4 klar getrennte
Gruppen (EINSTIEG / TOOLS EINRICHTEN / AGENTEN MEISTERN / WENN ETWAS
NICHT KLAPPT) — jede als eigene Card mit farbigem Teal-Label.
Anfänger sehen sofort die logische Reihenfolge.

Neue Tutorials (war 8, jetzt 12):
- "Welches Tool für mich?" — Entscheidungsbaum (OpenWebUI/Cline/OpenCode/Zed)
- "OpenCode verbinden & erste Schritte" — Config + Befehle
- "Cline in VS Code verbinden" — Plan- vs. Act-Modus erklärt
- "OpenWebUI verbinden" — für Nutzer ohne Programmierkenntnisse
- "Einen Agenten richtig briefen" — Schlecht→Gut-Beispiele
- "MCP" — überarbeitet mit konkretem Config-Beispiel und Empfehlungen
- "Skills & Rules" — AGENTS.md / .clinerules mit echten Pfaden und Quellen
- "Häufige Probleme & Lösungen" — Troubleshooting-Tabelle (7 Fälle)

Zusammengeführt: Kontext-Tutorials 2+3 (waren doppelt) → ein Tutorial.

Neue CSS-Komponenten: .tut-table/.tut-row für Vergleichstabellen,
.tut-code für Code-Blöcke, .bad für durchgestrichene Negativbeispiele.
Neues main.css von Vite extrahiert und in index.html eingebunden.

Konzepte erweitert: Token, TTL, System-Prompt, Vision ergänzt (war 9, jetzt 12).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 08:48:25 +02:00
Hitonabi c33fe57433 fix(ux): Idiotensicherheit — 8 Audit-Fixes
Behebung der drei kritischsten UX-Schwachstellen aus dem Produkt-Audit:

1. ConnectPanel: Steps 2-4 (Modellauswahl, Tool-Picker, Config-Snippet,
   Vision) werden blockiert wenn noch kein Modell installiert ist.
   Stattdessen klarer Hinweis "Erst im Cookbook ein Modell holen" mit
   direktem CTA. Verhindert dass Anfänger ein Snippet mit Fake-"coder"
   kopieren, bevor ein echtes Modell existiert.

2. OverviewPanel: preload() schluckte Fehler still (catch {}). Zeigt
   jetzt einen verständlichen Toast wenn die Engine nicht erreichbar ist.
   Schnellstart ist kontextsensitiv: ohne Modelle zeigt er Onboarding-
   Schritte (Modell holen → Verbinden → Guide lesen) statt sinnloser
   Aktionen wie "Speicher freigeben".

3. CookbookPanel Profi-Suche: doDownload() nutzte zwei sequenzielle
   API-Calls (download + register) — wenn der zweite scheiterte, blieb
   das System in einem inkonsistenten Halbzustand. Jetzt ein einziger
   atomarer Aufruf an /api/cookbook/install-model (wie Recipe/Discover).
   Backend-Erweiterung: InstallModelReq akzeptiert jetzt 'file' und
   'ctx' um Nutzer-Auswahl direkt zu übergeben.

4. Cookbook Section 1 als "Hier starten" markiert ("1 · Anwendungsfall
   wählen & installieren" mit erklärendem Sub-Text).

5. Post-Download-Toasts: Alle drei Install-Pfade sagen nun einheitlich
   "Modell erscheint danach automatisch im Modelle-Tab" statt nur
   "siehe Aktivität".

6. too_tight-Alternative: Bei Modellen/Setups die den Speicher übersteigen
   wird jetzt eine konkrete Alternative (kleinere Datei / passendes Rezept)
   verlinkt statt nur "Trotzdem installieren".

7. Duplikat extract_params_b aus cookbook.py entfernt — importiert jetzt
   aus hw_math (Single Source of Truth).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 08:31:34 +02:00
Hitonabi a93751fb01 feat(dashboard): Dashboard-Redesign + Bugfixes + Pre-load
Bugs behoben:
- Topbar + Server-Panel: 'Kein Modell im VRAM' obwohl geladen → alle
  States (running/ready/loading/starting) werden jetzt erkannt
- Topbar zeigt bei geladenem Modell: Name + ctx-Größe + State mit Farbe

Dashboard-Redesign (OverviewPanel):
- KPI-Kacheln mit Farbe: .kpi.green/.red/.blue/.muted statt .tile
  (farbige Randlinien + farbige Werte wie im Referenz-Design)
- Icons pro Kachel (server, cpu, thermo, database)
- Stack-Liste: zeigt ctx/quant/GB, 'Laden'-Button wenn Modell bereit
  aber nicht geladen, ∞-Chip für immer-aktive Modelle
- 4. Schnellstart-Button: 'Tools verbinden'

Feature: Modell Vorwärmen (Pre-load):
- POST /api/preload?model=<name> — sendet Mini-Request an llama-swap
  damit es das Modell vorab lädt (max_tokens=1, kein Output)
- 'Laden'-Button je Modell in der Stack-Liste

Topbar CSS:
- Aktives Modell: teal-hinterlegter Pill wenn Modell geladen
- Kontext-Größe direkt neben Modellname angezeigt

Cookbook:
- Discover: genaue Zeitanzeige wann Quellen zuletzt befragt wurden
  ('vor X min / h / Tg.') statt nur 'aktuell'

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 08:04:40 +02:00
Hitonabi f536f454ba fix(connect): OpenCode contextWindowSize nutzt echten Modell-Kontext
openCodeBlock() baut jetzt Modell-Objekte statt nur ID-Strings, damit
m.meta.ctx ausgelesen werden kann. contextWindowSize wird korrekt auf
den konfigurierten Kontext gesetzt (Standard: 131072 = 128k).

Vorher: { "name": "coder" }  (kein Kontexthinweis → AI-SDK-Default)
Nachher: { "name": "coder", "contextWindowSize": 131072 }

Identisches Problem wie bei Zed max_tokens (war 32768 hardcoded).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 22:25:52 +02:00
Hitonabi d8fe1f8097 fix+feat: offene Punkte abgeschlossen
Kontext in Connect-Snippet:
- ConnectPanel: max_tokens nutzt jetzt den echten konfigurierten Kontext
  des Modells (m.meta.ctx) statt hartkodiertem 32768 -> Zed sieht 128k

Phase D - 'Immer aktiv halten' Toggle:
- models.py: UpdateReq bekommt optionales ttl-Feld
- update_model: setzt TTL wenn angegeben (ctx und ttl unabhaengig)
- ModelsPanel: Checkbox 'Immer aktiv halten' im Konfig-Modal
  (TTL=99999 = nie entladen, TTL=300 = Standard 5min)

MoE tps-Schaetzung:
- hw_math.py: extract_active_params_b() erkennt A3B-Suffix
- estimate_speed(): moe_active_ratio-Parameter, sqrt-Boost fuer MoE
- evaluate_fit(): name-Parameter (optional) fuer automatische MoE-Erkennung
- cookbook.py: alle evaluate_fit-Aufrufe mit name= versehen

Cleanup:
- static/js/panels/*.js + static/js/main.js geloescht (Dead Code)
- wird-Datei (versehentlich committet) geloescht
- CLAUDE.md: KISS-Statement auf Vite+Svelte-Stand aktualisiert

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 22:21:15 +02:00
Hitonabi 86831a3627 feat(phase-c): Vollstaendige Svelte-5-Migration aller 8 Panels
Alle Panels vollstaendig migriert (kein Legacy-JS mehr):
- OverviewPanel: Hero, Metriken, System-Gesundheit, Stack, Top-News
- JobsPanel: KPI-Kacheln, Sparklines, Job-Liste mit Log/Abbrechen
- ServerPanel: Engine-Status, Service-Aktionen, Live-Konsole (WebSocket)
- ModelsPanel: Schnelltest-Chat, Tabelle, Konfig- + Rollen-Modal
- CookbookPanel: Rezepte, Discover, Profi-Suche, 3 Modals (Rezept/Modell/Neu)
- ConnectPanel: Wizard, Tool-Picker, merge-sichere Snippets
- GuidesPanel + NewsPanel: bereits in Phase C1 migriert

main.ts: importiert nur noch Svelte-Panels (keine Legacy-JS-Imports)
index.html: Placeholder-Divs entfernt, nur noch leere Sections
stores/jobs.svelte.ts: track/toggle-Funktionen fuer ServerPanel
svelte.config.js: a11y-Warnungen als non-fatal konfiguriert
Build: 119 Module -> 137 kB (gzip: 48 kB)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 22:08:08 +02:00
Hitonabi e2fc1d24cf feat(phase-c): Vite + Svelte 5 Infrastruktur + erste 2 Panels migriert
- frontend/ eingerichtet: Vite 6, Svelte 5 (Runes), TypeScript
- Stores: status/jobs/system mit $state-Runes (status.svelte.ts etc.)
- main.ts ersetzt main.js: bundelt Legacy-Panels (overview/models/server/
  jobs/cookbook/connect) + mountet neue Svelte-Panels (guides/news)
- GuidesPanel.svelte: statischer Guide mit Akkordeon-Tutorials + Konzept-Grid
- NewsPanel.svelte: reaktives Newsboard mit API-Fetch + Upgrade-Vorschlaegen
- Vite-Output: static/dist/main.js (committet, kein Build auf dem Server)
- index.html: laedt jetzt static/dist/main.js statt static/js/main.js
- Build: 118 Module → 134 kB (gzip: 44 kB)

Naechste Schritte: Overview → Jobs → Server → Models → Cookbook migrieren.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 21:50:12 +02:00