import { useState, type ReactNode } from "react" import { BookOpen, Boxes, Cpu, Layers, Plug, Bot, Wrench, Shield, Compass, Code, Network, Database, Sparkles, Gauge, Lock, Lightbulb, Server, Zap, ArrowUpRight, LifeBuoy, Puzzle, type LucideIcon, } from "lucide-react" import { cn } from "@/lib/utils" import { SystemSchaubild } from "./guide/SystemSchaubild" /* ------------------------------------------------------------------ * * Anleitung = Allgemeine AI-Bibel (Stand Juli 2026). * Ganz oben „Dein System": Schaubild + Kreislauf der eigenen Box. * Danach allgemeines Nachschlagewerk für lokale & agentische AI; * Stack-Spezifika nur als "Bei dir konkret"-Callouts. * ------------------------------------------------------------------ */ const SECTIONS: { id: string; label: string }[] = [ { id: "system", label: "Dein System" }, { id: "grundlagen", label: "Grundlagen" }, { id: "moe", label: "MoE & Quant" }, { id: "lokal", label: "Lokal betreiben" }, { id: "modelle", label: "Modell-Landschaft" }, { id: "gateway", label: "Gateway-Trick" }, { id: "mcp", label: "MCP" }, { id: "skills", label: "Skills" }, { id: "memory", label: "Gedächtnis & RAG" }, { id: "agents", label: "Agenten" }, { id: "ide", label: "IDE anbinden" }, { id: "tricks", label: "Tricks & Kniffe" }, { id: "wartung", label: "Sicherheit & Wartung" }, { id: "ressourcen", label: "Ressourcen" }, { id: "troubleshooting", label: "Troubleshooting" }, ] function scrollToId(id: string) { document.getElementById(id)?.scrollIntoView({ behavior: "smooth", block: "start" }) } /* ---- kleine Bausteine ---- */ function Card({ id, icon: Icon, color, title, kicker, children, wide }: { id?: string icon: LucideIcon color: string title: string kicker?: string children: ReactNode wide?: boolean }) { return (

{title}

{kicker && {kicker}}
{children}
) } /* "Bei dir konkret" — Stack-Einschub, nur wo eine Einschränkung es rechtfertigt */ function Stack({ children }: { children: ReactNode }) { return (
Bei dir konkret
{children}
) } function Pill({ children }: { children: ReactNode }) { return ( {children} ) } function LinkItem({ href, name, note }: { href: string; name: string; note: string }) { return (
  • {name} — {note}
  • ) } export function GuideView() { const [showAllNav, setShowAllNav] = useState(false) return (
    {/* Hero */}

    Die AI-Bibel

    Erst dein System auf einen Blick, dann das allgemeine Nachschlagewerk für lokale & agentische AI — Konzepte, Tricks, Kniffe und kuratierte Quellen. Stand Juli 2026.{" "} „Bei dir konkret"-Kästen zeigen, was dein Stack daraus macht.

    {/* Sprung-Navigation (sticky) */}
    {(showAllNav ? SECTIONS : SECTIONS.slice(0, 9)).map((s) => ( ))}
    {/* 0 — Dein System (Schaubild) */}

    So funktioniert dein System

    Landkarte & Kreislauf — das große Bild

    Vier Türen führen zur selben Box: diese Oberfläche zum Steuern und Abnicken, Lucy für Zurufe per Stimme, Hermes Desktop für richtige Projekte und Telegram für unterwegs. In der Box denken die Modelle, das Gedächtnis lernt automatisch mit — und nachts arbeitet sie allein: Sie träumt, inventarisiert sich selbst, entwickelt Ideen zu fertigen Vorschlägen und legt sie dir als Karten ins Auftragsbuch. Nichts geht live ohne deinen Klick — und wenn nach einer Annahme etwas rot wird, baut die Box es selbst zurück.

    {/* 1 — Grundlagen */}

    Ein LLM ist im Kern ein Wahrscheinlichkeits-Rechner für das nächste Token (Wortteil). Es „weiß" nichts — es setzt fort, was statistisch am plausibelsten ist. Daraus folgt fast alles andere.

    • Tokens sind die Einheit — ~¾ Wort. Ein- und Ausgabe werden in Tokens gezählt.
    • Kontextfenster = wie viele Tokens das Modell gleichzeitig „sehen" kann (Prompt + Antwort). Voll = Anfang fällt raus.
    • Parameter = die trainierten Gewichte. Training ist einmalig, Inferenz ist jede Antwort.
    • Temperatur / Sampling steuert Zufall: niedrig = deterministisch/präzise (Code), hoch = kreativ.
    • Halluzination ist kein Bug, sondern die Kehrseite des Ratens. Gegenmittel: Grounding via Tools/RAG, Verifikation.
    • Reasoning-/Thinking-Modelle „denken" in unsichtbaren Tokens vor der Antwort — besser bei Logik, langsamer/teurer.
    {/* 2 — MoE & Quant */}

    Mixture of Experts (MoE): Statt für jedes Token das ganze Netz zu aktivieren, wählt ein Router nur ein paar spezialisierte Experts aus. So läuft ein 100B-Modell mit der aktiven Rechenlast eines viel kleineren (z.B. „122B total / 10B aktiv").

    Quantisierung: Gewichte von FP16 auf weniger Bits eindampfen — kleiner & schneller bei minimalem Qualitätsverlust. Faustregel:

    • Q8 nahezu verlustfrei, größter Footprint
    • Q6_K sehr gut, guter Mittelweg
    • Q4_K_M der Sweet-Spot für lokal — viel Modell pro GB
    VRAM/RAM ist die harte Grenze — darum ist beides hier zentral: MoE lässt 100B+ überhaupt laufen, Quant entscheidet, was reinpasst. Dein Line-up fährt durchweg Q4_K_M/Q6_K.
    {/* 3 — Lokal betreiben */}

    Inference-Engines — was die Modelle ausführt:

    • llama.cpp / GGUF — der De-facto-Standard für lokal, CPU+GPU, läuft überall.
    • Ollama / LM Studio — bequeme Wrapper mit One-Click-Downloads (LM Studio mit GUI).
    • vLLM / TGI — Server-Engines für maximalen Durchsatz auf dicken GPUs.
    • llama-swap — Proxy, der mehrere Modelle hinter einem Port hält und je nach Anfrage automatisch ein-/aussattelt.

    GPU-Backends — wie gerechnet wird:

    • CUDA NVIDIA · ROCm AMD · Vulkan herstellerübergreifend · Metal Apple

    Begriffe, die immer wiederkommen: Kontext (-c), Slots/Parallel, KV-Cache, Modell-TTL/Swap, Speculative Decoding (kleines Draft-Modell rät voraus → schneller).

    Deine Box hat eine AMD-APU (gfx1151). Einschränkung & Trick: dort schlägt Vulkan/RADV das offizielle ROCm bei Token-Generierung um ~12–22 % — darum läuft die Engine auf Vulkan. llama-swap hält die Alltags-Hirne dauerwarm; coder nutzt Spec-Decoding.
    {/* 4 — Modell-Landschaft */}

    Open-Weight (lokal nutzbar):

    • Qwen (Alibaba) — starke Allrounder + Coder + Vision, viele Größen/MoE.
    • Llama (Meta), Gemma (Google), Phi (Microsoft) — solide Open-Familien.
    • DeepSeek, Mistral/Mixtral — kräftige MoE-/Reasoning-Modelle.

    Frontier (Cloud-API):

    • Claude (Anthropic), GPT (OpenAI), Gemini (Google) — die stärksten Allrounder, aber nicht lokal.

    Modellwahl nach Aufgabe: schnelles Alltags-Hirn · großes Logik-Hirn für harte Tasks · dediziertes Code-Modell · multimodal für Bilder · Embedding-Modell fürs Gedächtnis.

    Leaderboards (HF, LMArena) sind grobe Orientierung — der einzige Benchmark, der zählt, ist deine eigene Aufgabe. Vorsicht vor „Benchmaxxing".

    Dein Line-up via llama-swap (Klartext-Rollen): Hirn (Agent, dauerwarm) · Groß (schwere Logik) · Coder · Augen (Bilder) · Späher (schnelle Recherche) · Kritiker (Fremdblick/Review) · Gedächtnis + Sortierer (Embedding & Reranking). Verwalten/tauschen im Modelle-Tab.
    {/* 5 — Gateway-Trick */}

    Fast jedes AI-Tool spricht heute das OpenAI-Format (/v1/chat/completions). Ein Gateway davor gibt dir einen Endpunkt für alles: zentrales Key-Management, Logging und transparentes Routing — der Client merkt nicht, welches Modell tatsächlich antwortet.

    Die Lane-Idee: du wählst chat (Alltag, auto geht als Alias weiter) oder{" "} coding (agentisch), das Gateway pickt das passende echte Modell und lädt es bei Bedarf.

    Dein Gateway: http://192.168.178.151:9001/v1, Model chat oder coding, API-Key beliebig. Fertige Configs erzeugt dir der Verbinden-Tab live — eine Wahrheit, kein Abtippen.
    {/* 6 — MCP */}

    Das Model Context Protocol (offen, von Anthropic initiiert) standardisiert, wie ein AI-Client mit externen Tools & Datenquellen spricht. Ein MCP-Server bringt Fähigkeiten: Dateien, Web-Fetch, Git, Datenbanken, eigene APIs.

    Statt für jeden Editor eigene Tools zu schreiben, bindet jeder MCP-fähige Agent denselben Server an.

    Sicherheit: ein MCP-Server hat echten Zugriff (Dateien, Shell). Nur vertrauenswürdige Server laufen lassen, Rechte minimal halten, Quelle prüfen.
    {/* 7 — Skills */}

    Ein Skill ist ein Ordner mit einer SKILL.md (YAML-Kopf + Anleitung, optional Skripte/Beispiele), den der Agent für eine bestimmte Aufgabe lädt — z.B. TDD, Code-Vereinfachung, API-Design.

    {`---
    name: tdd-pro
    description: Treibt Entwicklung mit strikter TDD-Praxis
    ---
    # Instructions
    ...`}
              

    Suchen & installieren über die skills.sh-Registry: npx skills find / npx skills add owner/repo. Skills liegen projektweit (vom Agent beim Start gelesen) oder global.

    {/* 8 — Gedächtnis & RAG */}

    LLMs sind zustandslos: ohne Hilfe weiß das Modell beim nächsten Turn nichts mehr. Gedächtnis lebt extern.

    • Embeddings wandeln Text in Vektoren; ein Vektor-Store (Chroma, …) findet semantisch Ähnliches.
    • RAG = relevante Fakten vor dem Turn heraussuchen und einblenden statt alles im Prompt zu halten.
    • Long-Context vs. RAG: riesige Fenster sind bequem, aber teuer & „lost in the middle" — gezieltes Abrufen skaliert besser.

    Auto-lernendes Gedächtnis ist die nächste Stufe:

    • extrahiert Fakten selbst aus Gesprächen, statt nur abzuspeichern
    • dedupliziert semantisch (kein 10× derselbe Fakt)
    • Graph-Sicht = Fakten plus ihre Beziehungen, nicht nur eine flache Liste
    Dein Gedächtnis (Tab Gedächtnis) ist Mem0-basiert: auto-lernend & semantisch, graph-first dargestellt, mit 4-Typen-Taxonomie (Identität · Wissen · Regeln · Ereignisse). Der Agent lernt im Hintergrund nach jedem Turn — egal ob du per Desktop, Konsole, Telegram oder Lucy mit ihm sprichst.
    Gotcha: ein gelöschter Fakt kann wieder auftauchen, solange die Original-Nachricht noch im Verlauf steht (additive Extraktion).
    {/* 9 — Agenten */}

    Ein Agent ist ein LLM in einer Schleife mit Tools: denken → Tool aufrufen → Ergebnis beobachten → weiter, bis das Ziel erreicht ist.

    • Guardrails (Hard-Stop, Tool-Limits) verhindern Endlos-Loops, wenn ein Tool fehlt oder hängt.
    • Kontext-Hygiene ist die wichtigste Disziplin: frische Sessions starten — vollgemüllte Historien werden langsam, driften und halluzinieren.
    • Kanäle: CLI/Terminal, Chat-UI, Messaging (z.B. Telegram), reine API.

    Least Privilege: gib einem Agenten nur die Tools, die er wirklich braucht. Kritische Aktionen (Shell auf dem Host, Löschen, Geld/Deploys) hinter menschliche Freigabe.

    Was sich vollautomatisch lohnt: Modell-Routing, Hintergrund-Gedächtnis, Recherche. Was Freigabe braucht: Systembefehle, Updates/Reboots, permanentes Löschen.

    Hermes ist dein Box-Agent mit eigenem Agent-Hirn (Rolle Hirn, dauerwarm). Reden tust du mit ihm über Hermes Desktop (am PC, remote via /hermes-ui), die Konsole (Box-Shell im Browser), Telegram — oder per Stimme über Lucy. Er hat MCP-Server für Gedächtnis, Stack-Steuerung, Web-Fetch und PC-Steuerung (Executor auf deinem Windows-PC). Nachts betreibt er Werkstatt & Radar-Crons — alles Gebaute landet als Karte im Auftragsbuch. Status & Verdrahtung im Hermes-Tab.
    {/* 10 — IDE anbinden */}

    Jede OpenAI-kompatible IDE oder Extension lässt sich auf einen lokalen Server umbiegen — Base-URL + Model eintragen, fertig:

    • Cline & Roo Code (VS-Code-Extensions, voller Agent + MCP)
    • Cursor (VS-Code-Fork mit Top-Autocomplete)
    • Continue, aider (CLI), OpenCode (Desktop)
    Deine Haupt-IDE ist inzwischen Hermes Desktop — sie ist ab Werk mit Box, Gedächtnis und Skills verdrahtet, da ist nichts zu konfigurieren. Für alles andere gilt: Tipp den Kram nicht ab — der Verbinden-Tab generiert die fertige Config (inkl. MCP-Gedächtnis) pro Tool zum Kopieren. Essenz: Base …:9001/v1, Model chat / coding, Key beliebig.
    {/* 11 — Tricks & Kniffe */}
    {[ ["Kontext sauber halten", "Neue Session statt Mega-Historie. Drift, Tempo und Halluzination hängen direkt am Kontext-Müll."], ["Plan-then-Act", "Erst Plan/Vorgehen bestätigen lassen, dann ausführen. Spart teure Holzwege."], ["Gezielte Edits", "Nie ganze Dateien überschreiben für eine Zeile — Such-/Ersetz-Tools nutzen. Weniger Tokens, weniger Fehler."], ["Non-interaktive Befehle", "Keine interaktiven Prompts im Agent-Terminal; lange Tasks als Background-Job. Sonst hängt der Loop."], ["DevTools koppeln", "Browser-/Konsolen-Zugriff geben — der Agent liest echte Fehler statt blind zu raten."], ["Richtige Modellwahl", "Schnelles Hirn für Alltag, großes für harte Logik, Coder fürs Coden. Nicht alles mit der Kanone."], ["Akzeptanzkriterien", "Sag konkret, woran „fertig“ erkennbar ist. Vage Prompts → vage Ergebnisse."], ["Verifizieren statt vertrauen", "Tests/Live-Check fordern. „Sollte funktionieren“ ist kein Beweis."], ["Regeln ins Gedächtnis", "Wiederkehrende Vorlieben/Konventionen einmal ablegen — der Agent zieht sie selbst."], ].map(([t, d]) => (
    {t}

    {d}

    ))}
    {/* 12 — Sicherheit & Wartung */}

    Goldene Regeln

    • Ein ungetesteter Restore ist kein Backup. Wiederherstellung mindestens einmal echt durchspielen.
    • Updates können Dinge still zerschießen — gerade bei AI-Stacks (Embeddings, Provider-Interna). Versionen pinnen, Smoke-Test, Post-Check.
    • Least Privilege für Agenten, MCP-Server und PC-Zugriff. Kritisches hinter Freigabe.

    Bei dir im SystemDrawer

    • Backup: PBS-Backup-Zentrum (Sicherung auf den Proxmox-Server) + tägliche Tarball-Sicherung; Restore echt durchgespielt (restore.sh, Doku in docs/BACKUP.md).
    • Updates: git-basierter Update-Check; Update-Buttons mit anschließendem Gehirn-Check (rot, falls ein Update das Gedächtnis zerschießt).
    • Annahme-Sicherheit: jede Auftragsbuch-Annahme läuft mit Health-Check — wird's rot, baut die Box automatisch zurück (Auto-Revert).
    • Dienste & Gefahrenzone: Restart/Logs pro Dienst, kritische Eingriffe getrennt.

    Erreichbar über das System-Icon → Tab „Wartung".

    {/* 13 — Ressourcen */}

    13. Kuratierte Ressourcen & Links

    Sauber geordnet — die guten Quellen
    Modelle & Engines
    MCP & Skills
    Agenten & Frameworks
    Lernen & Community
    {/* 14 — Troubleshooting */}
    • Keine Verbindung? Selbes LAN wie die Box? IP/Port stimmen (:9001)? Backend-Status im Cockpit prüfen.
    • Modell antwortet nicht / langsam? Im Cockpit → Dienste schauen, ob llama-swap grün ist; sonst Restart. Erstes Token nach Swap dauert (Modell lädt).
    • Agent dreht durch / halluziniert? Frische Session starten (Hermes Desktop oder Konsole) — meist ist es vollgemüllter Kontext.
    • Gedächtnis findet nichts? Embedding-Dienst online? Semantisch suchen (Sinn statt exaktem Wort).
    • Angenommene Karte hat etwas zerschossen? Meist fängt es der Auto-Revert; sonst Chronik → Zeitmaschine (Stand von gestern) oder Backup & restore.sh.

    Mission Control 2 · AI-Bibel · Stand Juli 2026 — lebendes Dokument, wächst mit dem Stack.

    ) }