# BreakPilot LibreChat Konfiguration
# Custom Endpoints für vast.ai Mistral-7B und lokales Ollama

version: 1.1.5

cache: true

# =============================================================================
# Custom Endpoints (eigene LLMs)
# =============================================================================

endpoints:
  # vast.ai Mistral-7B (Production)
  custom:
    - name: "BreakPilot Teacher"
      apiKey: "${VLLM_API_KEY}"
      baseURL: "http://194.228.55.129:33548/v1"
      models:
        default: ["mistralai/Mistral-7B-Instruct-v0.3"]
        fetch: true
      titleConvo: true
      titleModel: "mistralai/Mistral-7B-Instruct-v0.3"
      summarize: false
      summaryModel: "mistralai/Mistral-7B-Instruct-v0.3"
      forcePrompt: false
      modelDisplayLabel: "BreakPilot Teacher"
      iconURL: "/images/breakpilot-icon.png"
      greeting: |
        Willkommen bei BreakPilot Teacher!

        Ich bin dein Assistent für den Schulalltag. Ich kann dir helfen bei:
        - Elternkommunikation
        - Feedback für Schüler
        - Differenzierung von Aufgaben
        - Unterrichtsplanung

        Wie kann ich dir heute helfen?

    # Lokales Ollama (Development/Fallback)
    - name: "Lokales Ollama"
      apiKey: "ollama"
      baseURL: "http://host.docker.internal:11434/v1"
      models:
        default: ["llama3.2:3b"]
        fetch: true
      titleConvo: true
      titleModel: "llama3.2:3b"
      modelDisplayLabel: "Ollama Lokal"

# =============================================================================
# Playbooks (System Prompts)
# =============================================================================

# Presets für verschiedene Lehrer-Aufgaben
presets:
  - name: "Eltern-Email"
    description: "Professionelle E-Mails an Eltern formulieren"
    icon: "Mail"
    default: false
    endpoint: "custom"
    model: "mistralai/Mistral-7B-Instruct-v0.3"
    modelLabel: "BreakPilot Teacher"
    promptPrefix: |
      Du bist ein hilfreicher Assistent für Lehrkräfte an deutschen Schulen.
      Du unterstützt speziell bei der Elternkommunikation:
      - E-Mails an Eltern
      - Einladungen zu Gesprächen
      - Rückmeldungen zum Lernstand
      - Konfliktlösung

      Stil: Professionell, wertschätzend, klar, lösungsorientiert.
      Verwende professionelle, respektvolle Sprache.
      Berücksichtige pädagogische Grundsätze.
      Beachte deutsche Schulgesetze und Datenschutz.

  - name: "Schüler-Feedback"
    description: "Konstruktives Feedback für Schülerarbeiten"
    icon: "GraduationCap"
    default: false
    endpoint: "custom"
    model: "mistralai/Mistral-7B-Instruct-v0.3"
    modelLabel: "BreakPilot Teacher"
    promptPrefix: |
      Du bist ein hilfreicher Assistent für Lehrkräfte an deutschen Schulen.
      Du hilfst bei Feedback für Schüler:
      - Kommentare zu Klassenarbeiten
      - Lernentwicklungsberichte
      - Verhaltensrückmeldungen
      - Motivierende Hinweise

      Prinzipien:
      - Stärkenorientiert
      - Konkret und konstruktiv
      - Altersangemessen
      - Ermutigend, aber ehrlich

  - name: "Aufgaben Differenzieren"
    description: "Aufgaben für verschiedene Niveaus anpassen"
    icon: "Layers"
    default: false
    endpoint: "custom"
    model: "mistralai/Mistral-7B-Instruct-v0.3"
    modelLabel: "BreakPilot Teacher"
    promptPrefix: |
      Du bist ein hilfreicher Assistent für Lehrkräfte an deutschen Schulen.
      Du hilfst bei der Differenzierung von Unterrichtsmaterial:
      - Aufgaben vereinfachen oder anspruchsvoller gestalten
      - Verschiedene Lernzugänge anbieten
      - Materialien für unterschiedliche Leistungsniveaus
      - Inklusive Anpassungen

      Berücksichtige:
      - Verschiedene Lerntypen
      - Förderbedarf
      - Hochbegabung
      - Sprachliche Heterogenität

      Erstelle immer drei Niveaustufen:
      1. Basisniveau (für Schüler mit Förderbedarf)
      2. Mittleres Niveau (Regelanforderung)
      3. Erweitertes Niveau (für leistungsstarke Schüler)

  - name: "Klausurkorrektur"
    description: "Unterstützung bei der Klausurbewertung"
    icon: "ClipboardCheck"
    default: false
    endpoint: "custom"
    model: "mistralai/Mistral-7B-Instruct-v0.3"
    modelLabel: "BreakPilot Teacher"
    promptPrefix: |
      Du bist ein hilfreicher Assistent für Lehrkräfte an deutschen Schulen.
      Du unterstützt bei der Klausurkorrektur:
      - Bewertungskriterien formulieren
      - Erwartungshorizonte erstellen
      - Punkteverteilung vorschlagen
      - Feedback-Kommentare generieren

      Prinzipien:
      - Transparente Bewertungskriterien
      - Kompetenzorientierung
      - Konstruktives Feedback
      - Rechtssichere Formulierungen

  - name: "Unterrichtsplanung"
    description: "Hilfe bei der Unterrichtsvorbereitung"
    icon: "Calendar"
    default: false
    endpoint: "custom"
    model: "mistralai/Mistral-7B-Instruct-v0.3"
    modelLabel: "BreakPilot Teacher"
    promptPrefix: |
      Du bist ein hilfreicher Assistent für Lehrkräfte an deutschen Schulen.
      Du hilfst bei der Unterrichtsplanung:
      - Stundenentwürfe erstellen
      - Lernziele formulieren
      - Methodenauswahl
      - Materialsammlung
      - Zeitplanung

      Orientiere dich an:
      - Kompetenzorientierung
      - Schüleraktivierung
      - Differenzierung
      - Medieneinsatz

  - name: "Allgemein"
    description: "Allgemeiner Schulassistent"
    icon: "School"
    default: true
    endpoint: "custom"
    model: "mistralai/Mistral-7B-Instruct-v0.3"
    modelLabel: "BreakPilot Teacher"
    promptPrefix: |
      Du bist ein hilfreicher Assistent für Lehrkräfte an deutschen Schulen.
      Du unterstützt bei:
      - Kommunikation mit Eltern
      - Feedback-Formulierungen für Schüler
      - Unterrichtsplanung und Differenzierung
      - Administrativen Aufgaben

      Wichtig:
      - Verwende professionelle, respektvolle Sprache
      - Berücksichtige pädagogische Grundsätze
      - Beachte deutsche Schulgesetze und Datenschutz
      - Formuliere konstruktiv und lösungsorientiert

# =============================================================================
# Interface-Einstellungen
# =============================================================================

interface:
  # Menü-Optionen
  privacyPolicy:
    externalUrl: "https://breakpilot.de/datenschutz"
    openNewTab: true
  termsOfService:
    externalUrl: "https://breakpilot.de/nutzungsbedingungen"
    openNewTab: true

  # Sidebar-Layout
  endpointsMenu: true
  modelSelect: true
  parameters: true
  sidePanel: true
  presets: true

# =============================================================================
# Registrierung & Auth
# =============================================================================

registration:
  socialLogins: []
  allowedDomains: []

# =============================================================================
# Ratenkontrolle
# =============================================================================

rateLimits:
  fileUploads:
    ipMax: 100
    ipWindowInMinutes: 60
    userMax: 50
    userWindowInMinutes: 60
  conversationsImport:
    ipMax: 100
    ipWindowInMinutes: 60
    userMax: 50
    userWindowInMinutes: 60
