Struttura della configurazione
Nota: I campi non specificati esplicitamente come obbligatori sono facoltativi.
version
- obbligatorio
| Key | Type | Description | Example |
|---|---|---|---|
| version | String | Specifica la versione del file di configurazione. | version: 1.3.13 |
cache
| Key | Type | Description | Example |
|---|---|---|---|
| cache | Boolean | Attiva o disattiva la cache. Impostare su `true` per abilitare la cache (impostazione predefinita). | cache: true |
skillSync
| Key | Type | Description | Example |
|---|---|---|---|
| skillSync | Object | Configura il mirroring delle Skill esterne. Nella v1.3.13, è supportato GitHub Skill Sync. |
vedi: Struttura dell'oggetto Skill Sync
messageFilter
| Key | Type | Description | Example |
|---|---|---|---|
| messageFilter | Object | Configura i filtri dei messaggi lato server. Nella v1.3.13, `messageFilter.pii` può rifiutare il testo inviato che presenta il formato di credenziali prima delle chiamate al modello e della persistenza. |
vedi: Struttura dell'oggetto filtro messaggi
fileStrategy
- Opzioni: "local" | "firebase" | "s3" | "azure_blob" | "cloudfront"
| Key | Type | Description | Example |
|---|---|---|---|
| fileStrategy | String | Determina dove salvare i file caricati/generati dagli utenti. Se omesso, il valore predefinito è `"local"`. | fileStrategy: "firebase" |
- Note:
"cloudfront"archivia i file in S3 e restituisce URL CloudFront per una distribuzione multimediale stabile, cookie firmati e download firmati."firebase"serve i file tramite le posizioni edge di Firebase Storage e Firebase Hosting.- S3 serve i file tramite presigned URLs (token firmati temporanei) che scadono. Una volta scaduti, qualsiasi immagine o avatar che fa riferimento a quell'URL apparirà interrotto nell'interfaccia utente. Questo rende S3 inadatto come strategia primaria per le risorse visive. Vedi la discussione correlata per i dettagli.
- Per ottenere le migliori prestazioni con immagini e avatar, utilizza
"cloudfront"o"firebase", oppure configurafileStrategiesper instradareavatareimageverso una strategia basata su CDN. - Si prega di fare riferimento alla documentazione su File Storage & CDN per i dettagli sulla configurazione.
fileStrategies
Consente un controllo granulare sulle strategie di archiviazione dei file per diversi tipi di file.
- Strategie disponibili: "local" | "firebase" | "s3" | "azure_blob" | "cloudfront"
| Key | Type | Description | Example |
|---|---|---|---|
| fileStrategies | Object | Configura diverse strategie di archiviazione per diversi tipi di file. Più flessibile della singola opzione fileStrategy. |
Sotto-chiavi:
| Key | Type | Description | Example |
|---|---|---|---|
| default | String | Strategia di archiviazione di fallback quando non è definito un tipo specifico. L'impostazione predefinita è "local". | |
| avatar | String | Strategia di archiviazione per le immagini degli avatar di utenti e agenti. Si consiglia di utilizzare una strategia basata su CDN (`"cloudfront"` o `"firebase"`) per prestazioni ottimali. | |
| image | String | Strategia di archiviazione per le immagini caricate nelle chat. Si consiglia di utilizzare una strategia basata su CDN (`"cloudfront"` o `"firebase"`) per prestazioni ottimali. | |
| document | String | Strategia di archiviazione per il caricamento di documenti (PDF, file di testo, ecc.). | |
| skills | String | Strategia di archiviazione per i file inclusi negli Skills. |
- Note:
- Questa impostazione ha la precedenza sulla singola opzione
fileStrategy - Se un tipo di file specifico non è configurato, viene utilizzato il fallback su
default, poi sufileStrategye infine su"local". - Le immagini e gli avatar necessitano di URL persistenti e stabili per essere visualizzati correttamente nell'interfaccia utente. Gli URL pre-firmati S3 scadono (limite AWS: 7 giorni per utenti IAM, ore per credenziali basate su STS/ruoli), causando la rottura delle immagini nel selettore del modello e nell'interfaccia di chat. Consulta la discussione correlata per il contesto completo. Utilizza
"cloudfront"o"firebase"peravatareimageper evitare questo problema. - S3 e Azure Blob Storage sono adatti per l'archiviazione di
document, dove gli URL di download pre-firmati a breve termine sono appropriati. - Si prega di fare riferimento alla documentazione su File Storage & CDN per i dettagli di configurazione di ciascun provider di archiviazione.
- Questa impostazione ha la precedenza sulla singola opzione
Esempi:
# 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
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| cloudfront | Object | Configura la distribuzione CloudFront per i file archiviati in S3. |
Sottochiavi:
| Key | Type | Description | Example |
|---|---|---|---|
| domain | String | Dominio della distribuzione CloudFront o CNAME. Obbligatorio quando una qualsiasi strategia di file utilizza `"cloudfront"`. | domain: "https://cdn.example.com" |
| distributionId | String | ID della distribuzione CloudFront. Obbligatorio quando `invalidateOnDelete` è true. | distributionId: "E1234ABCD" |
| invalidateOnDelete | Boolean | Crea un'invalidazione CloudFront per i file eliminati. Predefinito: false. | invalidateOnDelete: false |
| imageSigning | String | Controlla l'accesso alle immagini/avatar in linea. Opzioni: `"none"` o `"cookies"`. `"url"` è riservato e non implementato per le immagini. | imageSigning: "cookies" |
| cookieDomain | String | Dominio del cookie padre condiviso richiesto per i cookie firmati. Deve iniziare con un punto. | cookieDomain: ".example.com" |
| cookieExpiry | Number | Durata del cookie firmato in secondi. Predefinito: 1800, massimo: 604800. | cookieExpiry: 1800 |
| urlExpiry | Number | Durata in secondi dell'URL di download firmato di CloudFront. Predefinito: 3600. | urlExpiry: 3600 |
| storageRegion | String | Etichetta di regione opzionale utilizzata nelle chiavi degli oggetti generati quando i percorsi di regione sono abilitati. | storageRegion: "us-east-2" |
| includeRegionInPath | Boolean | Include la regione di archiviazione nelle chiavi degli oggetti appena generati. Predefinito: false. | includeRegionInPath: false |
| requireSignedAccess | Boolean | Rifiuta l'avvio quando l'accesso CloudFront tramite cookie firmato non può essere inizializzato. Predefinito: false. | requireSignedAccess: true |
vedi: Struttura dell'oggetto CloudFront e CloudFront con S3
filteredTools
| Key | Type | Description | Example |
|---|---|---|---|
| filteredTools | Array of Strings | Filtra strumenti specifici dagli endpoint sia dei Plugin che degli OpenAI Assistants. | filteredTools: ["scholarai", "calculator"] |
- Note:
- Se vengono specificati sia
includedToolschefilteredTools, verrà riconosciuto soloincludedTools. - Influisce sia sugli endpoint
gptPluginsche su quelliassistants - Puoi trovare i nomi degli strumenti da filtrare in
api/app/clients/tools/manifest.json- Usa il valore
pluginKey
- Usa il valore
- Inoltre, qualsiasi elemento elencato nella directory ".well-known"
api/app/clients/tools/.well-known- Utilizza il valore
name_for_model
- Utilizza il valore
- Se vengono specificati sia
includedTools
| Key | Type | Description | Example |
|---|---|---|---|
| includedTools | Array of Strings | Include strumenti specifici sia dagli endpoint Plugins che da quelli OpenAI Assistants. | includedTools: ["calculator"] |
- Note:
- Se vengono specificati sia
includedToolschefilteredTools, verrà riconosciuto soloincludedTools. - Influisce sia sugli endpoint
gptPluginsche su quelliassistants - Puoi trovare i nomi degli strumenti da filtrare in
api/app/clients/tools/manifest.json- Usa il valore
pluginKey
- Usa il valore
- Inoltre, qualsiasi elemento elencato nella directory ".well-known"
api/app/clients/tools/.well-known- Utilizza il valore
name_for_model
- Utilizza il valore
- Se vengono specificati sia
secureImageLinks
| Key | Type | Description | Example |
|---|---|---|---|
| secureImageLinks | Boolean | Indica se proteggere o meno l'accesso ai link delle immagini ospitate localmente dall'app. Predefinito: false. | secureImageLinks: true |
imageOutputType
- Nota: Case-sensitive. L'endpoint Google supporta solo i tipi di output "jpeg" e "png".
- Opzioni: "png" | "webp" | "jpeg"
| Key | Type | Description | Example |
|---|---|---|---|
| imageOutputType | String | Il tipo di output immagine per le risposte con immagini. Se omesso, il valore predefinito è "png". | imageOutputType: "webp" |
ocr
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| ocr | Object | Configura le impostazioni di Optical Character Recognition (OCR) per l'estrazione di testo dalle immagini. |
Sottochiavi:
| Key | Type | Description | Example |
|---|---|---|---|
| apiKey | String | La chiave API per il servizio OCR. | |
| baseURL | String | L'URL di base per l'API del servizio OCR. | |
| strategy | String | La strategia OCR da utilizzare. Le opzioni sono "mistral_ocr", "azure_mistral_ocr", "vertexai_mistral_ocr", "document_parser" o "custom_ocr". | |
| mistralModel | String | Il modello Mistral da utilizzare per l'elaborazione OCR. |
vedi: Struttura dell'oggetto di configurazione OCR
webSearch
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| webSearch | Object | Configura la funzionalità di ricerca web, inclusi i provider di ricerca, gli scraper di contenuti e i reranker dei risultati. |
Sottochiavi:
| Key | Type | Description | Example |
|---|---|---|---|
| serperApiKey | String | Nome della variabile d'ambiente per la chiave API di Serper. Se non impostata nel file .env, agli utenti verrà richiesto di fornirla tramite l'interfaccia utente. | |
| searxngInstanceUrl | String | Nome della variabile d'ambiente per l'URL dell'istanza SearXNG. Se non impostato nel file .env, agli utenti verrà richiesto di fornirlo tramite l'interfaccia utente. | |
| searxngApiKey | String | Nome della variabile d'ambiente per la chiave API di SearXNG. Se non impostata nel file .env, agli utenti verrà richiesto di fornirla tramite l'interfaccia utente. | |
| tavilyApiKey | String | Nome della variabile d'ambiente per la chiave API di Tavily. Utilizzata sia per la ricerca che per lo scraper. Se non impostata nel file .env, agli utenti verrà richiesto di fornirla tramite l'interfaccia utente. | |
| tavilySearchUrl | String | Nome della variabile d'ambiente per un URL personalizzato dell'API di Tavily Search. Opzionale; se non impostato, viene utilizzata la ricerca ospitata da Tavily. | |
| tavilyExtractUrl | String | Nome della variabile d'ambiente per un URL personalizzato dell'API Tavily Extract. Opzionale; se non impostato, viene utilizzato l'extract ospitato da Tavily. | |
| firecrawlApiKey | String | Nome della variabile d'ambiente per la chiave API di Firecrawl. Se non impostata nel file .env, agli utenti verrà richiesto di fornirla tramite l'interfaccia utente. | |
| firecrawlApiUrl | String | Nome della variabile d'ambiente per l'URL dell'API Firecrawl. Se non impostato nel file .env, agli utenti verrà richiesto di fornirlo tramite l'interfaccia utente. | |
| jinaApiKey | String | Nome della variabile d'ambiente per la chiave API di Jina. Se non impostata nel file .env, agli utenti verrà richiesto di fornirla tramite l'interfaccia utente. | |
| cohereApiKey | String | Nome della variabile d'ambiente per la chiave API di Cohere. Se non impostata nel file .env, agli utenti verrà richiesto di fornirla tramite l'interfaccia utente. | |
| searchProvider | String | Specifica quale provider di ricerca utilizzare. Opzioni: "serper", "searxng", "tavily". | |
| scraperProvider | String | Specifica quale servizio di scraper utilizzare. Opzioni: "firecrawl", "serper", "tavily". | |
| firecrawlVersion | String | Specifica la versione dell'API Firecrawl (v0 o v1). | |
| rerankerType | String | Specifica quale servizio di reranker utilizzare. Impostare su "none" per saltare il reranking. Opzioni: "jina", "cohere", "none". | |
| scraperTimeout | Integer | Timeout in millisecondi per le richieste dello scraper. Deve essere un numero intero non negativo. | |
| safeSearch | Number | Livello di filtro della ricerca sicura. 0 = OFF, 1 = MODERATE (predefinito), 2 = STRICT. |
vedi: Struttura dell'oggetto Web Search
fileConfig
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| fileConfig | Object | Configura le impostazioni di gestione dei file per l'applicazione, inclusi i limiti di dimensione e le restrizioni sui tipi MIME. |
Sottochiavi:
| Key | Type | Description | Example |
|---|---|---|---|
| endpoints | Record/Object | Specifica le configurazioni di gestione dei file per i singoli endpoint, consentendo la personalizzazione su base endpoint. | |
| serverFileSizeLimit | Number | La dimensione massima del file (in MB) che il server accetterà . Si applica globalmente a tutti gli endpoint, a meno che non venga sovrascritta da impostazioni specifiche per endpoint. | |
| avatarSizeLimit | Number | Dimensione massima (in MB) per le immagini dell'avatar utente. | |
| clientImageResize | Object | Configura il ridimensionamento delle immagini lato client per ottimizzare i caricamenti dei file e prevenire errori di caricamento dovuti a dimensioni eccessive delle immagini. | |
| ocr | Object | Impostazioni per l'elaborazione dei file tramite riconoscimento ottico dei caratteri (OCR). | |
| text | Object | Impostazioni per l'analisi diretta di file di testo. | |
| stt | Object | Impostazioni per l'elaborazione dei file audio Speech-to-Text (STT). | |
| fileTokenLimit | Number | Numero massimo di token dai file di testo da includere nei prompt prima del troncamento. | fileTokenLimit: 100000 |
clientImageResize
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| clientImageResize | Object | Configura il ridimensionamento delle immagini lato client per ottimizzare i caricamenti dei file e prevenire errori di caricamento dovuti a dimensioni eccessive delle immagini. |
Sottochiavi:
| Key | Type | Description | Example |
|---|---|---|---|
| enabled | Boolean | Abilita o disabilita la funzionalità di ridimensionamento delle immagini lato client. Predefinito: false. | enabled: true |
| maxWidth | Number | Larghezza massima in pixel per le immagini ridimensionate. Le immagini più larghe di questo valore verranno ridimensionate. Predefinito: 1920. | maxWidth: 1024 |
| maxHeight | Number | Altezza massima in pixel per le immagini ridimensionate. Le immagini più alte di questo valore verranno ridimensionate. Predefinito: 1080. | maxHeight: 768 |
| quality | Number | Qualità di compressione JPEG (da 0.1 a 1.0). Valori più alti significano una qualità migliore ma dimensioni del file maggiori. Predefinito: 0.8. | quality: 0.9 |
| compressFormat | String | Formato di output per le immagini compresse. Opzioni: "jpeg", "webp". Predefinito: "jpeg". | compressFormat: "webp" |
Descrizione:
La configurazione clientImageResize abilita il ridimensionamento automatico delle immagini lato client prima del caricamento. Questa funzionalità aiuta a:
- Previeni errori di caricamento dovuti a file immagine di grandi dimensioni che superano i limiti del server
- Riduci l'utilizzo della larghezza di banda comprimendo le immagini prima della trasmissione
- Migliora le prestazioni di caricamento con dimensioni dei file ridotte
- Mantieni la qualità dell'immagine ottimizzando al contempo le dimensioni del file
Quando abilitato, le immagini che superano le dimensioni maxWidth o maxHeight specificate vengono ridimensionate automaticamente lato client prima di essere caricate sul server. Il ridimensionamento mantiene le proporzioni originali, assicurando che l'immagine rientri nei limiti specificati.
Esempio:
fileConfig:
clientImageResize:
enabled: true
maxWidth: 1920
maxHeight: 1080
quality: 0.8
compressFormat: 'jpeg'Note:
- Si applica solo ai file immagine (JPEG, PNG, WebP, ecc.)
- Il ridimensionamento avviene automaticamente quando le immagini superano le dimensioni specificate
- Le proporzioni originali vengono mantenute durante il ridimensionamento
- La funzionalità funziona con tutti gli endpoint di caricamento immagini supportati
- L'impostazione della qualità si applica solo ai formati JPEG e WebP
- Impostare la qualità su un valore troppo basso (< 0.5) potrebbe causare un notevole degrado dell'immagine
vedi: Struttura dell'oggetto di configurazione file
rateLimits
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| rateLimits | Object | Definisce le policy di limitazione della frequenza (rate limiting) per prevenire abusi limitando il numero di richieste. |
Sottochiavi:
| Key | Type | Description | Example |
|---|---|---|---|
| fileUploads | Object | Configura i limiti di velocità specificamente per le operazioni di caricamento file. | |
| conversationsImport | Object | Configura i limiti di frequenza specificamente per le operazioni di importazione delle conversazioni. | |
| stt | Object | Configura i limiti di frequenza specificamente per le richieste speech-to-text (stt) | |
| tts | Object | Configura i limiti di frequenza specificamente per le richieste text-to-speech (tts) |
Sottochiavi fileUploads:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | Numero massimo di caricamenti consentiti per indirizzo IP per finestra. | |
| ipWindowInMinutes | Number | Finestra temporale in minuti per il limite di caricamento basato su IP. | |
| userMax | Number | Numero massimo di caricamenti consentiti per utente per finestra. | |
| userWindowInMinutes | Number | Finestra temporale in minuti per il limite di caricamento basato sull'utente. |
Sottochiavi conversationsImport:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | Numero massimo di importazioni consentite per indirizzo IP per finestra. | |
| ipWindowInMinutes | Number | Finestra temporale in minuti per il limite di importazioni basato su IP. | |
| userMax | Number | Numero massimo di importazioni per utente per finestra. | |
| userWindowInMinutes | Number | Finestra temporale in minuti per il limite di importazioni basato sull'utente. |
Sottochiavi tts:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | Numero massimo di richieste consentite per indirizzo IP per finestra. | |
| ipWindowInMinutes | Number | Finestra temporale in minuti per il limite di richieste basato su IP. | |
| userMax | Number | Numero massimo di richieste per utente per finestra. | |
| userWindowInMinutes | Number | Finestra temporale in minuti per il limite di richieste basato sull'utente. |
Sottochiavi stt:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | Numero massimo di richieste consentite per indirizzo IP per finestra. | |
| ipWindowInMinutes | Number | Finestra temporale in minuti per il limite di richieste basato su IP. | |
| userMax | Number | Numero massimo di richieste per utente per finestra. | |
| userWindowInMinutes | Number | Finestra temporale in minuti per il limite di richieste basato sull'utente. |
- Esempio:
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
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| registration | Object | Configura le impostazioni relative alla registrazione per l'applicazione. |
Sottochiavi:
| Key | Type | Description | Example |
|---|---|---|---|
| socialLogins | Configurazioni di accesso social. | ||
| allowedDomains | Specifica i domini consentiti per la registrazione. |
vedi anche:
memory
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| memory | Object | Configura la memoria della conversazione e le funzionalità di personalizzazione per l'applicazione. |
Sottochiavi:
| Key | Type | Description | Example |
|---|---|---|---|
| disabled | Boolean | Disabilita la funzionalità di memoria quando impostato su true. | |
| validKeys | Array of Strings | Specifica quali chiavi sono valide per l'archiviazione della memoria. | |
| tokenLimit | Number | Imposta il numero massimo di token per l'archiviazione e l'elaborazione della memoria. | |
| charLimit | Number | Imposta il numero massimo di caratteri per l'archiviazione della memoria. Predefinito: 10000. | |
| maxInputTokens | Number | Limita i token delle chat recenti inviati all'agente di memoria automatica prima dell'estrazione. Predefinito: 12000. | |
| personalize | Boolean | Abilita o disabilita le funzionalità di personalizzazione. | |
| messageWindowSize | Number | Specifica il numero di messaggi recenti da includere nel contesto della memoria. | |
| agent | Object | Union | Configura l'agente responsabile dell'elaborazione della memoria. |
vedi: Struttura dell'oggetto Memory
summarization
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| summarization | Object | Configura la riassunzione delle conversazioni e il pruning del contesto. Sostituisce i campi `summarize` e `summaryModel` per ogni endpoint. |
Sottochiavi:
| Key | Type | Description | Example |
|---|---|---|---|
| provider | String | Provider LLM per le chiamate di riepilogo. Per impostazione predefinita utilizza il provider dell'agente. | |
| model | String | Modello per le chiamate di riepilogo. Utilizza come predefinito il modello dell'agente stesso. | |
| parameters | Object | Parametri LLM aggiuntivi per le richieste di riepilogo. | |
| prompt | String | Prompt personalizzato per la riassunzione iniziale. | |
| updatePrompt | String | Prompt personalizzato per la ricompattazione quando esiste un riepilogo precedente. | |
| trigger | Object | Definisce quando viene attivata la riassunzione (in base al rapporto tra token, token rimanenti o numero di messaggi). | |
| maxSummaryTokens | Number | Token di output massimi per la risposta del modello di riepilogo. | |
| reserveRatio | Number | Frazione del budget di token riservata come margine (0–1). Predefinito: 0.05. | |
| contextPruning | Object | Configura il degrado dei risultati degli strumenti basato sulla posizione per i messaggi meno recenti. |
vedi: Struttura dell'oggetto di riepilogo
actions
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| actions | Object | Configura le impostazioni relative alle azioni, utilizzate da Agents e Assistants |
Sottochiavi:
| Key | Type | Description | Example |
|---|---|---|---|
| allowedDomains | Array of Strings | Whitelist rigorosa dei domini per le azioni. Quando impostata, sono raggiungibili solo i domini elencati. | |
| allowedAddresses | Array of Strings | Elenco di esenzione SSRF (solo spazio IP privato). Consente specifici servizi host:porta privati senza limitare le destinazioni pubbliche quando `allowedDomains` non è configurato. |
vedi anche:
interface
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| interface | Object | Configura gli elementi dell'interfaccia utente all'interno dell'applicazione, consentendo la personalizzazione della visibilità e del comportamento di vari componenti. |
Sottochiavi:
| Key | Type | Description | Example |
|---|---|---|---|
| privacyPolicy | Object | Contiene le impostazioni relative al link della privacy policy fornito. | |
| termsOfService | Object | Contiene le impostazioni relative al link dei termini di servizio fornito. | |
| modelSelect | Boolean | Determina se la funzionalità di selezione del modello è disponibile. | |
| parameters | Boolean | Attiva/disattiva la visibilità delle opzioni di configurazione dei parametri, note anche come impostazioni della conversazione. | |
| presets | Boolean | Abilita o disabilita il menu dei preset | |
| prompts | Boolean or Object | Abilita o disabilita tutte le funzionalità relative ai prompt per tutti gli utenti | |
| bookmarks | Boolean | Abilita o disabilita tutte le funzionalità relative ai segnalibri per tutti gli utenti | |
| memories | Boolean | Abilita o disabilita la funzionalità memorie per tutti gli utenti | |
| multiConvo | Boolean | Abilita o disabilita tutte le funzionalità relative al "multi convo", ovvero lo streaming di risposte multiple, per tutti gli utenti | |
| agents | Boolean or Object | Abilita o disabilita tutte le funzionalità degli agenti per tutti gli utenti | |
| temporaryChat | Boolean | Abilita o disabilita la funzionalità di chat temporanea | |
| temporaryChatRetention | Number | Configura il periodo di conservazione per le chat temporanee in ore. Min: 1, Max: 8760. Predefinito: 720 (30 giorni). | |
| autoSubmitFromUrl | Boolean | Controlla se `/c/new?prompt=…&submit=true` invia automaticamente il prompt al modello. Quando è `false`, il prompt viene precompilato ma non inviato. | |
| mcpServers | Object | Contiene le impostazioni relative alla selezione del server MCP e al controllo degli accessi. | |
| customWelcome | String | Messaggio di benvenuto personalizzato visualizzato nell'interfaccia della chat. | |
| runCode | Boolean | Abilita o disabilita il pulsante "Run Code" per i blocchi di codice Markdown | |
| webSearch | Boolean | Abilita o disabilita il pulsante di ricerca web nell'interfaccia di chat | |
| fileSearch | Boolean | Abilita o disabilita il pulsante di ricerca file nell'interfaccia della chat | |
| fileCitations | Boolean | Abilita o disabilita globalmente le citazioni dei file per tutti gli utenti | |
| peoplePicker | Object | Configura quali tipi di entità sono controlli disponibili nell'interfaccia di selezione delle persone | |
| marketplace | Object | Abilita o disabilita l'accesso all'Agent Marketplace |
vedi: Struttura dell'oggetto interfaccia
modelSpecs
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| modelSpecs | Object | Configura le Model Specs, consentendo una configurazione dettagliata e la personalizzazione dei modelli AI e dei loro comportamenti all'interno dell'applicazione. |
Sottochiavi:
| Key | Type | Description | Example |
|---|---|---|---|
| enforce | Boolean | Determina se le Model Specs debbano sovrascrivere rigorosamente le altre impostazioni di configurazione. | |
| prioritize | Boolean | Specifica se le Model Specs debbano avere la priorità sulla configurazione predefinita quando entrambe sono applicabili. | |
| list | Array of Objects | Contiene un elenco di specifiche dei singoli modelli che descrivono in dettaglio varie configurazioni e comportamenti. |
vedi: Struttura dell'oggetto Model Specs
endpoints
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| endpoints | Object | Definisce endpoint API personalizzati per l'applicazione. |
Sottochiavi:
| Key | Type | Description | Example |
|---|---|---|---|
| custom | Array of Objects | Ogni oggetto nell'array rappresenta una configurazione endpoint univoca. | |
| azureOpenAI | Object | Configurazione specifica dell'endpoint Azure OpenAI | |
| assistants | Object | Configurazione specifica per l'endpoint Assistants. | |
| azureAssistants | Object | Configurazione specifica dell'endpoint Azure Assistants. | |
| agents | Object | Configurazione specifica dell'endpoint Agents. | |
| all | Object | Impostazioni globali dell'endpoint che si applicano a tutti gli endpoint. Vedi Shared Endpoint Settings. | |
| allowedAddresses | Array of Strings | Elenco esenzioni SSRF (solo spazio IP privato). Consente ai baseURL forniti dall'utente di puntare a specifici servizi host:porta privati (es. Ollama self-hosted) senza disabilitare la protezione SSRF per tutto il resto. |
Nota: Gli endpoint supportano Shared Endpoint Settings come
streamRate,headers,titleModel,titleMethod,titlePrompt,titlePromptTemplate,titleEndpointemaxToolResultChars. Questi possono essere configurati singolarmente per ogni endpoint o globalmente utilizzando la chiaveall. Gliheadersvengono uniti, con i valori a livello di endpoint che prevalgono in caso di collisione delle chiavi. La chiaveallnon accettabaseURL.
Nota:
endpoints.allowedAddressessi applica ai valoribaseURLforniti dall'utente (quando un amministratore configura un endpoint personalizzato conapiKey: 'user_provided'ebaseURL: 'user_provided'). Ogni baseURL fornita dall'utente viene convalidata rispetto al blocco SSRF al momento della richiesta; le voci elencate qui sono esentate. VedimcpSettings.allowedAddressesper la semantica del campo: si applicano le stesse regole (solo spazio IP privato, porta richiesta, niente URL/percorsi/CIDR/host semplici/letterali IP pubblici).
mcpSettings
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| mcpSettings | Object | Definisce le impostazioni globali per i server Model Context Protocol (MCP) |
Sottochiavi:
| Key | Type | Description | Example |
|---|---|---|---|
| allowedDomains | Array of Strings | Whitelist rigorosa dei domini per le connessioni al server MCP. Quando impostata, sono raggiungibili solo le voci elencate. | |
| allowedAddresses | Array of Strings | Elenco di esenzione SSRF (solo spazio IP privato). Consente specifici servizi host:porta privati senza attivare la modalità strict-whitelist in `allowedDomains`. |
- Note:
- Questa è una funzionalità di sicurezza per proteggere da abusi / utilizzi impropri di indirizzi interni tramite server MCP
- Per impostazione predefinita, LibreChat impedisce ai server MCP di connettersi a indirizzi di rete interni, locali o privati.
- I server MCP che utilizzano indirizzi IP locali o domini possono essere aggiunti alla whitelist rigorosa
allowedDomains(che diventa quindi l'unico insieme raggiungibile), oppure, per mantenere raggiungibili le destinazioni pubbliche, possono essere esentati come servizi host:porta esatti tramiteallowedAddresses - Come per tutte le modifiche alla configurazione yaml, è necessario riavviare LibreChat affinché abbiano effetto.
- Supporta domini, sottodomini wildcard (
*.example.com), domini Docker e indirizzi IP
Esempio:
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 portvedi: Struttura dell'oggetto MCP Settings
mcpServers
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| mcpServers | Object | Definisce la configurazione per i server Model Context Protocol (MCP), consentendo l'integrazione dinamica dei server MCP all'interno dell'applicazione. |
Sottochiavi:
| Key | Type | Description | Example |
|---|---|---|---|
| <serverName> | Object | Ogni chiave sotto `mcpServers` rappresenta una configurazione individuale di un server MCP, identificata da un nome univoco. |
- Note:
- L'inizializzazione avviene all'avvio e l'app deve essere riavviata affinché le modifiche abbiano effetto.
<serverName>è un identificatore univoco per ogni configurazione del server MCP.- Ogni server MCP può essere configurato utilizzando uno dei quattro tipi di connessione:
stdiowebsocketssestreamable-http
- Il campo
typespecifica il tipo di connessione al server MCP. - Se
typeviene omesso, viene impostato come predefinito in base alla presenza e al formato diurlocommand:- Se
urlè specificato e inizia conhttpohttps,typeè impostato comesseper impostazione predefinita. - Se
urlè specificato e inizia conwsowss,typeè impostato per impostazione predefinita suwebsocket. - Se
commandè specificato,typeè impostato comestdioper impostazione predefinita.
- Se
- Ulteriori opzioni di configurazione includono:
timeout: Timeout in millisecondi per le richieste al server MCP. Determina quanto tempo attendere una risposta per le richieste di strumenti (tool).initTimeout: Timeout in millisecondi per l'inizializzazione del server MCP. Determina quanto tempo attendere affinché il server si inizializzi.serverInstructions: Controlla se le istruzioni del server sono incluse nel contesto dell'agente. Può esseretrue(usa quelle fornite dal server),false(disabilitato) o una stringa personalizzata (sovrascrive quelle fornite dal server).customUserVars: (Opzionale) Definisce variabili personalizzate (ad esempio, chiavi API, URL) che i singoli utenti possono impostare per un server MCP. Questi valori per utente, forniti tramite l'interfaccia utente, possono quindi essere referenziati nelle configurazioniheadersoenvdel server utilizzando la sintassi{{VARIABLE_NAME}}. Ciò consente l'autenticazione o la personalizzazione per utente per gli strumenti MCP.
- vedi: Struttura dell'oggetto MCP Servers
Esempio:
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: truevedi: Struttura dell'oggetto MCP Servers
speech
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| speech | Object | Configura i provider di Text-to-Speech (TTS) e Speech-to-Text (STT) per l'applicazione. |
Sottochiavi:
| Key | Type | Description | Example |
|---|---|---|---|
| tts | Object | Configurazioni del provider Text-to-Speech (OpenAI, Azure OpenAI, ElevenLabs, LocalAI). | |
| stt | Object | Configurazioni del provider Speech-to-Text (OpenAI, Azure OpenAI). | |
| speechTab | Object | Impostazioni UI predefinite per le funzionalità vocali. |
vedi: Struttura dell'oggetto Speech
turnstile
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| turnstile | Object | Configura Cloudflare Turnstile per la protezione dai bot nei moduli di registrazione e accesso. |
Sottochiavi:
| Key | Type | Description | Example |
|---|---|---|---|
| siteKey | String | La tua site key di Cloudflare Turnstile (obbligatoria). | |
| options | Object | Opzioni aggiuntive del widget Turnstile (facoltativo). |
vedi: Struttura dell'oggetto Turnstile
transactions
Chiave:
| Key | Type | Description | Example |
|---|---|---|---|
| transactions | Object | Controlla le funzionalità di registrazione delle transazioni e di visibilità . |
Sottochiavi:
| Key | Type | Description | Example |
|---|---|---|---|
| enabled | Boolean | Abilita o disabilita la registrazione delle transazioni. Predefinito: true. |
vedi: Struttura dell'oggetto Transactions
Link aggiuntivi
- Struttura dell'oggetto di riepilogo
- Struttura dell'oggetto AWS Bedrock
- Struttura dell'oggetto endpoint personalizzato
- Struttura dell'oggetto endpoint Azure OpenAI
- Struttura dell'oggetto dell'endpoint Assistants
- Agenti
- Struttura dell'oggetto di configurazione OCR
- Struttura dell'oggetto Speech
- Struttura dell'oggetto Turnstile
- Struttura dell'oggetto Transactions
- Struttura dell'oggetto Balance
- Struttura dell'oggetto Ricerca Web
- Struttura dell'oggetto Memory
Com’è questa guida?