feat(chat): replace built-in chat with LibreChat SSO integration
All checks were successful
CI / Format (push) Successful in 26s
CI / Clippy (push) Successful in 3m0s
CI / Security Audit (push) Has been skipped
CI / Tests (push) Has been skipped
CI / Deploy (push) Has been skipped

Replaces the custom chat page with an external LibreChat instance that
shares Keycloak SSO for seamless auto-login. Removes Tools and Knowledge
Base pages as these are now handled by LibreChat's built-in capabilities.

- Add LibreChat service to docker-compose with Ollama backend config
- Add Keycloak OIDC client (certifai-librechat) with prompt=none for
  silent SSO
- Create librechat.yaml with CERTifAI branding, Ollama endpoint, and
  custom page title/logo
- Change sidebar Chat link to external URL (opens LibreChat in new tab)
- Remove chat page, tools page, knowledge base page and all related
  components (chat_sidebar, chat_bubble, chat_input_bar, etc.)
- Remove tool_card, file_row components and tool/knowledge models
- Remove chat_stream SSE handler (no longer needed)
- Clean up i18n files: remove chat, tools, knowledge sections
- Dashboard article summarization via Ollama remains intact

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Sharang Parnerkar
2026-02-23 13:37:17 +01:00
parent d814e22f9d
commit 74a225224c
32 changed files with 200 additions and 2118 deletions

View File

@@ -38,8 +38,6 @@
"dashboard": "Dashboard",
"providers": "Provider",
"chat": "Chat",
"tools": "Werkzeuge",
"knowledge_base": "Wissensdatenbank",
"developer": "Entwickler",
"organization": "Organisation",
"switch_light": "Zum hellen Modus wechseln",
@@ -72,28 +70,6 @@
"trending": "Im Trend",
"recent_searches": "Letzte Suchen"
},
"chat": {
"new_chat": "Neuer Chat",
"general": "Allgemein",
"conversations": "Unterhaltungen",
"news_chats": "Nachrichten-Chats",
"all_chats": "Alle Chats",
"no_conversations": "Noch keine Unterhaltungen",
"type_message": "Nachricht eingeben...",
"model_label": "Modell:",
"no_models": "Keine Modelle verfuegbar",
"send_to_start": "Senden Sie eine Nachricht, um die Unterhaltung zu starten.",
"you": "Sie",
"assistant": "Assistent",
"thinking": "Denkt nach...",
"copy_response": "Letzte Antwort kopieren",
"copy_conversation": "Unterhaltung kopieren",
"edit_last": "Letzte Nachricht bearbeiten",
"just_now": "gerade eben",
"minutes_ago": "vor {n} Min.",
"hours_ago": "vor {n} Std.",
"days_ago": "vor {n} T."
},
"providers": {
"title": "Provider",
"subtitle": "Konfigurieren Sie Ihre LLM- und Embedding-Backends",
@@ -107,37 +83,6 @@
"active_config": "Aktive Konfiguration",
"embedding": "Embedding"
},
"tools": {
"title": "Werkzeuge",
"subtitle": "MCP-Server und Werkzeugintegrationen verwalten",
"calculator": "Taschenrechner",
"calculator_desc": "Mathematische Berechnungen und Einheitenumrechnung",
"tavily": "Tavily-Suche",
"tavily_desc": "KI-optimierte Websuche-API fuer Echtzeitinformationen",
"searxng": "SearXNG",
"searxng_desc": "Datenschutzfreundliche Metasuchmaschine",
"file_reader": "Dateileser",
"file_reader_desc": "Lokale Dateien in verschiedenen Formaten lesen und analysieren",
"code_executor": "Code-Ausfuehrer",
"code_executor_desc": "Isolierte Codeausfuehrung fuer Python und JavaScript",
"web_scraper": "Web-Scraper",
"web_scraper_desc": "Strukturierte Daten aus Webseiten extrahieren",
"email_sender": "E-Mail-Versand",
"email_sender_desc": "E-Mails ueber konfigurierten SMTP-Server versenden",
"git_ops": "Git-Operationen",
"git_ops_desc": "Mit Git-Repositories fuer Versionskontrolle interagieren"
},
"knowledge": {
"title": "Wissensdatenbank",
"subtitle": "Dokumente fuer RAG-Abfragen verwalten",
"search_placeholder": "Dateien suchen...",
"name": "Name",
"type": "Typ",
"size": "Groesse",
"chunks": "Abschnitte",
"uploaded": "Hochgeladen",
"actions": "Aktionen"
},
"developer": {
"agents_title": "Agent Builder",
"agents_desc": "Erstellen und verwalten Sie KI-Agenten mit LangGraph. Erstellen Sie mehrstufige Schlussfolgerungspipelines, werkzeugnutzende Agenten und autonome Workflows.",