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

Struktura konfiguracji

Uwaga: Pola, które nie zostały wyraźnie określone jako wymagane, są opcjonalne.

version

  • wymagane
KeyTypeDescriptionExample
versionStringOkreśla wersję pliku konfiguracyjnego.version: 1.3.13

cache

KeyTypeDescriptionExample
cacheBooleanWłącza lub wyłącza buforowanie. Ustaw na `true`, aby włączyć buforowanie (domyślnie).cache: true

skillSync

KeyTypeDescriptionExample
skillSyncObjectKonfiguruje zewnętrzne mirrorowanie Skill. W wersji v1.3.13 obsługiwana jest synchronizacja GitHub Skill.

zobacz: Struktura obiektu Skill Sync

messageFilter

KeyTypeDescriptionExample
messageFilterObjectKonfiguruje serwerowe filtry wiadomości. W wersji v1.3.13, `messageFilter.pii` może odrzucać przesłany tekst o formacie danych uwierzytelniających przed wywołaniami modelu i utrwaleniem.

zobacz: Struktura obiektu filtra wiadomości

fileStrategy

  • Opcje: "local" | "firebase" | "s3" | "azure_blob" | "cloudfront"
KeyTypeDescriptionExample
fileStrategyStringOkreśla miejsce zapisu plików przesłanych/wygenerowanych przez użytkownika. Domyślnie `"local"`, jeśli pominięto.fileStrategy: "firebase"
  • Uwagi:
    • "cloudfront" przechowuje pliki w S3 i zwraca adresy URL CloudFront w celu zapewnienia stabilnego dostarczania mediów, podpisanych plików cookie oraz podpisanych pobrań.
    • "firebase" serwuje pliki za pośrednictwem Firebase Storage oraz lokalizacji brzegowych Firebase Hosting.
    • S3 udostępnia pliki za pośrednictwem presigned URLs (tymczasowych podpisanych tokenów), które wygasają. Po wygaśnięciu każdy obraz lub awatar odwołujący się do tego adresu URL będzie wyświetlany jako uszkodzony w interfejsie użytkownika. Sprawia to, że S3 nie nadaje się jako główna strategia przechowywania zasobów wizualnych. Szczegółowe informacje znajdują się w powiązanej dyskusji.
    • Aby uzyskać najlepszą wydajność obrazów i awatarów, użyj "cloudfront" lub "firebase" albo skonfiguruj fileStrategies, aby kierować avatar i image do strategii opartej na CDN.
    • Szczegółowe informacje na temat konfiguracji znajdują się w dokumentacji File Storage & CDN

fileStrategies

Umożliwia szczegółową kontrolę nad strategiami przechowywania plików dla różnych typów plików.

  • Dostępne strategie: "local" | "firebase" | "s3" | "azure_blob" | "cloudfront"
KeyTypeDescriptionExample
fileStrategiesObjectKonfiguruje różne strategie przechowywania dla różnych typów plików. Bardziej elastyczne niż pojedyncza opcja fileStrategy.

Podklucze:

KeyTypeDescriptionExample
defaultStringStrategia przechowywania zapasowego, gdy nie określono konkretnego typu. Domyślnie "local".
avatarStringStrategia przechowywania obrazów awatarów użytkowników i agentów. Zaleca się użycie strategii opartej na CDN (`"cloudfront"` lub `"firebase"`) w celu uzyskania najlepszej wydajności.
imageStringStrategia przechowywania obrazów przesłanych w czatach. Zaleca się użycie strategii opartej na CDN (`"cloudfront"` lub `"firebase"`) w celu uzyskania najlepszej wydajności.
documentStringStrategia przechowywania dla przesyłanych dokumentów (PDF, pliki tekstowe itp.).
skillsStringStrategia przechowywania plików dołączonych do Skills.
  • Uwagi:
    • To ustawienie ma pierwszeństwo przed pojedynczą opcją fileStrategy
    • Jeśli określony typ pliku nie jest skonfigurowany, system używa wartości default, następnie fileStrategy, a na końcu "local".
    • Obrazy i awatary wymagają trwałych, stabilnych adresów URL, aby poprawnie renderować się w interfejsie użytkownika. Wstępnie podpisane adresy URL S3 wygasają (limit AWS: 7 dni dla użytkowników IAM, godziny dla poświadczeń opartych na STS/rolach), co powoduje błędy wyświetlania obrazów w selektorze modeli i interfejsie czatu. Zobacz powiązaną dyskusję, aby uzyskać pełny kontekst. Użyj "cloudfront" lub "firebase" dla avatar oraz image, aby tego uniknąć.
    • S3 oraz Azure Blob Storage świetnie sprawdzają się w przypadku przechowywania document, gdzie krótkotrwałe, wstępnie podpisane adresy URL do pobierania są odpowiednim rozwiązaniem.
    • Szczegółowe informacje na temat konfiguracji każdego dostawcy pamięci masowej znajdują się w dokumentacji File Storage & CDN

Przykłady:

# 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

Klucz:

KeyTypeDescriptionExample
cloudfrontObjectKonfiguruje dostarczanie przez CloudFront plików przechowywanych w S3.

Podklucze:

KeyTypeDescriptionExample
domainStringDomena dystrybucji CloudFront lub CNAME. Wymagane, gdy jakakolwiek strategia plików używa `"cloudfront"`.domain: "https://cdn.example.com"
distributionIdStringIdentyfikator dystrybucji CloudFront. Wymagany, gdy `invalidateOnDelete` ma wartość true.distributionId: "E1234ABCD"
invalidateOnDeleteBooleanTworzy unieważnienie CloudFront dla usuniętych plików. Domyślnie: false.invalidateOnDelete: false
imageSigningStringKontroluje dostęp do obrazów/awatarów inline. Opcje: `"none"` lub `"cookies"`. `"url"` jest zarezerwowane i niezaimplementowane dla obrazów.imageSigning: "cookies"
cookieDomainStringWymagana współdzielona domena nadrzędna plików cookie dla podpisanych plików cookie. Musi zaczynać się od kropki.cookieDomain: ".example.com"
cookieExpiryNumberCzas życia podpisanego ciasteczka w sekundach. Domyślnie: 1800, maksymalnie: 604800.cookieExpiry: 1800
urlExpiryNumberCzas życia podpisanego adresu URL pobierania CloudFront w sekundach. Domyślnie: 3600.urlExpiry: 3600
storageRegionStringOpcjonalna etykieta regionu używana w wygenerowanych kluczach obiektów, gdy ścieżki regionów są włączone.storageRegion: "us-east-2"
includeRegionInPathBooleanUwzględnia region przechowywania w nowo wygenerowanych kluczach obiektów. Domyślnie: false.includeRegionInPath: false
requireSignedAccessBooleanOdrzuca uruchomienie, gdy dostęp do CloudFront za pomocą podpisanych plików cookie nie może zostać zainicjowany. Domyślnie: false.requireSignedAccess: true

zobacz: Struktura obiektu CloudFront oraz CloudFront z S3

filteredTools

KeyTypeDescriptionExample
filteredToolsArray of StringsFiltruje określone narzędzia z endpointów Plugins oraz OpenAI Assistants.filteredTools: ["scholarai", "calculator"]
  • Uwagi:
    • Jeśli określono zarówno includedTools, jak i filteredTools, rozpoznane zostanie tylko includedTools.
    • Dotyczy zarówno endpointów gptPlugins, jak i assistants
    • Nazwy narzędzi do filtrowania można znaleźć w pliku api/app/clients/tools/manifest.json
      • Użyj wartości pluginKey
    • Ponadto, wszelkie wymienione w katalogu ".well-known" api/app/clients/tools/.well-known
      • Użyj wartości name_for_model

includedTools

KeyTypeDescriptionExample
includedToolsArray of StringsZawiera określone narzędzia zarówno z endpointów Plugins, jak i OpenAI Assistants.includedTools: ["calculator"]
  • Uwagi:
    • Jeśli określono zarówno includedTools, jak i filteredTools, rozpoznane zostanie tylko includedTools.
    • Dotyczy zarówno endpointów gptPlugins, jak i assistants
    • Nazwy narzędzi do filtrowania można znaleźć w pliku api/app/clients/tools/manifest.json
      • Użyj wartości pluginKey
    • Ponadto, wszelkie wymienione w katalogu ".well-known" api/app/clients/tools/.well-known
      • Użyj wartości name_for_model
KeyTypeDescriptionExample
secureImageLinksBooleanCzy zabezpieczyć dostęp do linków do obrazów hostowanych lokalnie przez aplikację, czy nie. Domyślnie: false.secureImageLinks: true

imageOutputType

  • Uwaga: Wielkość liter ma znaczenie. Endpoint Google obsługuje wyłącznie typy wyjściowe „jpeg” oraz „png”.
  • Opcje: "png" | "webp" | "jpeg"
KeyTypeDescriptionExample
imageOutputTypeStringTyp wyjściowy obrazu dla odpowiedzi graficznych. Domyślnie "png", jeśli zostanie pominięty.imageOutputType: "webp"

ocr

Klucz:

KeyTypeDescriptionExample
ocrObjectKonfiguruje ustawienia optycznego rozpoznawania znaków (OCR) do wyodrębniania tekstu z obrazów.

Podklucze:

KeyTypeDescriptionExample
apiKeyStringKlucz API dla usługi OCR.
baseURLStringPodstawowy adres URL dla API usługi OCR.
strategyStringStrategia OCR do użycia. Opcje to "mistral_ocr", "azure_mistral_ocr", "vertexai_mistral_ocr", "document_parser" lub "custom_ocr".
mistralModelStringModel Mistral do wykorzystania w przetwarzaniu OCR.

zobacz: Struktura obiektu konfiguracji OCR

webSearch

Klucz:

KeyTypeDescriptionExample
webSearchObjectKonfiguruje funkcjonalność wyszukiwania w sieci, w tym dostawców wyszukiwania, skrapery treści i mechanizmy zmiany rankingu wyników.

Podklucze:

KeyTypeDescriptionExample
serperApiKeyStringNazwa zmiennej środowiskowej dla klucza API Serper. Jeśli nie zostanie ustawiona w .env, użytkownicy zostaną poproszeni o jej podanie przez interfejs użytkownika.
searxngInstanceUrlStringNazwa zmiennej środowiskowej dla adresu URL instancji SearXNG. Jeśli nie zostanie ustawiona w .env, użytkownicy zostaną poproszeni o jej podanie za pośrednictwem interfejsu użytkownika.
searxngApiKeyStringNazwa zmiennej środowiskowej dla klucza API SearXNG. Jeśli nie zostanie ustawiona w .env, użytkownicy zostaną poproszeni o podanie jej przez interfejs użytkownika.
tavilyApiKeyStringNazwa zmiennej środowiskowej dla klucza API Tavily. Używana zarówno do wyszukiwania, jak i scrapowania. Jeśli nie zostanie ustawiona w .env, użytkownicy zostaną poproszeni o jej podanie przez interfejs użytkownika.
tavilySearchUrlStringNazwa zmiennej środowiskowej dla niestandardowego adresu URL Tavily Search API. Opcjonalna; jeśli nie zostanie ustawiona, domyślnie używane jest wyszukiwanie hostowane przez Tavily.
tavilyExtractUrlStringNazwa zmiennej środowiskowej dla niestandardowego adresu URL API Tavily Extract. Opcjonalne; jeśli nie zostanie ustawione, domyślnie używany jest hostowany ekstraktor Tavily.
firecrawlApiKeyStringNazwa zmiennej środowiskowej dla klucza API Firecrawl. Jeśli nie zostanie ustawiona w .env, użytkownicy będą proszeni o podanie jej przez UI.
firecrawlApiUrlStringNazwa zmiennej środowiskowej dla adresu URL API Firecrawl. Jeśli nie zostanie ustawiona w .env, użytkownicy zostaną poproszeni o podanie jej przez interfejs użytkownika.
jinaApiKeyStringNazwa zmiennej środowiskowej dla klucza API Jina. Jeśli nie zostanie ustawiona w .env, użytkownicy zostaną poproszeni o jej podanie przez interfejs użytkownika.
cohereApiKeyStringNazwa zmiennej środowiskowej dla klucza API Cohere. Jeśli nie zostanie ustawiona w .env, użytkownicy zostaną poproszeni o podanie jej przez interfejs użytkownika.
searchProviderStringOkreśla, którego dostawcę wyszukiwania użyć. Opcje: "serper", "searxng", "tavily".
scraperProviderStringOkreśla, której usługi scrapowania użyć. Opcje: "firecrawl", "serper", "tavily".
firecrawlVersionStringOkreśla wersję API Firecrawl (v0 lub v1).
rerankerTypeStringOkreśla, której usługi rerankera użyć. Ustaw na "none", aby pominąć reranking. Opcje: "jina", "cohere", "none".
scraperTimeoutIntegerLimit czasu w milisekundach dla żądań scrapera. Musi być nieujemną liczbą całkowitą.
safeSearchNumberPoziom filtrowania bezpiecznego wyszukiwania. 0 = WYŁ., 1 = UMIARKOWANY (domyślnie), 2 = ŚCISŁY.

zobacz: Struktura obiektu wyszukiwania w sieci

fileConfig

Klucz:

KeyTypeDescriptionExample
fileConfigObjectKonfiguruje ustawienia obsługi plików dla aplikacji, w tym limity rozmiaru i ograniczenia typów MIME.

Podklucze:

KeyTypeDescriptionExample
endpointsRecord/ObjectOkreśla konfiguracje obsługi plików dla poszczególnych endpoint, umożliwiając dostosowanie ich dla każdego endpoint z osobna.
serverFileSizeLimitNumberMaksymalny rozmiar pliku (w MB), który serwer zaakceptuje. Dotyczy globalnie wszystkich endpoint, chyba że zostanie nadpisany przez ustawienia specyficzne dla danego endpoint.
avatarSizeLimitNumberMaksymalny rozmiar (w MB) dla obrazów awatarów użytkownika.
clientImageResizeObjectKonfiguruje zmianę rozmiaru obrazów po stronie klienta w celu optymalizacji przesyłania plików i zapobiegania błędom przesyłania wynikającym z dużych rozmiarów obrazów.
ocrObjectUstawienia przetwarzania plików za pomocą optycznego rozpoznawania znaków (OCR).
textObjectUstawienia bezpośredniego parsowania plików tekstowych.
sttObjectUstawienia przetwarzania plików audio Speech-to-Text (STT).
fileTokenLimitNumberMaksymalna liczba tokenów z plików tekstowych do uwzględnienia w promptach przed obcięciem.fileTokenLimit: 100000

clientImageResize

Klucz:

KeyTypeDescriptionExample
clientImageResizeObjectKonfiguruje zmianę rozmiaru obrazów po stronie klienta w celu optymalizacji przesyłania plików i zapobiegania błędom przesyłania wynikającym z dużych rozmiarów obrazów.

Podklucze:

KeyTypeDescriptionExample
enabledBooleanWłącza lub wyłącza funkcję zmiany rozmiaru obrazów po stronie klienta. Domyślnie: false.enabled: true
maxWidthNumberMaksymalna szerokość w pikselach dla przeskalowanych obrazów. Obrazy szersze niż ta wartość zostaną przeskalowane. Domyślnie: 1920.maxWidth: 1024
maxHeightNumberMaksymalna wysokość w pikselach dla przeskalowanych obrazów. Obrazy wyższe niż ta wartość zostaną przeskalowane. Domyślnie: 1080.maxHeight: 768
qualityNumberJakość kompresji JPEG (od 0.1 do 1.0). Wyższe wartości oznaczają lepszą jakość, ale większe rozmiary plików. Domyślnie: 0.8.quality: 0.9
compressFormatStringFormat wyjściowy dla skompresowanych obrazów. Opcje: "jpeg", "webp". Domyślnie: "jpeg".compressFormat: "webp"

Opis:

Konfiguracja clientImageResize umożliwia automatyczną zmianę rozmiaru obrazów po stronie klienta przed ich przesłaniem. Ta funkcja pomaga:

  • Zapobieganie błędom przesyłania spowodowanym przez duże pliki graficzne przekraczające limity serwera
  • Zmniejsz zużycie pasma poprzez kompresję obrazów przed transmisją
  • Popraw wydajność przesyłania dzięki mniejszym rozmiarom plików
  • Zachowaj jakość obrazu przy jednoczesnej optymalizacji rozmiaru pliku

Po włączeniu tej opcji obrazy przekraczające określone wymiary maxWidth lub maxHeight są automatycznie skalowane po stronie klienta przed przesłaniem na serwer. Skalowanie zachowuje oryginalne proporcje, zapewniając jednocześnie, że obraz mieści się w określonych granicach.

Przykład:

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

Uwagi:

  • Dotyczy tylko plików graficznych (JPEG, PNG, WebP itp.)
  • Zmiana rozmiaru następuje automatycznie, gdy obrazy przekraczają określone wymiary
  • Oryginalne proporcje obrazu są zachowywane podczas zmiany rozmiaru
  • Ta funkcja działa ze wszystkimi obsługiwanymi endpointami przesyłania obrazów
  • Ustawienie jakości dotyczy tylko formatów JPEG i WebP
  • Ustawienie jakości na zbyt niską (< 0.5) może skutkować zauważalną degradacją obrazu

zobacz: Struktura obiektu konfiguracji pliku

rateLimits

Klucz:

KeyTypeDescriptionExample
rateLimitsObjectDefiniuje zasady limitowania zapytań (rate limiting), aby zapobiegać nadużyciom poprzez ograniczenie liczby żądań.

Podklucze:

KeyTypeDescriptionExample
fileUploadsObjectKonfiguruje limity szybkości specjalnie dla operacji przesyłania plików.
conversationsImportObjectKonfiguruje limity szybkości specjalnie dla operacji importu konwersacji.
sttObjectKonfiguruje limity szybkości specjalnie dla żądań zamiany mowy na tekst (stt)
ttsObjectKonfiguruje limity szybkości specjalnie dla żądań zamiany tekstu na mowę (tts)

Podklucze fileUploads:

KeyTypeDescriptionExample
ipMaxNumberMaksymalna liczba przesłanych plików dozwolona na adres IP w danym oknie czasowym.
ipWindowInMinutesNumberOkno czasowe w minutach dla limitu przesyłania opartego na adresie IP.
userMaxNumberMaksymalna liczba przesłanych plików dozwolona na użytkownika w danym oknie.
userWindowInMinutesNumberOkno czasowe w minutach dla limitu przesyłania plików przez użytkownika.

Podklucze conversationsImport:

KeyTypeDescriptionExample
ipMaxNumberMaksymalna liczba importów dozwolona na adres IP w danym oknie czasowym.
ipWindowInMinutesNumberOkno czasowe w minutach dla limitu importów opartego na adresie IP.
userMaxNumberMaksymalna liczba importów na użytkownika w oknie.
userWindowInMinutesNumberOkno czasowe w minutach dla limitu importów użytkownika.

Podklucze tts:

KeyTypeDescriptionExample
ipMaxNumberMaksymalna liczba żądań dozwolona na adres IP w danym oknie czasowym.
ipWindowInMinutesNumberOkno czasowe w minutach dla limitu żądań opartych na adresie IP.
userMaxNumberMaksymalna liczba żądań na użytkownika w danym oknie czasowym.
userWindowInMinutesNumberOkno czasowe w minutach dla limitu żądań użytkownika.

Podklucze stt:

KeyTypeDescriptionExample
ipMaxNumberMaksymalna liczba żądań dozwolona na adres IP w danym oknie czasowym.
ipWindowInMinutesNumberOkno czasowe w minutach dla limitu żądań opartych na adresie IP.
userMaxNumberMaksymalna liczba żądań na użytkownika w danym oknie czasowym.
userWindowInMinutesNumberOkno czasowe w minutach dla limitu żądań użytkownika.
  • Przykład:
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

Klucz:

KeyTypeDescriptionExample
registrationObjectKonfiguruje ustawienia aplikacji związane z rejestracją.

Podklucze:

KeyTypeDescriptionExample
socialLoginsKonfiguracje logowania społecznościowego.
allowedDomainsOkreśla dozwolone domeny dla rejestracji.

zobacz także:

memory

Klucz:

KeyTypeDescriptionExample
memoryObjectKonfiguruje pamięć konwersacji i funkcje personalizacji dla aplikacji.

Podklucze:

KeyTypeDescriptionExample
disabledBooleanWyłącza funkcjonalność pamięci, gdy ustawiono na true.
validKeysArray of StringsOkreśla, które klucze są prawidłowe dla przechowywania w pamięci.
tokenLimitNumberUstawia maksymalną liczbę tokenów dla przechowywania i przetwarzania w pamięci.
charLimitNumberUstawia maksymalną liczbę znaków dla przechowywania w pamięci. Domyślnie: 10000.
maxInputTokensNumberOgranicza liczbę tokenów ostatnich czatów wysyłanych do automatycznego agenta pamięci przed ekstrakcją. Domyślnie: 12000.
personalizeBooleanWłącza lub wyłącza funkcje personalizacji.
messageWindowSizeNumberOkreśla liczbę ostatnich wiadomości do uwzględnienia w kontekście pamięci.
agentObject | UnionKonfiguruje agenta odpowiedzialnego za przetwarzanie pamięci.

zobacz: Struktura obiektu Memory

summarization

Klucz:

KeyTypeDescriptionExample
summarizationObjectKonfiguruje podsumowywanie konwersacji i przycinanie kontekstu. Zastępuje pola `summarize` oraz `summaryModel` dla poszczególnych endpoint.

Podklucze:

KeyTypeDescriptionExample
providerStringDostawca LLM dla wywołań podsumowujących. Domyślnie używa dostawcy agenta.
modelStringModel dla wywołań podsumowań. Domyślnie używa modelu agenta.
parametersObjectDodatkowe parametry LLM dla żądań podsumowania.
promptStringNiestandardowy prompt dla wstępnego podsumowania.
updatePromptStringNiestandardowy prompt dla ponownej kompresji, gdy istnieje wcześniejsze podsumowanie.
triggerObjectOkreśla, kiedy wyzwalane jest podsumowanie (według stosunku tokenów, pozostałych tokenów lub liczby wiadomości).
maxSummaryTokensNumberMaksymalna liczba tokenów wyjściowych dla odpowiedzi modelu podsumowującego.
reserveRatioNumberUłamek budżetu tokenów zarezerwowany jako margines (0–1). Domyślnie: 0.05.
contextPruningObjectKonfiguruje degradację wyników narzędzi opartą na pozycji dla starszych wiadomości.

zobacz: Struktura obiektu podsumowania

actions

Klucz:

KeyTypeDescriptionExample
actionsObjectKonfiguruje ustawienia powiązane z akcjami, używane przez Agents i Assistants

Podklucze:

KeyTypeDescriptionExample
allowedDomainsArray of StringsŚcisła biała lista domen dla akcji. Po ustawieniu dostępne są tylko wymienione domeny.
allowedAddressesArray of StringsLista wyjątków SSRF (tylko prywatna przestrzeń adresowa IP). Zezwala na określone prywatne usługi host:port bez ograniczania publicznych miejsc docelowych, gdy `allowedDomains` nie jest skonfigurowane.

zobacz także:

interface

Klucz:

KeyTypeDescriptionExample
interfaceObjectKonfiguruje elementy interfejsu użytkownika w aplikacji, umożliwiając dostosowanie widoczności i zachowania poszczególnych komponentów.

Podklucze:

KeyTypeDescriptionExample
privacyPolicyObjectZawiera ustawienia powiązane z podanym linkiem do polityki prywatności.
termsOfServiceObjectZawiera ustawienia powiązane z podanym linkiem do warunków świadczenia usług.
modelSelectBooleanOkreśla, czy funkcja wyboru modelu jest dostępna.
parametersBooleanPrzełącza widoczność opcji konfiguracji parametrów, znanych również jako ustawienia konwersacji.
presetsBooleanWłącza lub wyłącza menu ustawień wstępnych (presets)
promptsBoolean or ObjectWłącza lub wyłącza wszystkie funkcje związane z promptami dla wszystkich użytkowników
bookmarksBooleanWłącza lub wyłącza wszystkie funkcje związane z zakładkami dla wszystkich użytkowników
memoriesBooleanWłącza lub wyłącza funkcję pamięci dla wszystkich użytkowników
multiConvoBooleanWłącza lub wyłącza wszystkie funkcje związane z „multi convo”, czyli wielokrotnym strumieniowaniem odpowiedzi, dla wszystkich użytkowników
agentsBoolean or ObjectWłącza lub wyłącza wszystkie funkcje agentów dla wszystkich użytkowników
temporaryChatBooleanWłącza lub wyłącza funkcję czatu tymczasowego
temporaryChatRetentionNumberKonfiguruje okres przechowywania tymczasowych czatów w godzinach. Min: 1, Maks: 8760. Domyślnie: 720 (30 dni).
autoSubmitFromUrlBooleanOkreśla, czy `/c/new?prompt=…&submit=true` automatycznie wysyła zapytanie do modelu. Gdy ustawione na `false`, zapytanie jest wstępnie wypełniane, ale nie wysyłane.
mcpServersObjectZawiera ustawienia związane z wyborem serwera MCP i kontrolą dostępu.
customWelcomeStringNiestandardowy komunikat powitalny wyświetlany w interfejsie czatu.
runCodeBooleanWłącza lub wyłącza przycisk „Uruchom kod” dla bloków kodu Markdown
webSearchBooleanWłącza lub wyłącza przycisk wyszukiwania w internecie w interfejsie czatu
fileSearchBooleanWłącza lub wyłącza przycisk wyszukiwania plików w interfejsie czatu
fileCitationsBooleanGlobalnie włącza lub wyłącza cytowania plików dla wszystkich użytkowników
peoplePickerObjectKonfiguruje, które typy podmiotów są dostępne jako kontrolki w interfejsie wyboru osób
marketplaceObjectWłącza lub wyłącza dostęp do Agent Marketplace

zobacz: Struktura obiektu interfejsu

modelSpecs

Klucz:

KeyTypeDescriptionExample
modelSpecsObjectKonfiguruje Model Specs, umożliwiając szczegółową konfigurację i dostosowywanie modeli AI oraz ich zachowań w ramach aplikacji.

Podklucze:

KeyTypeDescriptionExample
enforceBooleanOkreśla, czy Model Specs powinny ściśle nadpisywać inne ustawienia konfiguracji.
prioritizeBooleanOkreśla, czy Model Specs powinny mieć pierwszeństwo przed domyślną konfiguracją, gdy obie mają zastosowanie.
listArray of ObjectsZawiera listę poszczególnych specyfikacji modeli, szczegółowo opisujących różne konfiguracje i zachowania.

zobacz: Struktura obiektu Model Specs

endpoints

Klucz:

KeyTypeDescriptionExample
endpointsObjectDefiniuje niestandardowe endpointy API dla aplikacji.

Podklucze:

KeyTypeDescriptionExample
customArray of ObjectsKażdy obiekt w tablicy reprezentuje unikalną konfigurację endpoint.
azureOpenAIObjectKonfiguracja specyficzna dla endpointu Azure OpenAI
assistantsObjectKonfiguracja specyficzna dla endpointu Assistants.
azureAssistantsObjectKonfiguracja specyficzna dla endpointu Azure Assistants.
agentsObjectKonfiguracja endpoint-specific dla Agents.
allObjectGlobalne ustawienia endpoint, które mają zastosowanie do wszystkich endpointów. Zobacz Shared Endpoint Settings.
allowedAddressesArray of StringsLista wyjątków SSRF (tylko prywatna przestrzeń adresów IP). Pozwala na wskazywanie przez użytkownika baseURLs do określonych usług host:port w sieci prywatnej (np. samodzielnie hostowana Ollama) bez wyłączania ochrony SSRF dla wszystkiego innego.

Uwaga: Endpointy obsługują Shared Endpoint Settings, takie jak streamRate, headers, titleModel, titleMethod, titlePrompt, titlePromptTemplate, titleEndpoint oraz maxToolResultChars. Można je skonfigurować indywidualnie dla każdego endpointu lub globalnie przy użyciu klucza all. Wartości headers są scalane, przy czym wartości na poziomie endpointu mają pierwszeństwo w przypadku kolizji kluczy. Klucz all nie akceptuje baseURL.

Uwaga: endpoints.allowedAddresses ma zastosowanie do wartości baseURL podawanych przez użytkownika (gdy administrator konfiguruje niestandardowy endpoint z apiKey: 'user_provided' oraz baseURL: 'user_provided'). Każdy dostarczony przez użytkownika baseURL jest sprawdzany pod kątem blokady SSRF w momencie żądania; wpisy wymienione tutaj są z niej wyłączone. Zobacz mcpSettings.allowedAddresses, aby poznać semantykę tego pola — obowiązują te same zasady (tylko prywatna przestrzeń adresów IP, wymagany port, brak adresów URL/ścieżek/CIDR/samych nazw hostów/publicznych literałów IP).

mcpSettings

Klucz:

KeyTypeDescriptionExample
mcpSettingsObjectDefiniuje globalne ustawienia dla serwerów Model Context Protocol (MCP)

Podklucze:

KeyTypeDescriptionExample
allowedDomainsArray of StringsŚcisła biała lista domen dla połączeń z serwerem MCP. Gdy jest ustawiona, dostępne są tylko wymienione wpisy.
allowedAddressesArray of StringsLista wyjątków SSRF (tylko prywatna przestrzeń IP). Zezwala na określone usługi host:port w sieci prywatnej bez przełączania `allowedDomains` w tryb ścisłej białej listy.
  • Uwagi:
    • Jest to funkcja bezpieczeństwa chroniąca przed nadużyciami / niewłaściwym wykorzystaniem adresów wewnętrznych za pośrednictwem serwerów MCP
    • Domyślnie LibreChat ogranicza serwerom MCP możliwość łączenia się z wewnętrznymi, lokalnymi lub prywatnymi adresami sieciowymi.
    • Serwery MCP korzystające z lokalnych adresów IP lub domen można dodać do ścisłej białej listy allowedDomains (która stanie się wówczas jedynym dostępnym zestawem), lub — aby zachować dostępność publicznych miejsc docelowych — wykluczyć je jako dokładne usługi host:port za pomocą allowedAddresses.
    • Jak w przypadku wszystkich zmian w konfiguracji yaml, wymagany jest restart LibreChat, aby weszły one w życie.
    • Obsługuje domeny, wieloznaczne subdomeny (*.example.com), domeny Docker oraz adresy IP

Przykład:

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

zobacz: Struktura obiektu ustawień MCP

mcpServers

Klucz:

KeyTypeDescriptionExample
mcpServersObjectDefiniuje konfigurację serwerów Model Context Protocol (MCP), umożliwiając dynamiczną integrację serwerów MCP wewnątrz aplikacji.

Podklucze:

KeyTypeDescriptionExample
<serverName>ObjectKażdy klucz w `mcpServers` reprezentuje indywidualną konfigurację serwera MCP, identyfikowaną za pomocą unikalnej nazwy.
  • Uwagi:
    • Inicjalizacja następuje podczas uruchamiania, a aplikacja musi zostać zrestartowana, aby zmiany weszły w życie.
    • <serverName> to unikalny identyfikator dla każdej konfiguracji serwera MCP.
    • Każdy serwer MCP można skonfigurować przy użyciu jednego z czterech typów połączeń:
      • stdio
      • websocket
      • sse
      • streamable-http
    • Pole type określa typ połączenia z serwerem MCP.
    • Jeśli type zostanie pominięty, jego wartość domyślna zostanie ustalona na podstawie obecności i formatu url lub command:
      • Jeśli określono url i zaczyna się on od http lub https, type domyślnie przyjmuje wartość sse.
      • Jeśli określono url i zaczyna się on od ws lub wss, type domyślnie przyjmuje wartość websocket.
      • Jeśli określono command, type domyślnie przyjmuje wartość stdio.
    • Dodatkowe opcje konfiguracji obejmują:
      • timeout: Limit czasu w milisekundach dla żądań serwera MCP. Określa, jak długo czekać na odpowiedź w przypadku żądań narzędzi.
      • initTimeout: Limit czasu w milisekundach dla inicjalizacji serwera MCP. Określa, jak długo czekać na zainicjowanie serwera.
      • serverInstructions: Określa, czy instrukcje serwera są uwzględniane w kontekście agenta. Może przyjmować wartość true (użyj dostarczonych przez serwer), false (wyłączone) lub niestandardowy ciąg znaków (nadpisuje te dostarczone przez serwer).
      • customUserVars: (Opcjonalne) Definiuje niestandardowe zmienne (np. klucze API, adresy URL), które poszczególni użytkownicy mogą ustawić dla serwera MCP. Te wartości dla poszczególnych użytkowników, dostarczane przez interfejs użytkownika, mogą być następnie przywoływane w konfiguracjach headers lub env serwera przy użyciu składni {{VARIABLE_NAME}}. Pozwala to na uwierzytelnianie lub dostosowywanie narzędzi MCP dla każdego użytkownika z osobna.
    • zobacz: Struktura obiektu MCP Servers

Przykład:

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

zobacz: Struktura obiektu MCP Servers

speech

Klucz:

KeyTypeDescriptionExample
speechObjectKonfiguruje dostawców zamiany tekstu na mowę (TTS) i mowy na tekst (STT) dla aplikacji.

Podklucze:

KeyTypeDescriptionExample
ttsObjectKonfiguracje dostawców Text-to-Speech (OpenAI, Azure OpenAI, ElevenLabs, LocalAI).
sttObjectKonfiguracje dostawców zamiany mowy na tekst (OpenAI, Azure OpenAI).
speechTabObjectDomyślne ustawienia interfejsu dla funkcji mowy.

zobacz: Struktura obiektu mowy

turnstile

Klucz:

KeyTypeDescriptionExample
turnstileObjectKonfiguruje Cloudflare Turnstile w celu ochrony przed botami w formularzach rejestracji i logowania.

Podklucze:

KeyTypeDescriptionExample
siteKeyStringTwój klucz witryny Cloudflare Turnstile (wymagany).
optionsObjectDodatkowe opcje widżetu Turnstile (opcjonalne).

zobacz: Turnstile Object Structure

transactions

Klucz:

KeyTypeDescriptionExample
transactionsObjectSteruje funkcjami rejestrowania transakcji i widoczności.

Podklucze:

KeyTypeDescriptionExample
enabledBooleanWłącza lub wyłącza logowanie transakcji. Domyślnie: true.

zobacz: Struktura obiektu Transactions

Jaka jest ta instrukcja?