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

Structure de la configuration

Remarque : Les champs qui ne sont pas explicitement mentionnés comme requis sont facultatifs.

version

  • requis
KeyTypeDescriptionExample
versionStringSpécifie la version du fichier de configuration.version: 1.3.13

cache

KeyTypeDescriptionExample
cacheBooleanActive ou désactive la mise en cache. Définissez sur `true` pour activer la mise en cache (par défaut).cache: true

skillSync

KeyTypeDescriptionExample
skillSyncObjectConfigure la mise en miroir externe des Skills. Dans la v1.3.13, la synchronisation des Skills GitHub est prise en charge.

voir : Structure de l'objet Skill Sync

messageFilter

KeyTypeDescriptionExample
messageFilterObjectConfigure les filtres de message cÎté serveur. Dans la v1.3.13, `messageFilter.pii` peut rejeter le texte soumis ayant la forme d'identifiants avant les appels au modÚle et la persistance.

voir : Structure de l'objet de filtrage des messages

fileStrategy

  • Options : "local" | "firebase" | "s3" | "azure_blob" | "cloudfront"
KeyTypeDescriptionExample
fileStrategyStringDĂ©termine oĂč enregistrer les fichiers tĂ©lĂ©chargĂ©s/gĂ©nĂ©rĂ©s par l'utilisateur. DĂ©fini par dĂ©faut sur `"local"` si omis.fileStrategy: "firebase"
  • Notes :
    • "cloudfront" stocke les fichiers dans S3 et renvoie des URLs CloudFront pour une diffusion stable des mĂ©dias, des cookies signĂ©s et des tĂ©lĂ©chargements signĂ©s.
    • "firebase" sert des fichiers via le stockage Firebase et les emplacements de pĂ©riphĂ©rie (edge locations) de Firebase Hosting.
    • S3 sert les fichiers via des presigned URLs (jetons signĂ©s temporaires) qui expirent. Une fois expirĂ©e, toute image ou avatar faisant rĂ©fĂ©rence Ă  cette URL apparaĂźtra comme brisĂ© dans l'interface utilisateur. Cela rend S3 inadaptĂ© comme stratĂ©gie principale pour les ressources visuelles. Voir la discussion associĂ©e pour plus de dĂ©tails.
    • Pour une performance optimale des images et des avatars, utilisez "cloudfront" ou "firebase", ou configurez fileStrategies pour acheminer avatar et image vers une stratĂ©gie basĂ©e sur un CDN.
    • Veuillez vous rĂ©fĂ©rer Ă  la documentation File Storage & CDN pour les dĂ©tails de configuration.

fileStrategies

Permet un contrÎle granulaire sur les stratégies de stockage de fichiers pour différents types de fichiers.

  • StratĂ©gies disponibles : "local" | "firebase" | "s3" | "azure_blob" | "cloudfront"
KeyTypeDescriptionExample
fileStrategiesObjectConfigure différentes stratégies de stockage pour différents types de fichiers. Plus flexible que l'option fileStrategy unique.

Sous-clés :

KeyTypeDescriptionExample
defaultStringStratégie de stockage de secours lorsqu'aucun type spécifique n'est défini. La valeur par défaut est "local".
avatarStringStratégie de stockage pour les images d'avatar des utilisateurs et des agents. Il est recommandé d'utiliser une stratégie basée sur un CDN (`"cloudfront"` ou `"firebase"`) pour une performance optimale.
imageStringStratégie de stockage pour les images téléchargées dans les chats. Il est recommandé d'utiliser une stratégie basée sur un CDN (`"cloudfront"` ou `"firebase"`) pour une performance optimale.
documentStringStratégie de stockage pour les téléchargements de documents (PDF, fichiers texte, etc.).
skillsStringStratégie de stockage pour les fichiers groupés avec les Skills.
  • Notes :
    • Ce paramĂštre prĂ©vaut sur l'option unique fileStrategy
    • Si un type de fichier spĂ©cifique n'est pas configurĂ©, il revient Ă  default, puis Ă  fileStrategy, et enfin Ă  "local".
    • Les images et les avatars ont besoin d'URLs persistantes et stables pour s'afficher correctement dans l'interface utilisateur. Les URLs prĂ©signĂ©es S3 expirent (limite AWS : 7 jours pour les utilisateurs IAM, quelques heures pour les identifiants basĂ©s sur STS/rĂŽles), ce qui entraĂźne des images brisĂ©es dans le sĂ©lecteur de modĂšles et l'interface de chat. Consultez la discussion associĂ©e pour le contexte complet. Utilisez "cloudfront" ou "firebase" pour avatar et image afin d'Ă©viter ce problĂšme.
    • S3 et Azure Blob Storage sont bien adaptĂ©s au stockage de document, oĂč les URLs de tĂ©lĂ©chargement prĂ©signĂ©es Ă  courte durĂ©e de vie sont appropriĂ©es.
    • Veuillez vous rĂ©fĂ©rer Ă  la documentation File Storage & CDN pour les dĂ©tails de configuration de chaque fournisseur de stockage.

Exemples :

# 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

Clé :

KeyTypeDescriptionExample
cloudfrontObjectConfigure la distribution CloudFront pour les fichiers stockés dans S3.

Sous-clés :

KeyTypeDescriptionExample
domainStringDomaine de distribution CloudFront ou CNAME. Requis lorsqu'une stratégie de fichier utilise `"cloudfront"`.domain: "https://cdn.example.com"
distributionIdStringID de distribution CloudFront. Requis lorsque `invalidateOnDelete` est défini sur true.distributionId: "E1234ABCD"
invalidateOnDeleteBooleanCrée une invalidation CloudFront pour les fichiers supprimés. Par défaut : false.invalidateOnDelete: false
imageSigningStringContrÎle l'accÚs aux images/avatars en ligne. Options : `"none"` ou `"cookies"`. `"url"` est réservé et n'est pas implémenté pour les images.imageSigning: "cookies"
cookieDomainStringDomaine de cookie parent partagé requis pour les cookies signés. Doit commencer par un point.cookieDomain: ".example.com"
cookieExpiryNumberDurée de vie du cookie signé en secondes. Par défaut : 1800, maximum : 604800.cookieExpiry: 1800
urlExpiryNumberDurée de vie en secondes de l'URL de téléchargement signée CloudFront. Par défaut : 3600.urlExpiry: 3600
storageRegionStringÉtiquette de rĂ©gion facultative utilisĂ©e dans les clĂ©s d'objet gĂ©nĂ©rĂ©es lorsque les chemins de rĂ©gion sont activĂ©s.storageRegion: "us-east-2"
includeRegionInPathBooleanInclut la région de stockage dans les clés d'objet nouvellement générées. Par défaut : false.includeRegionInPath: false
requireSignedAccessBooleanRefuse le dĂ©marrage lorsque l'accĂšs aux cookies signĂ©s CloudFront ne peut pas ĂȘtre initialisĂ©. Par dĂ©faut : false.requireSignedAccess: true

voir : Structure d'objet CloudFront et CloudFront avec S3

filteredTools

KeyTypeDescriptionExample
filteredToolsArray of StringsFiltre des outils spécifiques à partir des endpoints Plugins et OpenAI Assistants.filteredTools: ["scholarai", "calculator"]
  • Notes :
    • Si includedTools et filteredTools sont tous deux spĂ©cifiĂ©s, seul includedTools sera reconnu.
    • Affecte Ă  la fois les endpoints gptPlugins et assistants
    • Vous pouvez trouver les noms des outils Ă  filtrer dans api/app/clients/tools/manifest.json
      • Utilisez la valeur pluginKey
    • De plus, tout ce qui est listĂ© dans le rĂ©pertoire ".well-known" api/app/clients/tools/.well-known
      • Utilisez la valeur name_for_model

includedTools

KeyTypeDescriptionExample
includedToolsArray of StringsInclut des outils spécifiques provenant à la fois des endpoints Plugins et OpenAI Assistants.includedTools: ["calculator"]
  • Notes :
    • Si includedTools et filteredTools sont tous deux spĂ©cifiĂ©s, seul includedTools sera reconnu.
    • Affecte Ă  la fois les endpoints gptPlugins et assistants
    • Vous pouvez trouver les noms des outils Ă  filtrer dans api/app/clients/tools/manifest.json
      • Utilisez la valeur pluginKey
    • De plus, tout ce qui est listĂ© dans le rĂ©pertoire ".well-known" api/app/clients/tools/.well-known
      • Utilisez la valeur name_for_model
KeyTypeDescriptionExample
secureImageLinksBooleanIndique si l'accĂšs aux liens d'images hĂ©bergĂ©s localement par l'application doit ĂȘtre sĂ©curisĂ© ou non. Par dĂ©faut : false.secureImageLinks: true

imageOutputType

  • Note : Sensible Ă  la casse. L'endpoint Google ne prend en charge que les types de sortie "jpeg" et "png".
  • Options : "png" | "webp" | "jpeg"
KeyTypeDescriptionExample
imageOutputTypeStringLe type de sortie d'image pour les réponses d'image. Par défaut à "png" s'il est omis.imageOutputType: "webp"

ocr

Clé :

KeyTypeDescriptionExample
ocrObjectConfigure les paramĂštres de reconnaissance optique de caractĂšres (OCR) pour l'extraction de texte Ă  partir d'images.

Sous-clés :

KeyTypeDescriptionExample
apiKeyStringLa clé API pour le service OCR.
baseURLStringL'URL de base pour l'API du service OCR.
strategyStringLa stratégie OCR à utiliser. Les options sont "mistral_ocr", "azure_mistral_ocr", "vertexai_mistral_ocr", "document_parser" ou "custom_ocr".
mistralModelStringLe modĂšle Mistral Ă  utiliser pour le traitement OCR.

voir : Structure de l'objet de configuration OCR

webSearch

Clé :

KeyTypeDescriptionExample
webSearchObjectConfigure la fonctionnalité de recherche web, incluant les fournisseurs de recherche, les scrapers de contenu et les rerankers de résultats.

Sous-clés :

KeyTypeDescriptionExample
serperApiKeyStringNom de la variable d'environnement pour la clé API Serper. Si elle n'est pas définie dans .env, les utilisateurs seront invités à la fournir via l'interface utilisateur.
searxngInstanceUrlStringNom de la variable d'environnement pour l'URL de l'instance SearXNG. S'il n'est pas défini dans .env, les utilisateurs seront invités à le fournir via l'interface utilisateur.
searxngApiKeyStringNom de la variable d'environnement pour la clé API SearXNG. Si elle n'est pas définie dans .env, les utilisateurs seront invités à la fournir via l'interface utilisateur.
tavilyApiKeyStringNom de la variable d'environnement pour la clé API Tavily. Utilisée à la fois pour la recherche et le scraper. Si elle n'est pas définie dans .env, les utilisateurs seront invités à la fournir via l'interface utilisateur.
tavilySearchUrlStringNom de la variable d'environnement pour une URL d'API Tavily Search personnalisée. Optionnel ; utilise la recherche hébergée par Tavily par défaut si non défini.
tavilyExtractUrlStringNom de la variable d'environnement pour une URL d'API Tavily Extract personnalisée. Optionnel ; utilise l'extracteur hébergé par Tavily par défaut si non défini.
firecrawlApiKeyStringNom de la variable d'environnement pour la clé API Firecrawl. Si elle n'est pas définie dans .env, les utilisateurs seront invités à la fournir via l'interface utilisateur.
firecrawlApiUrlStringNom de la variable d'environnement pour l'URL de l'API Firecrawl. S'il n'est pas défini dans .env, les utilisateurs seront invités à le fournir via l'interface utilisateur.
jinaApiKeyStringNom de la variable d'environnement pour la clé API Jina. Si elle n'est pas définie dans .env, les utilisateurs seront invités à la fournir via l'interface utilisateur.
cohereApiKeyStringNom de la variable d'environnement pour la clé API Cohere. Si elle n'est pas définie dans .env, les utilisateurs seront invités à la fournir via l'interface utilisateur.
searchProviderStringSpécifie quel fournisseur de recherche utiliser. Options : "serper", "searxng", "tavily".
scraperProviderStringSpécifie quel service de scraping utiliser. Options : "firecrawl", "serper", "tavily".
firecrawlVersionStringSpécifie la version de l'API Firecrawl (v0 ou v1).
rerankerTypeStringSpécifie quel service de reranker utiliser. Définissez sur "none" pour ignorer le reranking. Options : "jina", "cohere", "none".
scraperTimeoutIntegerDĂ©lai d'attente en millisecondes pour les requĂȘtes du scraper. Doit ĂȘtre un entier non nĂ©gatif.
safeSearchNumberNiveau de filtrage de la recherche sĂ©curisĂ©e. 0 = DÉSACTIVÉ, 1 = MODÉRÉ (par dĂ©faut), 2 = STRICT.

voir : Structure de l'objet de recherche Web

fileConfig

Clé :

KeyTypeDescriptionExample
fileConfigObjectConfigure les paramĂštres de gestion des fichiers pour l'application, y compris les limites de taille et les restrictions de type MIME.

Sous-clés :

KeyTypeDescriptionExample
endpointsRecord/ObjectSpécifie les configurations de gestion des fichiers pour chaque endpoint, permettant une personnalisation par endpoint.
serverFileSizeLimitNumberLa taille maximale de fichier (en Mo) que le serveur acceptera. S'applique globalement à tous les endpoint, sauf en cas de remplacement par des paramÚtres spécifiques à un endpoint.
avatarSizeLimitNumberTaille maximale (en Mo) pour les images d'avatar des utilisateurs.
clientImageResizeObjectConfigure le redimensionnement des images cÎté client pour optimiser les téléchargements de fichiers et éviter les erreurs de téléchargement dues à la taille importante des images.
ocrObjectParamĂštres pour le traitement de fichiers par reconnaissance optique de caractĂšres (OCR).
textObjectParamĂštres pour l'analyse directe de fichiers texte.
sttObjectParamĂštres pour le traitement des fichiers audio de synthĂšse vocale (STT).
fileTokenLimitNumberNombre maximal de jetons provenant de fichiers texte Ă  inclure dans les invites avant la troncature.fileTokenLimit: 100000

clientImageResize

Clé :

KeyTypeDescriptionExample
clientImageResizeObjectConfigure le redimensionnement des images cÎté client pour optimiser les téléchargements de fichiers et éviter les erreurs de téléchargement dues à la taille importante des images.

Sous-clés :

KeyTypeDescriptionExample
enabledBooleanActive ou désactive la fonctionnalité de redimensionnement d'image cÎté client. Par défaut : false.enabled: true
maxWidthNumberLargeur maximale en pixels pour les images redimensionnées. Les images plus larges que cette valeur seront redimensionnées. Par défaut : 1920.maxWidth: 1024
maxHeightNumberHauteur maximale en pixels pour les images redimensionnées. Les images plus hautes que cette valeur seront redimensionnées. Par défaut : 1080.maxHeight: 768
qualityNumberQualité de compression JPEG (0.1 à 1.0). Des valeurs plus élevées signifient une meilleure qualité mais des fichiers plus volumineux. Par défaut : 0.8.quality: 0.9
compressFormatStringFormat de sortie pour les images compressées. Options : "jpeg", "webp". Par défaut : "jpeg".compressFormat: "webp"

Description :

La configuration clientImageResize permet le redimensionnement automatique des images cÎté client avant le téléchargement. Cette fonctionnalité aide à :

  • EmpĂȘcher les Ă©checs de tĂ©lĂ©chargement dus Ă  des fichiers image volumineux dĂ©passant les limites du serveur
  • RĂ©duisez l'utilisation de la bande passante en compressant les images avant leur transmission
  • AmĂ©liorez les performances de tĂ©lĂ©chargement avec des tailles de fichiers plus petites
  • Maintenir la qualitĂ© de l'image tout en optimisant la taille du fichier

Lorsqu'elle est activĂ©e, les images qui dĂ©passent les dimensions maxWidth ou maxHeight spĂ©cifiĂ©es sont automatiquement redimensionnĂ©es cĂŽtĂ© client avant d'ĂȘtre tĂ©lĂ©chargĂ©es sur le serveur. Le redimensionnement conserve le rapport hauteur/largeur d'origine tout en garantissant que l'image respecte les limites spĂ©cifiĂ©es.

Exemple :

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

Notes :

  • S'applique uniquement aux fichiers image (JPEG, PNG, WebP, etc.)
  • Le redimensionnement s'effectue automatiquement lorsque les images dĂ©passent les dimensions spĂ©cifiĂ©es
  • Le rapport hauteur/largeur d'origine est prĂ©servĂ© lors du redimensionnement
  • Cette fonctionnalitĂ© fonctionne avec tous les endpoints de tĂ©lĂ©chargement d'images pris en charge.
  • Le paramĂštre de qualitĂ© s'applique uniquement aux formats JPEG et WebP
  • RĂ©gler la qualitĂ© trop bas (< 0.5) peut entraĂźner une dĂ©gradation notable de l'image

voir : Structure de l'objet de configuration de fichier

rateLimits

Clé :

KeyTypeDescriptionExample
rateLimitsObjectDĂ©finit les politiques de limitation de dĂ©bit pour prĂ©venir les abus en limitant le nombre de requĂȘtes.

Sous-clés :

KeyTypeDescriptionExample
fileUploadsObjectConfigure les limites de débit spécifiquement pour les opérations de téléchargement de fichiers.
conversationsImportObjectConfigure les limites de débit spécifiquement pour les opérations d'importation de conversations.
sttObjectConfigure les limites de dĂ©bit spĂ©cifiquement pour les requĂȘtes de synthĂšse vocale (stt)
ttsObjectConfigure les limites de dĂ©bit spĂ©cifiquement pour les requĂȘtes de synthĂšse vocale (tts)

Sous-clés fileUploads :

KeyTypeDescriptionExample
ipMaxNumberNombre maximal de tĂ©lĂ©chargements autorisĂ©s par adresse IP par fenĂȘtre.
ipWindowInMinutesNumberFenĂȘtre temporelle en minutes pour la limite de tĂ©lĂ©chargement basĂ©e sur l'IP.
userMaxNumberNombre maximal de tĂ©lĂ©chargements autorisĂ©s par utilisateur et par fenĂȘtre.
userWindowInMinutesNumberFenĂȘtre temporelle en minutes pour la limite de tĂ©lĂ©chargement basĂ©e sur l'utilisateur.

Sous-clés conversationsImport :

KeyTypeDescriptionExample
ipMaxNumberNombre maximal d'importations autorisĂ©es par adresse IP par fenĂȘtre.
ipWindowInMinutesNumberFenĂȘtre temporelle en minutes pour la limite d'importations basĂ©e sur l'IP.
userMaxNumberNombre maximal d'importations par utilisateur par fenĂȘtre.
userWindowInMinutesNumberFenĂȘtre temporelle en minutes pour la limite d'importations basĂ©e sur l'utilisateur.

Sous-clés tts :

KeyTypeDescriptionExample
ipMaxNumberNombre maximal de requĂȘtes autorisĂ©es par adresse IP par fenĂȘtre.
ipWindowInMinutesNumberFenĂȘtre temporelle en minutes pour la limite de requĂȘtes basĂ©e sur l'IP.
userMaxNumberNombre maximal de requĂȘtes par utilisateur par fenĂȘtre.
userWindowInMinutesNumberFenĂȘtre temporelle en minutes pour la limite de requĂȘtes basĂ©e sur l'utilisateur.

Sous-clés stt :

KeyTypeDescriptionExample
ipMaxNumberNombre maximal de requĂȘtes autorisĂ©es par adresse IP par fenĂȘtre.
ipWindowInMinutesNumberFenĂȘtre temporelle en minutes pour la limite de requĂȘtes basĂ©e sur l'IP.
userMaxNumberNombre maximal de requĂȘtes par utilisateur par fenĂȘtre.
userWindowInMinutesNumberFenĂȘtre temporelle en minutes pour la limite de requĂȘtes basĂ©e sur l'utilisateur.
  • Exemple :
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

Clé :

KeyTypeDescriptionExample
registrationObjectConfigure les paramÚtres liés à l'inscription pour l'application.

Sous-clés :

KeyTypeDescriptionExample
socialLoginsConfigurations de connexion sociale.
allowedDomainsSpécifie les domaines autorisés pour l'inscription.

voir aussi :

memory

Clé :

KeyTypeDescriptionExample
memoryObjectConfigure la mémoire de conversation et les fonctionnalités de personnalisation pour l'application.

Sous-clés :

KeyTypeDescriptionExample
disabledBooleanDésactive la fonctionnalité de mémoire lorsqu'elle est définie sur true.
validKeysArray of StringsSpécifie quelles clés sont valides pour le stockage en mémoire.
tokenLimitNumberDéfinit le nombre maximal de jetons pour le stockage et le traitement de la mémoire.
charLimitNumberDéfinit le nombre maximal de caractÚres pour le stockage en mémoire. Par défaut : 10000.
maxInputTokensNumberLimite le nombre de jetons des discussions récentes envoyés à l'agent de mémoire automatique avant l'extraction. Par défaut : 12000.
personalizeBooleanActive ou désactive les fonctionnalités de personnalisation.
messageWindowSizeNumberSpécifie le nombre de messages récents à inclure dans le contexte de la mémoire.
agentObject | UnionConfigure l'agent responsable du traitement de la mémoire.

voir : Structure de l'objet Memory

summarization

Clé :

KeyTypeDescriptionExample
summarizationObjectConfigure la synthÚse des conversations et l'élagage du contexte. Remplace les champs `summarize` et `summaryModel` par endpoint.

Sous-clés :

KeyTypeDescriptionExample
providerStringFournisseur LLM pour les appels de résumé. Utilise par défaut le fournisseur de l'agent.
modelStringModÚle pour les appels de résumé. Utilise par défaut le modÚle de l'agent.
parametersObjectParamĂštres LLM supplĂ©mentaires pour les requĂȘtes de rĂ©sumĂ©.
promptStringInvite personnalisée pour la synthÚse initiale.
updatePromptStringInvite personnalisée pour la re-compaction lorsqu'un résumé précédent existe.
triggerObjectDéfinit quand la synthÚse est déclenchée (par ratio de jetons, jetons restants ou nombre de messages).
maxSummaryTokensNumberNombre maximal de jetons de sortie pour la réponse du modÚle de résumé.
reserveRatioNumberFraction du budget de jetons rĂ©servĂ©e comme marge (0–1). Par dĂ©faut : 0.05.
contextPruningObjectConfigure la dégradation des résultats d'outils basée sur la position pour les messages plus anciens.

voir : Structure de l'objet de résumé

actions

Clé :

KeyTypeDescriptionExample
actionsObjectConfigure les paramÚtres liés aux actions, utilisés par les Agents et les Assistants

Sous-clés :

KeyTypeDescriptionExample
allowedDomainsArray of StringsListe blanche stricte de domaines pour les actions. Lorsqu'elle est définie, seuls les domaines listés sont accessibles.
allowedAddressesArray of StringsListe d'exemption SSRF (espace IP privé uniquement). Autorise des services hÎte:port privés spécifiques sans restreindre les destinations publiques lorsque `allowedDomains` n'est pas configuré.

voir aussi :

interface

Clé :

KeyTypeDescriptionExample
interfaceObjectConfigure les éléments de l'interface utilisateur au sein de l'application, permettant de personnaliser la visibilité et le comportement de divers composants.

Sous-clés :

KeyTypeDescriptionExample
privacyPolicyObjectContient les paramÚtres liés au lien de la politique de confidentialité fourni.
termsOfServiceObjectContient les paramĂštres relatifs au lien vers les conditions d'utilisation fourni.
modelSelectBooleanDétermine si la fonctionnalité de sélection de modÚle est disponible.
parametersBooleanBascule la visibilité des options de configuration des paramÚtres, aussi appelées paramÚtres de conversation.
presetsBooleanActive ou désactive le menu des préréglages
promptsBoolean or ObjectActive ou désactive toutes les fonctionnalités liées aux prompts pour tous les utilisateurs
bookmarksBooleanActive ou désactive toutes les fonctionnalités liées aux favoris pour tous les utilisateurs
memoriesBooleanActive ou désactive la fonctionnalité de mémoires pour tous les utilisateurs
multiConvoBooleanActive ou désactive toutes les fonctionnalités liées au « multi convo », aussi appelé streaming de réponses multiples, pour tous les utilisateurs
agentsBoolean or ObjectActive ou désactive toutes les fonctionnalités d'agents pour tous les utilisateurs
temporaryChatBooleanActive ou désactive la fonctionnalité de chat temporaire
temporaryChatRetentionNumberConfigure la période de rétention des discussions temporaires en heures. Min : 1, Max : 8760. Par défaut : 720 (30 jours).
autoSubmitFromUrlBooleanDĂ©termine si `/c/new?prompt=
&submit=true` envoie automatiquement la requĂȘte au modĂšle. Lorsque `false`, le prompt est prĂ©-rempli mais non envoyĂ©.
mcpServersObjectContient les paramÚtres relatifs à la sélection du serveur MCP et au contrÎle d'accÚs.
customWelcomeStringMessage de bienvenue personnalisé affiché dans l'interface de chat.
runCodeBooleanActive ou désactive le bouton "Run Code" pour les blocs de code Markdown
webSearchBooleanActive ou désactive le bouton de recherche Web dans l'interface de chat
fileSearchBooleanActive ou désactive le bouton de recherche de fichiers dans l'interface de chat
fileCitationsBooleanActive ou désactive globalement les citations de fichiers pour tous les utilisateurs
peoplePickerObjectConfigure quels types de principaux sont des contrÎles disponibles dans l'interface de sélection des personnes
marketplaceObjectActive ou désactive l'accÚs à l'Agent Marketplace

voir : Structure de l'objet Interface

modelSpecs

Clé :

KeyTypeDescriptionExample
modelSpecsObjectConfigure les Model Specs, permettant une configuration détaillée et une personnalisation des modÚles d'IA et de leurs comportements au sein de l'application.

Sous-clés :

KeyTypeDescriptionExample
enforceBooleanDétermine si les Model Specs doivent strictement remplacer les autres paramÚtres de configuration.
prioritizeBooleanIndique si les Model Specs doivent ĂȘtre prioritaires sur la configuration par dĂ©faut lorsque les deux sont applicables.
listArray of ObjectsContient une liste de spécifications de modÚles individuels détaillant diverses configurations et comportements.

voir : Structure de l'objet Model Specs

endpoints

Clé :

KeyTypeDescriptionExample
endpointsObjectDéfinit des endpoint d'API personnalisés pour l'application.

Sous-clés :

KeyTypeDescriptionExample
customArray of ObjectsChaque objet dans le tableau représente une configuration d'endpoint unique.
azureOpenAIObjectConfiguration spécifique à l'endpoint Azure OpenAI
assistantsObjectConfiguration spécifique à l'endpoint Assistants.
azureAssistantsObjectConfiguration spécifique à l'endpoint Azure Assistants.
agentsObjectConfiguration spécifique à l'endpoint Agents.
allObjectParamĂštres globaux d'endpoint qui s'appliquent Ă  tous les endpoints. Voir Shared Endpoint Settings.
allowedAddressesArray of StringsListe d'exemption SSRF (espace IP privé uniquement). Permet aux baseURLs fournies par l'utilisateur de pointer vers des services hÎte:port privés spécifiques (par exemple, Ollama auto-hébergé) sans désactiver la protection SSRF pour tout le reste.

Note : Les endpoints prennent en charge les Shared Endpoint Settings tels que streamRate, headers, titleModel, titleMethod, titlePrompt, titlePromptTemplate, titleEndpoint et maxToolResultChars. Ceux-ci peuvent ĂȘtre configurĂ©s individuellement par endpoint ou globalement en utilisant la clĂ© all. Les headers sont fusionnĂ©s, les valeurs au niveau de l'endpoint Ă©tant prioritaires en cas de conflit de clĂ©s. La clĂ© all n'accepte pas baseURL.

Remarque : endpoints.allowedAddresses s'applique aux valeurs baseURL fournies par l'utilisateur (lorsqu'un administrateur configure un endpoint personnalisĂ© avec apiKey: 'user_provided' et baseURL: 'user_provided'). Chaque baseURL fournie par l'utilisateur est validĂ©e par rapport au blocage SSRF au moment de la requĂȘte ; les entrĂ©es listĂ©es ici en sont exemptĂ©es. Voir mcpSettings.allowedAddresses pour la sĂ©mantique du champ — les mĂȘmes rĂšgles s'appliquent (espace IP privĂ© uniquement, port requis, pas d'URL/chemins/CIDR/hĂŽtes nus/littĂ©raux IP publics).

mcpSettings

Clé :

KeyTypeDescriptionExample
mcpSettingsObjectDéfinit les paramÚtres globaux pour les serveurs Model Context Protocol (MCP)

Sous-clés :

KeyTypeDescriptionExample
allowedDomainsArray of StringsListe blanche stricte des domaines pour les connexions au serveur MCP. Lorsqu'elle est définie, seules les entrées listées sont accessibles.
allowedAddressesArray of StringsListe d'exemption SSRF (espace IP privé uniquement). Autorise des services hÎte:port privés spécifiques sans basculer `allowedDomains` en mode liste blanche stricte.
  • Notes :
    • Il s'agit d'une fonctionnalitĂ© de sĂ©curitĂ© visant Ă  protĂ©ger contre les abus / utilisations dĂ©tournĂ©es d'adresses internes via les serveurs MCP.
    • Par dĂ©faut, LibreChat restreint la connexion des serveurs MCP aux adresses rĂ©seau internes, locales ou privĂ©es.
    • Les serveurs MCP utilisant des adresses IP locales ou des domaines peuvent soit ĂȘtre ajoutĂ©s Ă  la liste blanche stricte allowedDomains (qui devient alors le seul ensemble accessible), soit — pour conserver l'accessibilitĂ© des destinations publiques — ĂȘtre exemptĂ©s en tant que services host:port exacts via allowedAddresses.
    • Comme pour toutes les modifications de configuration yaml, un redĂ©marrage de LibreChat est nĂ©cessaire pour qu'elles prennent effet.
    • Prend en charge les domaines, les sous-domaines gĂ©nĂ©riques (*.example.com), les domaines Docker et les adresses IP

Exemple :

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

voir : Structure de l'objet MCP Settings

mcpServers

Clé :

KeyTypeDescriptionExample
mcpServersObjectDéfinit la configuration des serveurs Model Context Protocol (MCP), permettant l'intégration dynamique de serveurs MCP au sein de l'application.

Sous-clés :

KeyTypeDescriptionExample
<serverName>ObjectChaque clé sous `mcpServers` représente une configuration de serveur MCP individuelle, identifiée par un nom unique.
  • Notes :
    • L'initialisation se produit au dĂ©marrage, et l'application doit ĂȘtre redĂ©marrĂ©e pour que les modifications prennent effet.
    • Le <serverName> est un identifiant unique pour chaque configuration de serveur MCP.
    • Chaque serveur MCP peut ĂȘtre configurĂ© en utilisant l'un des quatre types de connexion :
      • stdio
      • websocket
      • sse
      • streamable-http
    • Le champ type spĂ©cifie le type de connexion au serveur MCP.
    • Si type est omis, il est dĂ©fini par dĂ©faut en fonction de la prĂ©sence et du format de url ou command :
      • Si url est spĂ©cifiĂ© et commence par http ou https, type est dĂ©fini par dĂ©faut sur sse.
      • Si url est spĂ©cifiĂ© et commence par ws ou wss, type prend websocket par dĂ©faut.
      • Si command est spĂ©cifiĂ©, type prend stdio comme valeur par dĂ©faut.
    • Les options de configuration supplĂ©mentaires incluent :
      • timeout : DĂ©lai d'attente en millisecondes pour les requĂȘtes du serveur MCP. DĂ©termine combien de temps attendre une rĂ©ponse pour les requĂȘtes d'outils.
      • initTimeout : DĂ©lai d'attente en millisecondes pour l'initialisation du serveur MCP. DĂ©termine combien de temps attendre pour que le serveur s'initialise.
      • serverInstructions: ContrĂŽle si les instructions du serveur sont incluses dans le contexte de l'agent. Peut ĂȘtre true (utiliser celles fournies par le serveur), false (dĂ©sactivĂ©), ou une chaĂźne personnalisĂ©e (remplace celles fournies par le serveur).
      • customUserVars: (Optionnel) DĂ©finit des variables personnalisĂ©es (par exemple, des clĂ©s API, des URL) que les utilisateurs individuels peuvent dĂ©finir pour un serveur MCP. Ces valeurs par utilisateur, fournies via l'interface utilisateur, peuvent ensuite ĂȘtre rĂ©fĂ©rencĂ©es dans les configurations headers ou env du serveur en utilisant la syntaxe {{VARIABLE_NAME}}. Cela permet une authentification ou une personnalisation par utilisateur pour les outils MCP.
    • voir : Structure de l'objet MCP Servers

Exemple :

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

voir : Structure de l'objet MCP Servers

speech

Clé :

KeyTypeDescriptionExample
speechObjectConfigure les fournisseurs de synthĂšse vocale (TTS) et de reconnaissance vocale (STT) pour l'application.

Sous-clés :

KeyTypeDescriptionExample
ttsObjectConfigurations du fournisseur de synthĂšse vocale (OpenAI, Azure OpenAI, ElevenLabs, LocalAI).
sttObjectConfigurations du fournisseur Speech-to-Text (OpenAI, Azure OpenAI).
speechTabObjectParamÚtres d'interface utilisateur par défaut pour les fonctionnalités vocales.

voir : Structure de l'objet Speech

turnstile

Clé :

KeyTypeDescriptionExample
turnstileObjectConfigure Cloudflare Turnstile pour la protection contre les bots sur les formulaires d'inscription et de connexion.

Sous-clés :

KeyTypeDescriptionExample
siteKeyStringVotre clé de site Cloudflare Turnstile (requise).
optionsObjectOptions supplémentaires pour le widget Turnstile (facultatif).

voir : Structure de l'objet Turnstile

transactions

Clé :

KeyTypeDescriptionExample
transactionsObjectContrÎle les fonctionnalités de journalisation et de visibilité des transactions.

Sous-clés :

KeyTypeDescriptionExample
enabledBooleanActive ou désactive la journalisation des transactions. Par défaut : true.

voir : Structure de l'objet Transactions

Que pensez-vous de ce guide ?