fix: Restore all files lost during destructive rebase
A previous `git pull --rebase origin main` dropped 177 local commits,
losing 3400+ files across admin-v2, backend, studio-v2, website,
klausur-service, and many other services. The partial restore attempt
(660295e2) only recovered some files.
This commit restores all missing files from pre-rebase ref 98933f5e
while preserving post-rebase additions (night-scheduler, night-mode UI,
NightModeWidget dashboard integration).
Restored features include:
- AI Module Sidebar (FAB), OCR Labeling, OCR Compare
- GPU Dashboard, RAG Pipeline, Magic Help
- Klausur-Korrektur (8 files), Abitur-Archiv (5+ files)
- Companion, Zeugnisse-Crawler, Screen Flow
- Full backend, studio-v2, website, klausur-service
- All compliance SDKs, agent-core, voice-service
- CI/CD configs, documentation, scripts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
49
librechat/docker-compose.yml
Normal file
49
librechat/docker-compose.yml
Normal file
@@ -0,0 +1,49 @@
|
||||
version: '3.8'
|
||||
|
||||
# BreakPilot LibreChat Frontend
|
||||
# Startet LibreChat mit Custom Endpoint für vast.ai Mistral-7B
|
||||
|
||||
services:
|
||||
# LibreChat - Chat Frontend
|
||||
librechat:
|
||||
image: ghcr.io/danny-avila/librechat-dev:latest
|
||||
container_name: breakpilot-chat
|
||||
ports:
|
||||
- "3080:3080"
|
||||
depends_on:
|
||||
- mongodb
|
||||
- meilisearch
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- .env
|
||||
volumes:
|
||||
- ./librechat.yaml:/app/librechat.yaml:ro
|
||||
- ./images:/app/client/public/images
|
||||
- librechat_logs:/app/api/logs
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
|
||||
# MongoDB - LibreChat Datenbank
|
||||
mongodb:
|
||||
image: mongo:7.0
|
||||
container_name: breakpilot-mongo
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- mongodb_data:/data/db
|
||||
command: mongod --noauth
|
||||
|
||||
# Meilisearch - Volltextsuche für Conversations
|
||||
meilisearch:
|
||||
image: getmeili/meilisearch:v1.7
|
||||
container_name: breakpilot-search
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- MEILI_NO_ANALYTICS=true
|
||||
- MEILI_ENV=development
|
||||
volumes:
|
||||
- meilisearch_data:/meili_data
|
||||
|
||||
volumes:
|
||||
mongodb_data:
|
||||
meilisearch_data:
|
||||
librechat_logs:
|
||||
229
librechat/librechat.yaml
Normal file
229
librechat/librechat.yaml
Normal file
@@ -0,0 +1,229 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user