Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Konfigurationsstruktur

Hinweis: Felder, die nicht ausdrücklich als erforderlich genannt werden, sind optional.

version

  • erforderlich
KeyTypeDescriptionExample
versionStringGibt die Version der Konfigurationsdatei an.version: 1.3.13

cache

KeyTypeDescriptionExample
cacheBooleanSchaltet das Caching ein oder aus. Auf `true` setzen, um das Caching zu aktivieren (Standard).cache: true

skillSync

KeyTypeDescriptionExample
skillSyncObjectKonfiguriert das externe Skill-Mirroring. In v1.3.13 wird GitHub Skill Sync unterstützt.

siehe: Skill Sync Object Structure

messageFilter

KeyTypeDescriptionExample
messageFilterObjectKonfiguriert serverseitige Nachrichtenfilter. In v1.3.13 kann `messageFilter.pii` Text, der Anmeldedaten ähnelt, vor Modellaufrufen und Persistenz ablehnen.

siehe: Message Filter Object Structure

fileStrategy

  • Optionen: "local" | "firebase" | "s3" | "azure_blob" | "cloudfront"
KeyTypeDescriptionExample
fileStrategyStringBestimmt, wo hochgeladene/generierte Benutzerdateien gespeichert werden. Standardmäßig auf `"local"` gesetzt, falls weggelassen.fileStrategy: "firebase"
  • Hinweise:
    • "cloudfront" speichert Dateien in S3 und gibt CloudFront-URLs für eine stabile Medienbereitstellung, signierte Cookies und signierte Downloads zurück.
    • "firebase" stellt Dateien über Firebase Storage und Firebase Hosting Edge-Standorte bereit.
    • S3 stellt Dateien über presigned URLs (temporäre signierte Token) bereit, die ablaufen. Sobald sie abgelaufen sind, wird jedes Bild oder jeder Avatar, der auf diese URL verweist, in der Benutzeroberfläche als defekt angezeigt. Dies macht S3 ungeeignet als primäre Strategie für visuelle Assets. Weitere Einzelheiten finden Sie in der zugehörigen Diskussion.
    • Für die beste Leistung von Bildern und Avataren verwenden Sie "cloudfront" oder "firebase", oder konfigurieren Sie fileStrategies, um avatar und image an eine CDN-gestützte Strategie weiterzuleiten.
    • Bitte lesen Sie die File Storage & CDN documentation für Details zur Einrichtung.

fileStrategies

Ermöglicht eine granulare Kontrolle über Dateispeicherstrategien für verschiedene Dateitypen.

  • Verfügbare Strategien: "local" | "firebase" | "s3" | "azure_blob" | "cloudfront"
KeyTypeDescriptionExample
fileStrategiesObjectKonfiguriert verschiedene Speicherstrategien für unterschiedliche Dateitypen. Flexibler als die einzelne fileStrategy-Option.

Untergeordnete Schlüssel:

KeyTypeDescriptionExample
defaultStringFallback-Speicherstrategie, wenn kein spezifischer Typ definiert ist. Standardmäßig auf "local" gesetzt.
avatarStringSpeicherstrategie für Benutzer- und Agenten-Avatarbilder. Für eine optimale Leistung wird eine CDN-gestützte Strategie (`"cloudfront"` oder `"firebase"`) empfohlen.
imageStringSpeicherstrategie für in Chats hochgeladene Bilder. Für eine optimale Leistung wird die Verwendung einer CDN-gestützten Strategie (`"cloudfront"` oder `"firebase"`) empfohlen.
documentStringSpeicherstrategie für Dokumenten-Uploads (PDFs, Textdateien usw.).
skillsStringSpeicherstrategie für Dateien, die mit Skills gebündelt sind.
  • Hinweise:
    • Diese Einstellung hat Vorrang vor der einzelnen fileStrategy-Option
    • Wenn ein bestimmter Dateityp nicht konfiguriert ist, wird auf default zurückgegriffen, dann auf fileStrategy und schließlich auf "local".
    • Bilder und Avatare benötigen persistente, stabile URLs, um in der gesamten UI korrekt gerendert zu werden. S3-presigned URLs laufen ab (AWS-Limit: 7 Tage für IAM-Benutzer, Stunden für STS/rollenbasierte Anmeldeinformationen), was zu defekten Bildern in der Modellauswahl und der Chat-UI führt. Siehe die zugehörige Diskussion für den vollständigen Kontext. Verwenden Sie "cloudfront" oder "firebase" für avatar und image, um dies zu vermeiden.
    • S3 und Azure Blob Storage eignen sich gut für die document-Speicherung, bei der kurzlebige, vorab signierte Download-URLs angemessen sind.
    • Bitte lesen Sie die File Storage & CDN documentation für Einrichtungsdetails zu den jeweiligen Speicheranbietern.

Beispiele:

# Use a single strategy for all file types
fileStrategies:
  default: 's3'
# Route images and avatars to CDN, keep documents in object storage
fileStrategies:
  avatar: 'cloudfront' # CDN delivery for avatars
  image: 'cloudfront' # CDN delivery for generated/uploaded images
  document: 's3' # Object storage for documents
# Only configure specific types, others use default
fileStrategies:
  default: 'local'
  avatar: 'firebase' # Only avatars use Firebase CDN, everything else is local

cloudfront

Schlüssel:

KeyTypeDescriptionExample
cloudfrontObjectKonfiguriert die CloudFront-Bereitstellung für in S3 gespeicherte Dateien.

Untergeordnete Schlüssel:

KeyTypeDescriptionExample
domainStringCloudFront-Distributions-Domain oder CNAME. Erforderlich, wenn eine Dateistrategie `"cloudfront"` verwendet.domain: "https://cdn.example.com"
distributionIdStringCloudFront-Verteilungs-ID. Erforderlich, wenn `invalidateOnDelete` auf true gesetzt ist.distributionId: "E1234ABCD"
invalidateOnDeleteBooleanErstellt eine CloudFront-Invalidierung für gelöschte Dateien. Standard: false.invalidateOnDelete: false
imageSigningStringSteuert den Zugriff auf Inline-Bilder/Avatare. Optionen: `"none"` oder `"cookies"`. `"url"` ist reserviert und für Bilder nicht implementiert.imageSigning: "cookies"
cookieDomainStringFür signierte Cookies ist eine gemeinsame übergeordnete Cookie-Domain erforderlich. Muss mit einem Punkt beginnen.cookieDomain: ".example.com"
cookieExpiryNumberLebensdauer des signierten Cookies in Sekunden. Standard: 1800, Maximum: 604800.cookieExpiry: 1800
urlExpiryNumberLebensdauer der signierten CloudFront-Download-URL in Sekunden. Standard: 3600.urlExpiry: 3600
storageRegionStringOptionale Regionsbezeichnung, die in generierten Objektschlüsseln verwendet wird, wenn Regionspfade aktiviert sind.storageRegion: "us-east-2"
includeRegionInPathBooleanBeinhaltet die Speicherregion in neu generierten Objektschlüsseln. Standard: false.includeRegionInPath: false
requireSignedAccessBooleanVerweigert den Start, wenn der signierte CloudFront-Cookie-Zugriff nicht initialisiert werden kann. Standard: false.requireSignedAccess: true

siehe: CloudFront Object Structure und CloudFront with S3

filteredTools

KeyTypeDescriptionExample
filteredToolsArray of StringsFiltert bestimmte Tools sowohl aus den Plugins- als auch aus den OpenAI Assistants-endpoints heraus.filteredTools: ["scholarai", "calculator"]
  • Hinweise:
    • Wenn sowohl includedTools als auch filteredTools angegeben sind, wird nur includedTools erkannt.
    • Betrifft sowohl gptPlugins als auch assistants endpoint.
    • Sie finden die Namen der zu filternden Tools in api/app/clients/tools/manifest.json
      • Verwenden Sie den pluginKey-Wert
    • Außerdem alle, die unter dem Verzeichnis ".well-known" api/app/clients/tools/.well-known aufgeführt sind
      • Verwenden Sie den Wert name_for_model

includedTools

KeyTypeDescriptionExample
includedToolsArray of StringsEnthält spezifische Tools sowohl von Plugins- als auch von OpenAI Assistants-endpoint.includedTools: ["calculator"]
  • Hinweise:
    • Wenn sowohl includedTools als auch filteredTools angegeben sind, wird nur includedTools erkannt.
    • Betrifft sowohl gptPlugins als auch assistants endpoint.
    • Sie finden die Namen der zu filternden Tools in api/app/clients/tools/manifest.json
      • Verwenden Sie den pluginKey-Wert
    • Außerdem alle, die unter dem Verzeichnis ".well-known" api/app/clients/tools/.well-known aufgeführt sind
      • Verwenden Sie den Wert name_for_model
KeyTypeDescriptionExample
secureImageLinksBooleanOb der Zugriff auf Bild-Links, die lokal von der App gehostet werden, gesichert werden soll oder nicht. Standard: false.secureImageLinks: true

imageOutputType

  • Hinweis: Groß-/Kleinschreibung beachten. Der Google endpoint unterstützt nur die Ausgabetypen "jpeg" und "png".
  • Optionen: "png" | "webp" | "jpeg"
KeyTypeDescriptionExample
imageOutputTypeStringDer Bildausgabetyp für Bildantworten. Standardmäßig "png", falls weggelassen.imageOutputType: "webp"

ocr

Schlüssel:

KeyTypeDescriptionExample
ocrObjectKonfiguriert die Einstellungen für die optische Zeichenerkennung (OCR) zum Extrahieren von Text aus Bildern.

Untergeordnete Schlüssel:

KeyTypeDescriptionExample
apiKeyStringDer API-Schlüssel für den OCR-Dienst.
baseURLStringDie Basis-URL für die API des OCR-Dienstes.
strategyStringDie zu verwendende OCR-Strategie. Optionen sind "mistral_ocr", "azure_mistral_ocr", "vertexai_mistral_ocr", "document_parser" oder "custom_ocr".
mistralModelStringDas für die OCR-Verarbeitung zu verwendende Mistral-Modell.

siehe: OCR Config Object Structure

webSearch

Schlüssel:

KeyTypeDescriptionExample
webSearchObjectKonfiguriert die Websuchfunktion, einschließlich Suchanbietern, Content-Scrapern und Ergebnis-Rerankern.

Untergeordnete Schlüssel:

KeyTypeDescriptionExample
serperApiKeyStringUmgebungsvariablenname für den Serper API-Schlüssel. Falls dieser nicht in der .env gesetzt ist, werden Benutzer aufgefordert, ihn über die UI einzugeben.
searxngInstanceUrlStringUmgebungsvariablenname für die SearXNG-Instanz-URL. Wenn dieser nicht in der .env gesetzt ist, werden Benutzer aufgefordert, ihn über die UI anzugeben.
searxngApiKeyStringUmgebungsvariablenname für den SearXNG API-Schlüssel. Falls nicht in der .env gesetzt, werden Benutzer aufgefordert, diesen über die UI einzugeben.
tavilyApiKeyStringUmgebungsvariablenname für den Tavily API-Schlüssel. Wird sowohl für die Suche als auch für den Scraper verwendet. Falls nicht in der .env gesetzt, werden Benutzer aufgefordert, diesen über die UI einzugeben.
tavilySearchUrlStringUmgebungsvariablenname für eine benutzerdefinierte Tavily Search API-URL. Optional; standardmäßig wird die von Tavily gehostete Suche verwendet, wenn keine Angabe erfolgt.
tavilyExtractUrlStringUmgebungsvariablenname für eine benutzerdefinierte Tavily Extract API-URL. Optional; standardmäßig wird das von Tavily gehostete Extract verwendet, wenn keine Angabe erfolgt.
firecrawlApiKeyStringUmgebungsvariablenname für den Firecrawl API-Schlüssel. Wenn dieser nicht in der .env gesetzt ist, werden Benutzer aufgefordert, ihn über die UI einzugeben.
firecrawlApiUrlStringUmgebungsvariablenname für die Firecrawl API-URL. Wenn dieser nicht in der .env gesetzt ist, werden Benutzer aufgefordert, ihn über die UI anzugeben.
jinaApiKeyStringUmgebungsvariablenname für den Jina API-Schlüssel. Falls dieser nicht in der .env gesetzt ist, werden Benutzer aufgefordert, ihn über die UI einzugeben.
cohereApiKeyStringUmgebungsvariablenname für den Cohere API-Schlüssel. Wenn dieser nicht in der .env gesetzt ist, werden Benutzer aufgefordert, ihn über die UI einzugeben.
searchProviderStringGibt an, welcher Suchanbieter verwendet werden soll. Optionen: "serper", "searxng", "tavily".
scraperProviderStringGibt an, welcher Scraper-Dienst verwendet werden soll. Optionen: "firecrawl", "serper", "tavily".
firecrawlVersionStringGibt die Firecrawl API-Version an (v0 oder v1).
rerankerTypeStringGibt an, welcher Reranker-Dienst verwendet werden soll. Auf "none" setzen, um das Reranking zu überspringen. Optionen: "jina", "cohere", "none".
scraperTimeoutIntegerTimeout in Millisekunden für Scraper-Anfragen. Muss eine nicht-negative Ganzzahl sein.
safeSearchNumberSicherheitsfilter-Stufe für die Suche. 0 = AUS, 1 = MODERAT (Standard), 2 = STRENG.

siehe: Web Search Object Structure

fileConfig

Schlüssel:

KeyTypeDescriptionExample
fileConfigObjectKonfiguriert die Einstellungen für die Dateiverarbeitung der Anwendung, einschließlich Größenbeschränkungen und MIME-Typ-Einschränkungen.

Untergeordnete Schlüssel:

KeyTypeDescriptionExample
endpointsRecord/ObjectLegt Dateiverarbeitungskonfigurationen für einzelne endpoints fest und ermöglicht eine Anpassung auf endpoint-Basis.
serverFileSizeLimitNumberDie maximale Dateigröße (in MB), die der Server akzeptiert. Gilt global für alle endpoint, sofern sie nicht durch endpoint-spezifische Einstellungen überschrieben wird.
avatarSizeLimitNumberMaximale Größe (in MB) für Benutzer-Avatar-Bilder.
clientImageResizeObjectKonfiguriert die clientseitige Bildgrößenanpassung, um Datei-Uploads zu optimieren und Upload-Fehler aufgrund zu großer Bilddateien zu verhindern.
ocrObjectEinstellungen für die OCR-Dateiverarbeitung (Optical Character Recognition).
textObjectEinstellungen für die direkte Textdateianalyse.
sttObjectEinstellungen für die Verarbeitung von Speech-to-Text (STT)-Audiodateien.
fileTokenLimitNumberMaximale Anzahl an Tokens aus Textdateien, die vor dem Kürzen in Prompts einbezogen werden sollen.fileTokenLimit: 100000

clientImageResize

Schlüssel:

KeyTypeDescriptionExample
clientImageResizeObjectKonfiguriert die clientseitige Bildgrößenanpassung, um Datei-Uploads zu optimieren und Upload-Fehler aufgrund zu großer Bilddateien zu verhindern.

Untergeordnete Schlüssel:

KeyTypeDescriptionExample
enabledBooleanAktiviert oder deaktiviert die clientseitige Bildgrößenänderungsfunktion. Standard: false.enabled: true
maxWidthNumberMaximale Breite in Pixeln für skalierte Bilder. Bilder, die breiter als dieser Wert sind, werden skaliert. Standard: 1920.maxWidth: 1024
maxHeightNumberMaximale Höhe in Pixeln für skalierte Bilder. Bilder, die höher als dieser Wert sind, werden skaliert. Standard: 1080.maxHeight: 768
qualityNumberJPEG-Komprimierungsqualität (0.1 bis 1.0). Höhere Werte bedeuten bessere Qualität, aber größere Dateigrößen. Standard: 0.8.quality: 0.9
compressFormatStringAusgabeformat für komprimierte Bilder. Optionen: "jpeg", "webp". Standard: "jpeg".compressFormat: "webp"

Beschreibung:

Die clientImageResize-Konfiguration ermöglicht die automatische clientseitige Bildgrößenanpassung vor dem Hochladen. Diese Funktion hilft dabei:

  • Verhindern Sie Upload-Fehler, die durch große Bilddateien entstehen, welche die Serverlimits überschreiten
  • Bandbreitennutzung reduzieren, indem Bilder vor der Übertragung komprimiert werden
  • Verbessern Sie die Upload-Leistung mit kleineren Dateigrößen
  • Bildqualität beibehalten bei gleichzeitiger Optimierung der Dateigröße

Wenn aktiviert, werden Bilder, die die angegebenen maxWidth- oder maxHeight-Dimensionen überschreiten, automatisch auf der Client-Seite in der Größe angepasst, bevor sie auf den Server hochgeladen werden. Die Größenänderung behält das ursprüngliche Seitenverhältnis bei und stellt gleichzeitig sicher, dass das Bild innerhalb der angegebenen Grenzen bleibt.

Beispiel:

fileConfig:
  clientImageResize:
    enabled: true
    maxWidth: 1920
    maxHeight: 1080
    quality: 0.8
    compressFormat: 'jpeg'

Hinweise:

  • Gilt nur für Bilddateien (JPEG, PNG, WebP, etc.)
  • Die Größenanpassung erfolgt automatisch, wenn Bilder die angegebenen Abmessungen überschreiten.
  • Das ursprüngliche Seitenverhältnis bleibt bei der Größenänderung erhalten
  • Die Funktion funktioniert mit allen unterstützten Endpoints für den Bildupload.
  • Die Qualitätseinstellung gilt nur für JPEG- und WebP-Formate
  • Das Einstellen einer zu niedrigen Qualität (< 0,5) kann zu einer sichtbaren Verschlechterung der Bildqualität führen.

siehe: Struktur des Dateikonfigurationsobjekts

rateLimits

Schlüssel:

KeyTypeDescriptionExample
rateLimitsObjectDefiniert Richtlinien zur Ratenbegrenzung, um Missbrauch durch die Begrenzung der Anzahl von Anfragen zu verhindern.

Untergeordnete Schlüssel:

KeyTypeDescriptionExample
fileUploadsObjectKonfiguriert Ratenbegrenzungen speziell für Datei-Upload-Vorgänge.
conversationsImportObjectKonfiguriert Ratenbegrenzungen speziell für Vorgänge zum Importieren von Unterhaltungen.
sttObjectKonfiguriert Ratenbegrenzungen speziell für Speech-to-Text (stt)-Anfragen
ttsObjectKonfiguriert Ratenbegrenzungen speziell für Text-to-Speech (tts)-Anfragen

fileUploads Unter-Keys:

KeyTypeDescriptionExample
ipMaxNumberMaximale Anzahl der erlaubten Uploads pro IP-Adresse pro Zeitfenster.
ipWindowInMinutesNumberZeitfenster in Minuten für das IP-basierte Upload-Limit.
userMaxNumberMaximale Anzahl der erlaubten Uploads pro Benutzer pro Zeitfenster.
userWindowInMinutesNumberZeitfenster in Minuten für das benutzerbasierte Upload-Limit.

conversationsImport Unter-Keys:

KeyTypeDescriptionExample
ipMaxNumberMaximale Anzahl an Importen pro IP-Adresse pro Zeitfenster.
ipWindowInMinutesNumberZeitfenster in Minuten für das IP-basierte Import-Limit.
userMaxNumberMaximale Anzahl an Importen pro Benutzer pro Fenster.
userWindowInMinutesNumberZeitfenster in Minuten für das benutzerbasierte Import-Limit.

tts-Unterkeys:

KeyTypeDescriptionExample
ipMaxNumberMaximale Anzahl der erlaubten Anfragen pro IP-Adresse und Zeitfenster.
ipWindowInMinutesNumberZeitfenster in Minuten für das IP-basierte Anfrage-Limit.
userMaxNumberMaximale Anzahl an Anfragen pro Benutzer pro Zeitfenster.
userWindowInMinutesNumberZeitfenster in Minuten für das benutzerbasierte Anfragelimit.

stt-Unterkeys:

KeyTypeDescriptionExample
ipMaxNumberMaximale Anzahl der erlaubten Anfragen pro IP-Adresse und Zeitfenster.
ipWindowInMinutesNumberZeitfenster in Minuten für das IP-basierte Anfrage-Limit.
userMaxNumberMaximale Anzahl an Anfragen pro Benutzer pro Zeitfenster.
userWindowInMinutesNumberZeitfenster in Minuten für das benutzerbasierte Anfragelimit.
  • Beispiel:
rateLimits:
  fileUploads:
    ipMax: 100
    ipWindowInMinutes: 60
    userMax: 50
    userWindowInMinutes: 60
  conversationsImport:
    ipMax: 100
    ipWindowInMinutes: 60
    userMax: 50
    userWindowInMinutes: 60
  stt:
    ipMax: 100
    ipWindowInMinutes: 1
    userMax: 50
    userWindowInMinutes: 1
  tts:
    ipMax: 100
    ipWindowInMinutes: 1
    userMax: 50
    userWindowInMinutes: 1

registration

Schlüssel:

KeyTypeDescriptionExample
registrationObjectKonfiguriert die registrierungsbezogenen Einstellungen für die Anwendung.

Untergeordnete Schlüssel:

KeyTypeDescriptionExample
socialLoginsKonfigurationen für Social Login.
allowedDomainsLegt die für die Registrierung zulässigen Domains fest.

siehe auch:

memory

Schlüssel:

KeyTypeDescriptionExample
memoryObjectKonfiguriert den Konversationsspeicher und die Personalisierungsfunktionen für die Anwendung.

Untergeordnete Schlüssel:

KeyTypeDescriptionExample
disabledBooleanDeaktiviert die Speicherfunktionalität, wenn auf true gesetzt.
validKeysArray of StringsGibt an, welche Schlüssel für die Speicherverwaltung gültig sind.
tokenLimitNumberLegt die maximale Anzahl an Token für die Speicherung und Verarbeitung im Arbeitsspeicher fest.
charLimitNumberLegt die maximale Anzahl an Zeichen für den Speicher fest. Standard: 10000.
maxInputTokensNumberBegrenzt die Anzahl der Tokens aus dem kürzlichen Chatverlauf, die vor der Extraktion an den automatischen Memory-Agenten gesendet werden. Standardwert: 12000.
personalizeBooleanAktiviert oder deaktiviert Personalisierungsfunktionen.
messageWindowSizeNumberGibt die Anzahl der kürzlichen Nachrichten an, die in den Speicherkontext einbezogen werden sollen.
agentObject | UnionKonfiguriert den Agenten, der für die Speicherverarbeitung zuständig ist.

siehe: Memory Object Structure

summarization

Schlüssel:

KeyTypeDescriptionExample
summarizationObjectKonfiguriert die Konversationszusammenfassung und das Kontext-Pruning. Ersetzt die pro-endpoint `summarize` und `summaryModel` Felder.

Untergeordnete Schlüssel:

KeyTypeDescriptionExample
providerStringLLM-Anbieter für Zusammenfassungsaufrufe. Standardmäßig der eigene Anbieter des Agenten.
modelStringModell für Zusammenfassungsaufrufe. Standardmäßig das eigene Modell des Agenten.
parametersObjectZusätzliche LLM-Parameter für Zusammenfassungsanfragen.
promptStringBenutzerdefinierter Prompt für die anfängliche Zusammenfassung.
updatePromptStringBenutzerdefinierter Prompt für die erneute Komprimierung, wenn bereits eine Zusammenfassung existiert.
triggerObjectDefiniert, wann die Zusammenfassung ausgelöst wird (nach Token-Verhältnis, verbleibenden Token oder Nachrichtenanzahl).
maxSummaryTokensNumberMaximale Ausgabe-Tokens für die Antwort des Zusammenfassungsmodells.
reserveRatioNumberAnteil des Token-Budgets, der als Spielraum reserviert ist (0–1). Standard: 0.05.
contextPruningObjectKonfiguriert die positionsbasierte Verschlechterung von Tool-Ergebnissen für ältere Nachrichten.

siehe: Struktur des Zusammenfassungs-Objekts

actions

Schlüssel:

KeyTypeDescriptionExample
actionsObjectKonfiguriert aktionsbezogene Einstellungen, die von Agents und Assistants verwendet werden

Untergeordnete Schlüssel:

KeyTypeDescriptionExample
allowedDomainsArray of StringsStrenge Whitelist von Domains für Aktionen. Wenn diese festgelegt ist, sind nur die aufgelisteten Domains erreichbar.
allowedAddressesArray of StringsSSRF-Ausnahmeliste (nur privater IP-Bereich). Erlaubt spezifische private host:port-Dienste, ohne öffentliche Ziele einzuschränken, wenn `allowedDomains` nicht konfiguriert ist.

siehe auch:

interface

Schlüssel:

KeyTypeDescriptionExample
interfaceObjectKonfiguriert Benutzeroberflächenelemente innerhalb der Anwendung und ermöglicht die Anpassung der Sichtbarkeit und des Verhaltens verschiedener Komponenten.

Untergeordnete Schlüssel:

KeyTypeDescriptionExample
privacyPolicyObjectEnthält Einstellungen bezüglich des bereitgestellten Links zur Datenschutzrichtlinie.
termsOfServiceObjectEnthält Einstellungen bezüglich des bereitgestellten Links zu den Nutzungsbedingungen.
modelSelectBooleanBestimmt, ob die Modellauswahlfunktion verfügbar ist.
parametersBooleanSchaltet die Sichtbarkeit der Parameter-Konfigurationsoptionen, auch bekannt als Konversationseinstellungen, um.
presetsBooleanAktiviert oder deaktiviert das Menü für Presets
promptsBoolean or ObjectAktiviert oder deaktiviert alle prompt-bezogenen Funktionen für alle Benutzer
bookmarksBooleanAktiviert oder deaktiviert alle Lesezeichen-Funktionen für alle Benutzer
memoriesBooleanAktiviert oder deaktiviert die Memories-Funktion für alle Benutzer
multiConvoBooleanAktiviert oder deaktiviert alle Funktionen für „Multi-Convo“, auch bekannt als Multi-Response-Streaming, für alle Benutzer
agentsBoolean or ObjectAktiviert oder deaktiviert alle Agenten-Funktionen für alle Benutzer
temporaryChatBooleanAktiviert oder deaktiviert die Funktion für temporären Chat
temporaryChatRetentionNumberKonfiguriert den Aufbewahrungszeitraum für temporäre Chats in Stunden. Min: 1, Max: 8760. Standard: 720 (30 Tage).
autoSubmitFromUrlBooleanSteuert, ob `/c/new?prompt=…&submit=true` automatisch an das Modell übermittelt wird. Wenn `false`, wird der Prompt vorausgefüllt, aber nicht übermittelt.
mcpServersObjectEnthält Einstellungen bezüglich der MCP-Serverauswahl und der Zugriffskontrolle.
customWelcomeStringBenutzerdefinierte Willkommensnachricht, die in der Chat-Oberfläche angezeigt wird.
runCodeBooleanAktiviert oder deaktiviert die Schaltfläche „Code ausführen“ für Markdown-Codeblöcke
webSearchBooleanAktiviert oder deaktiviert die Websuch-Schaltfläche in der Chat-Oberfläche
fileSearchBooleanAktiviert oder deaktiviert die Dateisuche-Schaltfläche in der Chat-Oberfläche
fileCitationsBooleanAktiviert oder deaktiviert global Dateizitate für alle Benutzer
peoplePickerObjectKonfiguriert, welche Haupttypen in der Personenauswahl-Schnittstelle als Steuerelemente verfügbar sind
marketplaceObjectAktiviert oder deaktiviert den Zugriff auf den Agent Marketplace

siehe: Interface Object Structure

modelSpecs

Schlüssel:

KeyTypeDescriptionExample
modelSpecsObjectKonfiguriert Model Specs, was eine detaillierte Einrichtung und Anpassung von KI-Modellen und deren Verhalten innerhalb der Anwendung ermöglicht.

Untergeordnete Schlüssel:

KeyTypeDescriptionExample
enforceBooleanBestimmt, ob die Model Specs andere Konfigurationseinstellungen strikt überschreiben sollen.
prioritizeBooleanLegt fest, ob Model Specs Vorrang vor der Standardkonfiguration haben sollen, wenn beide anwendbar sind.
listArray of ObjectsEnthält eine Liste individueller Model Specs, die verschiedene Konfigurationen und Verhaltensweisen detailliert beschreiben.

siehe: Model Specs Object Structure

endpoints

Schlüssel:

KeyTypeDescriptionExample
endpointsObjectDefiniert benutzerdefinierte API-endpoints für die Anwendung.

Untergeordnete Schlüssel:

KeyTypeDescriptionExample
customArray of ObjectsJedes Objekt im Array repräsentiert eine eindeutige endpoint-Konfiguration.
azureOpenAIObjectAzure OpenAI endpoint-spezifische Konfiguration
assistantsObjectAssistants endpoint-spezifische Konfiguration.
azureAssistantsObjectAzure Assistants endpoint-spezifische Konfiguration.
agentsObjectAgents endpoint-spezifische Konfiguration.
allObjectGlobale endpoint-Einstellungen, die für alle endpoints gelten. Siehe Shared Endpoint Settings.
allowedAddressesArray of StringsSSRF-Ausnahmeliste (nur privater IP-Bereich). Erlaubt benutzerdefinierten baseURLs, auf spezifische private Host:Port-Dienste zu verweisen (z. B. selbst gehostetes Ollama), ohne den SSRF-Schutz für alles andere zu deaktivieren.

Hinweis: Endpoints unterstützen Shared Endpoint Settings wie streamRate, headers, titleModel, titleMethod, titlePrompt, titlePromptTemplate, titleEndpoint und maxToolResultChars. Diese können individuell pro Endpoint oder global über den all-Schlüssel konfiguriert werden. headers werden zusammengeführt, wobei die Werte auf Endpoint-Ebene bei Schlüsselkollisionen Vorrang haben. Der all-Schlüssel akzeptiert kein baseURL.

Hinweis: endpoints.allowedAddresses gilt für vom Benutzer bereitgestellte baseURL-Werte (wenn ein Administrator einen benutzerdefinierten endpoint mit apiKey: 'user_provided' und baseURL: 'user_provided' konfiguriert). Jede vom Benutzer bereitgestellte baseURL wird zum Zeitpunkt der Anfrage gegen den SSRF-Block validiert; die hier aufgeführten Einträge sind davon ausgenommen. Siehe mcpSettings.allowedAddresses für die Semantik des Feldes — es gelten dieselben Regeln (nur privater IP-Adressraum, Port erforderlich, keine URLs/Pfade/CIDR/nackte Hosts/öffentliche IP-Literale).

mcpSettings

Schlüssel:

KeyTypeDescriptionExample
mcpSettingsObjectDefiniert globale Einstellungen für Model Context Protocol (MCP) Server

Untergeordnete Schlüssel:

KeyTypeDescriptionExample
allowedDomainsArray of StringsStrenge Whitelist von Domains für MCP-Serververbindungen. Wenn diese festgelegt ist, sind nur die aufgeführten Einträge erreichbar.
allowedAddressesArray of StringsSSRF-Ausnahmeliste (nur privater IP-Bereich). Erlaubt spezifische private Host:Port-Dienste, ohne `allowedDomains` in den strikten Whitelist-Modus zu versetzen.
  • Hinweise:
    • Dies ist ein Sicherheitsfeature zum Schutz vor Missbrauch / Zweckentfremdung interner Adressen über MCP Server
    • Standardmäßig schränkt LibreChat die Verbindung von MCP-Servern zu internen, lokalen oder privaten Netzwerkadressen ein.
    • MCP-Server, die lokale IP-Adressen oder Domains verwenden, können entweder zur strikten allowedDomains-Whitelist hinzugefügt werden (welche dann die einzige erreichbare Menge darstellt) oder – um öffentliche Ziele weiterhin erreichbar zu halten – als exakte host:port-Dienste über allowedAddresses ausgenommen werden.
    • Wie bei allen yaml-Konfigurationsänderungen ist ein Neustart von LibreChat erforderlich, damit diese wirksam werden.
    • Unterstützt Domains, Wildcard-Subdomains (*.example.com), Docker-Domains und IP-Adressen

Beispiel:

mcpSettings:
  # Strict whitelist mode:
  # allowedDomains:
  #   - "example.com"           # Specific domain
  #   - "*.example.com"         # All subdomains
  #   - "http://mcp-server:3000" # Internal service, explicitly whitelisted

  # Default SSRF mode with private service exemptions:
  allowedAddresses:
    - 'host.docker.internal:8080' # Permit one private host on one port
    - '10.0.0.5:8000' # Permit one private IP on one port

siehe: MCP Settings Object Structure

mcpServers

Schlüssel:

KeyTypeDescriptionExample
mcpServersObjectDefiniert die Konfiguration für Model Context Protocol (MCP) Server und ermöglicht die dynamische Integration von MCP-Servern innerhalb der Anwendung.

Untergeordnete Schlüssel:

KeyTypeDescriptionExample
<serverName>ObjectJeder Schlüssel unter `mcpServers` repräsentiert eine individuelle MCP server Konfiguration, identifiziert durch einen eindeutigen Namen.
  • Hinweise:
    • Die Initialisierung erfolgt beim Start, und die App muss neu gestartet werden, damit Änderungen wirksam werden.
    • Der <serverName> ist ein eindeutiger Bezeichner für jede MCP Server-Konfiguration.
    • Jeder MCP server kann über einen von vier Verbindungstypen konfiguriert werden:
      • stdio
      • websocket
      • sse
      • streamable-http
    • Das Feld type gibt den Verbindungstyp zum MCP Server an.
    • Wenn type weggelassen wird, erfolgt die Standardeinstellung basierend auf dem Vorhandensein und dem Format von url oder command:
      • Wenn url angegeben ist und mit http oder https beginnt, ist der Standardwert für type sse.
      • Wenn url angegeben ist und mit ws oder wss beginnt, wird type standardmäßig auf websocket gesetzt.
      • Wenn command angegeben ist, ist der Standardwert für type stdio.
    • Zusätzliche Konfigurationsoptionen umfassen:
      • timeout: Timeout in Millisekunden für MCP-Server-Anfragen. Bestimmt, wie lange auf eine Antwort für Tool-Anfragen gewartet werden soll.
      • initTimeout: Timeout in Millisekunden für die MCP-Server-Initialisierung. Bestimmt, wie lange auf die Initialisierung des Servers gewartet werden soll.
      • serverInstructions: Steuert, ob Server-Anweisungen in den Agenten-Kontext einbezogen werden. Kann true (vom Server bereitgestellt verwenden), false (deaktiviert) oder eine benutzerdefinierte Zeichenfolge (überschreibt die vom Server bereitgestellten) sein.
      • customUserVars: (Optional) Definiert benutzerdefinierte Variablen (z. B. API-Schlüssel, URLs), die einzelne Benutzer für einen MCP-Server festlegen können. Diese benutzerspezifischen Werte, die über die Benutzeroberfläche bereitgestellt werden, können dann in den headers- oder env-Konfigurationen des Servers unter Verwendung der {{VARIABLE_NAME}}-Syntax referenziert werden. Dies ermöglicht eine benutzerspezifische Authentifizierung oder Anpassung für MCP-Tools.
    • siehe: MCP Servers Object Structure

Beispiel:

mcpServers:
  everything:
    # type: sse # type can optionally be omitted
    url: http://localhost:3001/sse
    timeout: 30000
    initTimeout: 10000
    serverInstructions: true # Use server-provided instructions
  puppeteer:
    type: stdio
    command: npx
    args:
      - -y
      - '@modelcontextprotocol/server-puppeteer'
    timeout: 30000
    initTimeout: 10000
    serverInstructions: 'Do not access any local files or local/internal IP addresses'
  filesystem:
    # type: stdio
    command: npx
    args:
      - -y
      - '@modelcontextprotocol/server-filesystem'
      - /home/user/LibreChat/
    iconPath: /home/user/LibreChat/client/public/assets/logo.svg
  mcp-obsidian:
    command: npx
    args:
      - -y
      - 'mcp-obsidian'
      - /path/to/obsidian/vault
  streamable-http-example:
    type: streamable-http
    url: https://example.com/mcp
    headers:
      Authorization: 'Bearer ${API_TOKEN}'
    timeout: 30000
  per-user-crendentials-example:
    type: sse
    url: 'https//some.mcp/sse'
    headers:
      X-Custom-Auth-Token: '{{USER_API_KEY}}' # Placeholder for the user-provided API key, defined in `customUserVars` below.
    customUserVars:
      USER_API_KEY:
        title: 'Service API Key'
        description: "Your personal API key for this service. You can get it <a href='https://example.com/api-keys' target='_blank'>here</a>."
    serverInstructions: true

siehe: MCP Servers Object Structure

speech

Schlüssel:

KeyTypeDescriptionExample
speechObjectKonfiguriert Text-to-Speech (TTS)- und Speech-to-Text (STT)-Anbieter für die Anwendung.

Untergeordnete Schlüssel:

KeyTypeDescriptionExample
ttsObjectKonfigurationen für Text-to-Speech-Anbieter (OpenAI, Azure OpenAI, ElevenLabs, LocalAI).
sttObjectKonfigurationen für Speech-to-Text-Anbieter (OpenAI, Azure OpenAI).
speechTabObjectStandard-UI-Einstellungen für Sprachfunktionen.

siehe: Speech Object Structure

turnstile

Schlüssel:

KeyTypeDescriptionExample
turnstileObjectKonfiguriert Cloudflare Turnstile für den Bot-Schutz bei Registrierungs- und Anmeldeformularen.

Untergeordnete Schlüssel:

KeyTypeDescriptionExample
siteKeyStringIhr Cloudflare Turnstile-Seitenschlüssel (erforderlich).
optionsObjectZusätzliche Turnstile-Widget-Optionen (optional).

siehe: Turnstile Object Structure

transactions

Schlüssel:

KeyTypeDescriptionExample
transactionsObjectSteuert Funktionen zur Transaktionsprotokollierung und Sichtbarkeit.

Untergeordnete Schlüssel:

KeyTypeDescriptionExample
enabledBooleanAktiviert oder deaktiviert die Transaktionsprotokollierung. Standard: true.

siehe: Struktur des Transaktionsobjekts

Wie finden Sie diese Anleitung?