export const TUTORIALS: [string, string][] = [
  ["Dein erster Workflow — in 3 Schritten", `
    <ol class="tut-steps">
      <li><b>Modell holen:</b> Tab <b>Cookbook</b> → wähle deinen Anwendungsfall (z.B. „Coden") →
        <b>Komplettes Setup installieren</b>. Der Download läuft im Tab <b>Aktivität</b>.</li>
      <li><b>Verbinden:</b> Tab <b>Verbinden</b> → Basis-URL kopieren → in deinem Tool (z.B. OpenCode)
        als „OpenAI-kompatibel" einfügen. <b>Verbindung testen</b> bestätigt, dass es läuft.</li>
      <li><b>Arbeiten:</b> Im Tool das Modell (z.B. <code>coder</code>) wählen und loslegen. Das passende
        Modell wird <b>automatisch geladen</b> — du musst nichts starten.</li>
    </ol>`],
  ["Wie leere ich den Kontext? Machen die Tools das selbst?", `
    <p><b>Kurz: meistens ja, automatisch.</b> Der Kontext (das „Gedächtnis") gilt pro Unterhaltung.
    Startest du im Tool einen <b>neuen Chat / eine neue Session</b>, ist der Kontext wieder leer —
    das Tool verwaltet das Fenster für dich.</p>
    <p>Du musst nur selten eingreifen: wird ein Gespräch sehr lang, fang einen neuen an. <b>Wichtig:</b>
    „Grafikspeicher leeren" (Tab Server) ist etwas anderes — das wirft das <i>Modell</i> aus dem Speicher,
    nicht den Gesprächsverlauf.</p>`],
  ["Was passiert, wenn der Kontext volläuft?", `
    <p>Ist das Kontextfenster voll, passiert je nach Tool eins von dreien: das Modell <b>vergisst den
    Anfang</b> (älteste Nachrichten fallen raus), das Tool <b>kürzt automatisch</b>, oder du bekommst
    einen Fehler wie „context length exceeded".</p>
    <p><b>So gehst du vor:</b></p>
    <ol class="tut-steps">
      <li><b>Neuen Chat starten</b> — der einfachste Reset, Kontext ist wieder leer.</li>
      <li><b>Zusammenfassen lassen:</b> „Fasse unseren Stand kurz zusammen", dann im neuen Chat einfügen.</li>
      <li><b>Kontext vergrößern:</b> Tab <b>Modelle</b> → <b>Konfigurieren</b> → wir zeigen das Optimum
        für deine Hardware (mehr Kontext = mehr Speicherbedarf).</li>
    </ol>`],
  ["Was ist ein Agent — und wann brauche ich einen?", `
    <p>Ein nacktes Modell <b>schreibt nur Text zurück</b>. Ein <b>Agent</b> ist ein Programm drumherum,
    das das Modell <b>handeln</b> lässt: Dateien lesen und ändern, Befehle ausführen, im Web suchen —
    Schritt für Schritt in einer Schleife, bis die Aufgabe erledigt ist.</p>
    <p><b>Wann lohnt sich was?</b></p>
    <ul class="tut-steps" style="list-style:disc">
      <li><b>Fragen, Texte, Erklärungen, Brainstorming</b> → kein Agent nötig, eine Chat-Oberfläche
        wie <b>OpenWebUI</b> reicht völlig.</li>
      <li><b>Coden über mehrere Dateien, Befehle ausführen, recherchieren + umsetzen</b>
        → <b>Agent</b> (OpenCode, Cline, Continue).</li>
    </ul>
    <p><b>Gut zu wissen:</b> Diese Agenten <b>laufen lokal auf deinem PC</b> — du brauchst
    <b>keinen</b> Cloud-Dienst.</p>`],
  ["Was sind Skills — und wie installiere ich sie?", `
    <p>Ein <b>Skill</b> ist <b>verpacktes Können</b>: eine kurze Anleitung, die dem Agenten beibringt,
    eine wiederkehrende Aufgabe jedes Mal so zu erledigen, wie <i>du</i> es willst.</p>
    <p><b>Skill vs. MCP:</b> <b>MCP</b> gibt dem Agenten neue <b>Werkzeuge</b>. <b>Skills</b> geben
    ihm <b>Know-how</b>. Kurz: <b>Werkzeuge = MCP, Anleitungen = Skills.</b></p>
    <p><b>Installieren:</b> meist nur eine Datei ablegen — kein Build, kein Neustart:</p>
    <ol class="tut-steps">
      <li><b>Pro Projekt:</b> in den Projektordner (z.B. <code>AGENTS.md</code>, <code>.clinerules/</code>).</li>
      <li><b>Global:</b> in den Konfig-Ordner des Tools — gilt überall.</li>
    </ol>`],
  ["MCP — deinem Agenten echte Werkzeuge geben", `
    <p><b>MCP</b> (Model Context Protocol) ist ein einheitlicher „Stecker", über den ein Agent zusätzliche
    <b>Werkzeuge</b> bekommt: das Web durchsuchen, Dateien lesen, eine Datenbank abfragen.</p>
    <p>Du fügst in deinem Agenten einen „MCP-Server" hinzu (eine Zeile in der Konfiguration je Werkzeug).
    Danach entscheidet der Agent selbst, wann er das Werkzeug einsetzt.</p>
    <ul class="tut-steps" style="list-style:disc">
      <li><b>Faustregel:</b> Fehlt dem Agenten eine <b>Fähigkeit</b> → MCP. Soll er etwas nur
        <b>besser machen</b> → Skill.</li>
    </ul>`],
  ["Auto-Swap — wie das Laden funktioniert", `
    <p>llama-swap lädt automatisch das Modell, das gerade angefragt wird, und entlädt es nach einer
    Leerlaufzeit wieder. <b>Es läuft immer nur eines gleichzeitig.</b></p>
    <p>Du richtest beliebig viele Modelle ein und wählst im Tool das passende —
    das Laden/Entladen passiert im Hintergrund, ohne dass du etwas tun musst.</p>`],
  ["Die empfohlenen Tools optimal nutzen", `
    <ul class="tut-steps" style="list-style:disc">
      <li><b>OpenCode:</b> Autonomes Coden im Terminal/Editor — ideal für „bau mir Feature X".</li>
      <li><b>Cline:</b> Dasselbe als VS-Code-Erweiterung, mit Bestätigung vor jeder Aktion.</li>
      <li><b>OpenWebUI:</b> Klassische Chat-Oberfläche für Fragen/Texte.</li>
    </ul>
    <p><b>Tipp:</b> starkes Modell (<code>coder</code>) für schwere Aufgaben, schnelles
    (<code>scout</code>) für einfache — du wählst es einfach im Tool aus.</p>`],
]

export const CONCEPTS: [string, string][] = [
  ["LLM / Modell", "Die KI selbst — versteht und schreibt Text (wie ChatGPT, nur lokal auf deinem PC). Ein Modell ist eine konkrete Datei davon, oft auf etwas spezialisiert (Code, Bilder, Chat)."],
  ["GGUF", "Das lokal lauffähige Dateiformat. Unsere Engine lädt nur GGUF — Repos ohne GGUF kann sie nicht nutzen."],
  ["Quantisierung (Q4_K_M)", "Verkleinert ein Modell (16-Bit → 4-Bit), damit es in den Speicher passt — bei kaum Qualitätsverlust. Q4_K_M ist der beliebte Sweetspot."],
  ["Kontextfenster", "Das Kurzzeitgedächtnis: wie viel Text sich das Modell gleichzeitig merkt. Größer = mehr Überblick, mehr Speicher, etwas langsamer."],
  ["Auto-Swap", "llama-swap lädt/entlädt Modelle automatisch — immer nur eins gleichzeitig. Du managst nichts."],
  ["Agent", "Ein Programm (OpenCode, Cline, Continue), das das Modell handeln lässt — Dateien lesen/ändern, Befehle ausführen, planen, im Loop bis die Aufgabe erledigt ist."],
  ["MCP", "Model Context Protocol — der Anschluss, über den ein Agent zusätzliche Werkzeuge bekommt (Web, Dateien, Datenbank). MCP = Werkzeuge."],
  ["Skills", "Verpackte Anleitung für wiederkehrende Aufgaben — der Agent liest sie und macht es jedes Mal wie du willst. Skills = Anleitungen."],
  ["Rules / Commands", "Die konkrete Form von Skills je Tool: AGENTS.md (OpenCode), .clinerules (Cline), Rules/Prompts (Continue)."],
]
