Struktura konfiguracji
Uwaga: Pola, które nie zostały wyraźnie określone jako wymagane, są opcjonalne.
version
- wymagane
| Key | Type | Description | Example |
|---|---|---|---|
| version | String | Określa wersję pliku konfiguracyjnego. | version: 1.3.13 |
cache
| Key | Type | Description | Example |
|---|---|---|---|
| cache | Boolean | Włącza lub wyłącza buforowanie. Ustaw na `true`, aby włączyć buforowanie (domyślnie). | cache: true |
skillSync
| Key | Type | Description | Example |
|---|---|---|---|
| skillSync | Object | Konfiguruje zewnętrzne mirrorowanie Skill. W wersji v1.3.13 obsługiwana jest synchronizacja GitHub Skill. |
zobacz: Struktura obiektu Skill Sync
messageFilter
| Key | Type | Description | Example |
|---|---|---|---|
| messageFilter | Object | Konfiguruje 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"
| Key | Type | Description | Example |
|---|---|---|---|
| fileStrategy | String | Okreś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 skonfigurujfileStrategies, aby kierowaćavatariimagedo 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"
| Key | Type | Description | Example |
|---|---|---|---|
| fileStrategies | Object | Konfiguruje różne strategie przechowywania dla różnych typów plików. Bardziej elastyczne niż pojedyncza opcja fileStrategy. |
Podklucze:
| Key | Type | Description | Example |
|---|---|---|---|
| default | String | Strategia przechowywania zapasowego, gdy nie określono konkretnego typu. Domyślnie "local". | |
| avatar | String | Strategia 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. | |
| image | String | Strategia przechowywania obrazów przesłanych w czatach. Zaleca się użycie strategii opartej na CDN (`"cloudfront"` lub `"firebase"`) w celu uzyskania najlepszej wydajności. | |
| document | String | Strategia przechowywania dla przesyłanych dokumentów (PDF, pliki tekstowe itp.). | |
| skills | String | Strategia 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ępniefileStrategy, 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"dlaavatarorazimage, 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
- To ustawienie ma pierwszeństwo przed pojedynczą opcją
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 localcloudfront
Klucz:
| Key | Type | Description | Example |
|---|---|---|---|
| cloudfront | Object | Konfiguruje dostarczanie przez CloudFront plików przechowywanych w S3. |
Podklucze:
| Key | Type | Description | Example |
|---|---|---|---|
| domain | String | Domena dystrybucji CloudFront lub CNAME. Wymagane, gdy jakakolwiek strategia plików używa `"cloudfront"`. | domain: "https://cdn.example.com" |
| distributionId | String | Identyfikator dystrybucji CloudFront. Wymagany, gdy `invalidateOnDelete` ma wartość true. | distributionId: "E1234ABCD" |
| invalidateOnDelete | Boolean | Tworzy unieważnienie CloudFront dla usuniętych plików. Domyślnie: false. | invalidateOnDelete: false |
| imageSigning | String | Kontroluje dostęp do obrazów/awatarów inline. Opcje: `"none"` lub `"cookies"`. `"url"` jest zarezerwowane i niezaimplementowane dla obrazów. | imageSigning: "cookies" |
| cookieDomain | String | Wymagana współdzielona domena nadrzędna plików cookie dla podpisanych plików cookie. Musi zaczynać się od kropki. | cookieDomain: ".example.com" |
| cookieExpiry | Number | Czas życia podpisanego ciasteczka w sekundach. Domyślnie: 1800, maksymalnie: 604800. | cookieExpiry: 1800 |
| urlExpiry | Number | Czas życia podpisanego adresu URL pobierania CloudFront w sekundach. Domyślnie: 3600. | urlExpiry: 3600 |
| storageRegion | String | Opcjonalna etykieta regionu używana w wygenerowanych kluczach obiektów, gdy ścieżki regionów są włączone. | storageRegion: "us-east-2" |
| includeRegionInPath | Boolean | Uwzględnia region przechowywania w nowo wygenerowanych kluczach obiektów. Domyślnie: false. | includeRegionInPath: false |
| requireSignedAccess | Boolean | Odrzuca 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
| Key | Type | Description | Example |
|---|---|---|---|
| filteredTools | Array of Strings | Filtruje określone narzędzia z endpointów Plugins oraz OpenAI Assistants. | filteredTools: ["scholarai", "calculator"] |
- Uwagi:
- Jeśli określono zarówno
includedTools, jak ifilteredTools, rozpoznane zostanie tylkoincludedTools. - Dotyczy zarówno endpointów
gptPlugins, jak iassistants - Nazwy narzędzi do filtrowania można znaleźć w pliku
api/app/clients/tools/manifest.json- Użyj wartości
pluginKey
- Użyj wartości
- Ponadto, wszelkie wymienione w katalogu ".well-known"
api/app/clients/tools/.well-known- Użyj wartości
name_for_model
- Użyj wartości
- Jeśli określono zarówno
includedTools
| Key | Type | Description | Example |
|---|---|---|---|
| includedTools | Array of Strings | Zawiera 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 ifilteredTools, rozpoznane zostanie tylkoincludedTools. - Dotyczy zarówno endpointów
gptPlugins, jak iassistants - Nazwy narzędzi do filtrowania można znaleźć w pliku
api/app/clients/tools/manifest.json- Użyj wartości
pluginKey
- Użyj wartości
- Ponadto, wszelkie wymienione w katalogu ".well-known"
api/app/clients/tools/.well-known- Użyj wartości
name_for_model
- Użyj wartości
- Jeśli określono zarówno
secureImageLinks
| Key | Type | Description | Example |
|---|---|---|---|
| secureImageLinks | Boolean | Czy 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"
| Key | Type | Description | Example |
|---|---|---|---|
| imageOutputType | String | Typ wyjściowy obrazu dla odpowiedzi graficznych. Domyślnie "png", jeśli zostanie pominięty. | imageOutputType: "webp" |
ocr
Klucz:
| Key | Type | Description | Example |
|---|---|---|---|
| ocr | Object | Konfiguruje ustawienia optycznego rozpoznawania znaków (OCR) do wyodrębniania tekstu z obrazów. |
Podklucze:
| Key | Type | Description | Example |
|---|---|---|---|
| apiKey | String | Klucz API dla usługi OCR. | |
| baseURL | String | Podstawowy adres URL dla API usługi OCR. | |
| strategy | String | Strategia OCR do użycia. Opcje to "mistral_ocr", "azure_mistral_ocr", "vertexai_mistral_ocr", "document_parser" lub "custom_ocr". | |
| mistralModel | String | Model Mistral do wykorzystania w przetwarzaniu OCR. |
zobacz: Struktura obiektu konfiguracji OCR
webSearch
Klucz:
| Key | Type | Description | Example |
|---|---|---|---|
| webSearch | Object | Konfiguruje funkcjonalność wyszukiwania w sieci, w tym dostawców wyszukiwania, skrapery treści i mechanizmy zmiany rankingu wyników. |
Podklucze:
| Key | Type | Description | Example |
|---|---|---|---|
| serperApiKey | String | Nazwa zmiennej środowiskowej dla klucza API Serper. Jeśli nie zostanie ustawiona w .env, użytkownicy zostaną poproszeni o jej podanie przez interfejs użytkownika. | |
| searxngInstanceUrl | String | Nazwa 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. | |
| searxngApiKey | String | Nazwa zmiennej środowiskowej dla klucza API SearXNG. Jeśli nie zostanie ustawiona w .env, użytkownicy zostaną poproszeni o podanie jej przez interfejs użytkownika. | |
| tavilyApiKey | String | Nazwa 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. | |
| tavilySearchUrl | String | Nazwa zmiennej środowiskowej dla niestandardowego adresu URL Tavily Search API. Opcjonalna; jeśli nie zostanie ustawiona, domyślnie używane jest wyszukiwanie hostowane przez Tavily. | |
| tavilyExtractUrl | String | Nazwa zmiennej środowiskowej dla niestandardowego adresu URL API Tavily Extract. Opcjonalne; jeśli nie zostanie ustawione, domyślnie używany jest hostowany ekstraktor Tavily. | |
| firecrawlApiKey | String | Nazwa zmiennej środowiskowej dla klucza API Firecrawl. Jeśli nie zostanie ustawiona w .env, użytkownicy będą proszeni o podanie jej przez UI. | |
| firecrawlApiUrl | String | Nazwa 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. | |
| jinaApiKey | String | Nazwa zmiennej środowiskowej dla klucza API Jina. Jeśli nie zostanie ustawiona w .env, użytkownicy zostaną poproszeni o jej podanie przez interfejs użytkownika. | |
| cohereApiKey | String | Nazwa zmiennej środowiskowej dla klucza API Cohere. Jeśli nie zostanie ustawiona w .env, użytkownicy zostaną poproszeni o podanie jej przez interfejs użytkownika. | |
| searchProvider | String | Określa, którego dostawcę wyszukiwania użyć. Opcje: "serper", "searxng", "tavily". | |
| scraperProvider | String | Określa, której usługi scrapowania użyć. Opcje: "firecrawl", "serper", "tavily". | |
| firecrawlVersion | String | Określa wersję API Firecrawl (v0 lub v1). | |
| rerankerType | String | Określa, której usługi rerankera użyć. Ustaw na "none", aby pominąć reranking. Opcje: "jina", "cohere", "none". | |
| scraperTimeout | Integer | Limit czasu w milisekundach dla żądań scrapera. Musi być nieujemną liczbą całkowitą. | |
| safeSearch | Number | Poziom filtrowania bezpiecznego wyszukiwania. 0 = WYŁ., 1 = UMIARKOWANY (domyślnie), 2 = ŚCISŁY. |
zobacz: Struktura obiektu wyszukiwania w sieci
fileConfig
Klucz:
| Key | Type | Description | Example |
|---|---|---|---|
| fileConfig | Object | Konfiguruje ustawienia obsługi plików dla aplikacji, w tym limity rozmiaru i ograniczenia typów MIME. |
Podklucze:
| Key | Type | Description | Example |
|---|---|---|---|
| endpoints | Record/Object | Określa konfiguracje obsługi plików dla poszczególnych endpoint, umożliwiając dostosowanie ich dla każdego endpoint z osobna. | |
| serverFileSizeLimit | Number | Maksymalny rozmiar pliku (w MB), który serwer zaakceptuje. Dotyczy globalnie wszystkich endpoint, chyba że zostanie nadpisany przez ustawienia specyficzne dla danego endpoint. | |
| avatarSizeLimit | Number | Maksymalny rozmiar (w MB) dla obrazów awatarów użytkownika. | |
| clientImageResize | Object | Konfiguruje 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. | |
| ocr | Object | Ustawienia przetwarzania plików za pomocą optycznego rozpoznawania znaków (OCR). | |
| text | Object | Ustawienia bezpośredniego parsowania plików tekstowych. | |
| stt | Object | Ustawienia przetwarzania plików audio Speech-to-Text (STT). | |
| fileTokenLimit | Number | Maksymalna liczba tokenów z plików tekstowych do uwzględnienia w promptach przed obcięciem. | fileTokenLimit: 100000 |
clientImageResize
Klucz:
| Key | Type | Description | Example |
|---|---|---|---|
| clientImageResize | Object | Konfiguruje 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:
| Key | Type | Description | Example |
|---|---|---|---|
| enabled | Boolean | Włącza lub wyłącza funkcję zmiany rozmiaru obrazów po stronie klienta. Domyślnie: false. | enabled: true |
| maxWidth | Number | Maksymalna szerokość w pikselach dla przeskalowanych obrazów. Obrazy szersze niż ta wartość zostaną przeskalowane. Domyślnie: 1920. | maxWidth: 1024 |
| maxHeight | Number | Maksymalna wysokość w pikselach dla przeskalowanych obrazów. Obrazy wyższe niż ta wartość zostaną przeskalowane. Domyślnie: 1080. | maxHeight: 768 |
| quality | Number | Jakość 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 |
| compressFormat | String | Format 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:
| Key | Type | Description | Example |
|---|---|---|---|
| rateLimits | Object | Definiuje zasady limitowania zapytań (rate limiting), aby zapobiegać nadużyciom poprzez ograniczenie liczby żądań. |
Podklucze:
| Key | Type | Description | Example |
|---|---|---|---|
| fileUploads | Object | Konfiguruje limity szybkości specjalnie dla operacji przesyłania plików. | |
| conversationsImport | Object | Konfiguruje limity szybkości specjalnie dla operacji importu konwersacji. | |
| stt | Object | Konfiguruje limity szybkości specjalnie dla żądań zamiany mowy na tekst (stt) | |
| tts | Object | Konfiguruje limity szybkości specjalnie dla żądań zamiany tekstu na mowę (tts) |
Podklucze fileUploads:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | Maksymalna liczba przesłanych plików dozwolona na adres IP w danym oknie czasowym. | |
| ipWindowInMinutes | Number | Okno czasowe w minutach dla limitu przesyłania opartego na adresie IP. | |
| userMax | Number | Maksymalna liczba przesłanych plików dozwolona na użytkownika w danym oknie. | |
| userWindowInMinutes | Number | Okno czasowe w minutach dla limitu przesyłania plików przez użytkownika. |
Podklucze conversationsImport:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | Maksymalna liczba importów dozwolona na adres IP w danym oknie czasowym. | |
| ipWindowInMinutes | Number | Okno czasowe w minutach dla limitu importów opartego na adresie IP. | |
| userMax | Number | Maksymalna liczba importów na użytkownika w oknie. | |
| userWindowInMinutes | Number | Okno czasowe w minutach dla limitu importów użytkownika. |
Podklucze tts:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | Maksymalna liczba żądań dozwolona na adres IP w danym oknie czasowym. | |
| ipWindowInMinutes | Number | Okno czasowe w minutach dla limitu żądań opartych na adresie IP. | |
| userMax | Number | Maksymalna liczba żądań na użytkownika w danym oknie czasowym. | |
| userWindowInMinutes | Number | Okno czasowe w minutach dla limitu żądań użytkownika. |
Podklucze stt:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | Maksymalna liczba żądań dozwolona na adres IP w danym oknie czasowym. | |
| ipWindowInMinutes | Number | Okno czasowe w minutach dla limitu żądań opartych na adresie IP. | |
| userMax | Number | Maksymalna liczba żądań na użytkownika w danym oknie czasowym. | |
| userWindowInMinutes | Number | Okno 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: 1registration
Klucz:
| Key | Type | Description | Example |
|---|---|---|---|
| registration | Object | Konfiguruje ustawienia aplikacji związane z rejestracją. |
Podklucze:
| Key | Type | Description | Example |
|---|---|---|---|
| socialLogins | Konfiguracje logowania społecznościowego. | ||
| allowedDomains | Określa dozwolone domeny dla rejestracji. |
zobacz także:
memory
Klucz:
| Key | Type | Description | Example |
|---|---|---|---|
| memory | Object | Konfiguruje pamięć konwersacji i funkcje personalizacji dla aplikacji. |
Podklucze:
| Key | Type | Description | Example |
|---|---|---|---|
| disabled | Boolean | Wyłącza funkcjonalność pamięci, gdy ustawiono na true. | |
| validKeys | Array of Strings | Określa, które klucze są prawidłowe dla przechowywania w pamięci. | |
| tokenLimit | Number | Ustawia maksymalną liczbę tokenów dla przechowywania i przetwarzania w pamięci. | |
| charLimit | Number | Ustawia maksymalną liczbę znaków dla przechowywania w pamięci. Domyślnie: 10000. | |
| maxInputTokens | Number | Ogranicza liczbę tokenów ostatnich czatów wysyłanych do automatycznego agenta pamięci przed ekstrakcją. Domyślnie: 12000. | |
| personalize | Boolean | Włącza lub wyłącza funkcje personalizacji. | |
| messageWindowSize | Number | Określa liczbę ostatnich wiadomości do uwzględnienia w kontekście pamięci. | |
| agent | Object | Union | Konfiguruje agenta odpowiedzialnego za przetwarzanie pamięci. |
zobacz: Struktura obiektu Memory
summarization
Klucz:
| Key | Type | Description | Example |
|---|---|---|---|
| summarization | Object | Konfiguruje podsumowywanie konwersacji i przycinanie kontekstu. Zastępuje pola `summarize` oraz `summaryModel` dla poszczególnych endpoint. |
Podklucze:
| Key | Type | Description | Example |
|---|---|---|---|
| provider | String | Dostawca LLM dla wywołań podsumowujących. Domyślnie używa dostawcy agenta. | |
| model | String | Model dla wywołań podsumowań. Domyślnie używa modelu agenta. | |
| parameters | Object | Dodatkowe parametry LLM dla żądań podsumowania. | |
| prompt | String | Niestandardowy prompt dla wstępnego podsumowania. | |
| updatePrompt | String | Niestandardowy prompt dla ponownej kompresji, gdy istnieje wcześniejsze podsumowanie. | |
| trigger | Object | Określa, kiedy wyzwalane jest podsumowanie (według stosunku tokenów, pozostałych tokenów lub liczby wiadomości). | |
| maxSummaryTokens | Number | Maksymalna liczba tokenów wyjściowych dla odpowiedzi modelu podsumowującego. | |
| reserveRatio | Number | Ułamek budżetu tokenów zarezerwowany jako margines (0–1). Domyślnie: 0.05. | |
| contextPruning | Object | Konfiguruje degradację wyników narzędzi opartą na pozycji dla starszych wiadomości. |
zobacz: Struktura obiektu podsumowania
actions
Klucz:
| Key | Type | Description | Example |
|---|---|---|---|
| actions | Object | Konfiguruje ustawienia powiązane z akcjami, używane przez Agents i Assistants |
Podklucze:
| Key | Type | Description | Example |
|---|---|---|---|
| allowedDomains | Array of Strings | Ścisła biała lista domen dla akcji. Po ustawieniu dostępne są tylko wymienione domeny. | |
| allowedAddresses | Array of Strings | Lista 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:
| Key | Type | Description | Example |
|---|---|---|---|
| interface | Object | Konfiguruje elementy interfejsu użytkownika w aplikacji, umożliwiając dostosowanie widoczności i zachowania poszczególnych komponentów. |
Podklucze:
| Key | Type | Description | Example |
|---|---|---|---|
| privacyPolicy | Object | Zawiera ustawienia powiązane z podanym linkiem do polityki prywatności. | |
| termsOfService | Object | Zawiera ustawienia powiązane z podanym linkiem do warunków świadczenia usług. | |
| modelSelect | Boolean | Określa, czy funkcja wyboru modelu jest dostępna. | |
| parameters | Boolean | Przełącza widoczność opcji konfiguracji parametrów, znanych również jako ustawienia konwersacji. | |
| presets | Boolean | Włącza lub wyłącza menu ustawień wstępnych (presets) | |
| prompts | Boolean or Object | Włącza lub wyłącza wszystkie funkcje związane z promptami dla wszystkich użytkowników | |
| bookmarks | Boolean | Włącza lub wyłącza wszystkie funkcje związane z zakładkami dla wszystkich użytkowników | |
| memories | Boolean | Włącza lub wyłącza funkcję pamięci dla wszystkich użytkowników | |
| multiConvo | Boolean | Włącza lub wyłącza wszystkie funkcje związane z „multi convo”, czyli wielokrotnym strumieniowaniem odpowiedzi, dla wszystkich użytkowników | |
| agents | Boolean or Object | Włącza lub wyłącza wszystkie funkcje agentów dla wszystkich użytkowników | |
| temporaryChat | Boolean | Włącza lub wyłącza funkcję czatu tymczasowego | |
| temporaryChatRetention | Number | Konfiguruje okres przechowywania tymczasowych czatów w godzinach. Min: 1, Maks: 8760. Domyślnie: 720 (30 dni). | |
| autoSubmitFromUrl | Boolean | Okreś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. | |
| mcpServers | Object | Zawiera ustawienia związane z wyborem serwera MCP i kontrolą dostępu. | |
| customWelcome | String | Niestandardowy komunikat powitalny wyświetlany w interfejsie czatu. | |
| runCode | Boolean | Włącza lub wyłącza przycisk „Uruchom kod” dla bloków kodu Markdown | |
| webSearch | Boolean | Włącza lub wyłącza przycisk wyszukiwania w internecie w interfejsie czatu | |
| fileSearch | Boolean | Włącza lub wyłącza przycisk wyszukiwania plików w interfejsie czatu | |
| fileCitations | Boolean | Globalnie włącza lub wyłącza cytowania plików dla wszystkich użytkowników | |
| peoplePicker | Object | Konfiguruje, które typy podmiotów są dostępne jako kontrolki w interfejsie wyboru osób | |
| marketplace | Object | Włącza lub wyłącza dostęp do Agent Marketplace |
zobacz: Struktura obiektu interfejsu
modelSpecs
Klucz:
| Key | Type | Description | Example |
|---|---|---|---|
| modelSpecs | Object | Konfiguruje Model Specs, umożliwiając szczegółową konfigurację i dostosowywanie modeli AI oraz ich zachowań w ramach aplikacji. |
Podklucze:
| Key | Type | Description | Example |
|---|---|---|---|
| enforce | Boolean | Określa, czy Model Specs powinny ściśle nadpisywać inne ustawienia konfiguracji. | |
| prioritize | Boolean | Określa, czy Model Specs powinny mieć pierwszeństwo przed domyślną konfiguracją, gdy obie mają zastosowanie. | |
| list | Array of Objects | Zawiera listę poszczególnych specyfikacji modeli, szczegółowo opisujących różne konfiguracje i zachowania. |
zobacz: Struktura obiektu Model Specs
endpoints
Klucz:
| Key | Type | Description | Example |
|---|---|---|---|
| endpoints | Object | Definiuje niestandardowe endpointy API dla aplikacji. |
Podklucze:
| Key | Type | Description | Example |
|---|---|---|---|
| custom | Array of Objects | Każdy obiekt w tablicy reprezentuje unikalną konfigurację endpoint. | |
| azureOpenAI | Object | Konfiguracja specyficzna dla endpointu Azure OpenAI | |
| assistants | Object | Konfiguracja specyficzna dla endpointu Assistants. | |
| azureAssistants | Object | Konfiguracja specyficzna dla endpointu Azure Assistants. | |
| agents | Object | Konfiguracja endpoint-specific dla Agents. | |
| all | Object | Globalne ustawienia endpoint, które mają zastosowanie do wszystkich endpointów. Zobacz Shared Endpoint Settings. | |
| allowedAddresses | Array of Strings | Lista 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,titleEndpointorazmaxToolResultChars. Można je skonfigurować indywidualnie dla każdego endpointu lub globalnie przy użyciu kluczaall. Wartościheaderssą scalane, przy czym wartości na poziomie endpointu mają pierwszeństwo w przypadku kolizji kluczy. Kluczallnie akceptujebaseURL.
Uwaga:
endpoints.allowedAddressesma zastosowanie do wartościbaseURLpodawanych przez użytkownika (gdy administrator konfiguruje niestandardowy endpoint zapiKey: 'user_provided'orazbaseURL: '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. ZobaczmcpSettings.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:
| Key | Type | Description | Example |
|---|---|---|---|
| mcpSettings | Object | Definiuje globalne ustawienia dla serwerów Model Context Protocol (MCP) |
Podklucze:
| Key | Type | Description | Example |
|---|---|---|---|
| allowedDomains | Array of Strings | Ścisła biała lista domen dla połączeń z serwerem MCP. Gdy jest ustawiona, dostępne są tylko wymienione wpisy. | |
| allowedAddresses | Array of Strings | Lista 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 portzobacz: Struktura obiektu ustawień MCP
mcpServers
Klucz:
| Key | Type | Description | Example |
|---|---|---|---|
| mcpServers | Object | Definiuje konfigurację serwerów Model Context Protocol (MCP), umożliwiając dynamiczną integrację serwerów MCP wewnątrz aplikacji. |
Podklucze:
| Key | Type | Description | Example |
|---|---|---|---|
| <serverName> | Object | Każ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ń:
stdiowebsocketssestreamable-http
- Pole
typeokreśla typ połączenia z serwerem MCP. - Jeśli
typezostanie pominięty, jego wartość domyślna zostanie ustalona na podstawie obecności i formatuurllubcommand:- Jeśli określono
urli zaczyna się on odhttplubhttps,typedomyślnie przyjmuje wartośćsse. - Jeśli określono
urli zaczyna się on odwslubwss,typedomyślnie przyjmuje wartośćwebsocket. - Jeśli określono
command,typedomyślnie przyjmuje wartośćstdio.
- Jeśli określono
- 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 konfiguracjachheaderslubenvserwera 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: truezobacz: Struktura obiektu MCP Servers
speech
Klucz:
| Key | Type | Description | Example |
|---|---|---|---|
| speech | Object | Konfiguruje dostawców zamiany tekstu na mowę (TTS) i mowy na tekst (STT) dla aplikacji. |
Podklucze:
| Key | Type | Description | Example |
|---|---|---|---|
| tts | Object | Konfiguracje dostawców Text-to-Speech (OpenAI, Azure OpenAI, ElevenLabs, LocalAI). | |
| stt | Object | Konfiguracje dostawców zamiany mowy na tekst (OpenAI, Azure OpenAI). | |
| speechTab | Object | Domyślne ustawienia interfejsu dla funkcji mowy. |
zobacz: Struktura obiektu mowy
turnstile
Klucz:
| Key | Type | Description | Example |
|---|---|---|---|
| turnstile | Object | Konfiguruje Cloudflare Turnstile w celu ochrony przed botami w formularzach rejestracji i logowania. |
Podklucze:
| Key | Type | Description | Example |
|---|---|---|---|
| siteKey | String | Twój klucz witryny Cloudflare Turnstile (wymagany). | |
| options | Object | Dodatkowe opcje widżetu Turnstile (opcjonalne). |
zobacz: Turnstile Object Structure
transactions
Klucz:
| Key | Type | Description | Example |
|---|---|---|---|
| transactions | Object | Steruje funkcjami rejestrowania transakcji i widoczności. |
Podklucze:
| Key | Type | Description | Example |
|---|---|---|---|
| enabled | Boolean | Włącza lub wyłącza logowanie transakcji. Domyślnie: true. |
zobacz: Struktura obiektu Transactions
Dodatkowe linki
- Struktura obiektu podsumowania
- Struktura obiektu AWS Bedrock
- Struktura obiektu niestandardowego endpointu
- Struktura obiektu endpointu Azure OpenAI
- Struktura obiektu endpointu Assistants
- Agenci
- Struktura obiektu konfiguracji OCR
- Struktura obiektu mowy
- Struktura obiektu Turnstile
- Struktura obiektu Transactions
- Struktura obiektu Balance
- Struktura obiektu wyszukiwania w sieci
- Struktura obiektu Memory
Jaka jest ta instrukcja?