Estrutura de Configuração
Nota: Campos não mencionados especificamente como obrigatórios são opcionais.
version
- obrigatório
| Key | Type | Description | Example |
|---|---|---|---|
| version | String | Especifica a versão do arquivo de configuração. | version: 1.3.13 |
cache
| Key | Type | Description | Example |
|---|---|---|---|
| cache | Boolean | Ativa ou desativa o cache. Defina como `true` para habilitar o cache (padrão). | cache: true |
skillSync
| Key | Type | Description | Example |
|---|---|---|---|
| skillSync | Object | Configura o espelhamento de Skill externo. Na v1.3.13, o GitHub Skill Sync é suportado. |
veja: Estrutura do Objeto Skill Sync
messageFilter
| Key | Type | Description | Example |
|---|---|---|---|
| messageFilter | Object | Configura filtros de mensagem no lado do servidor. Na v1.3.13, `messageFilter.pii` pode rejeitar textos enviados com formato de credenciais antes das chamadas de modelo e persistência. |
veja: Estrutura do Objeto de Filtro de Mensagens
fileStrategy
- Opções: "local" | "firebase" | "s3" | "azure_blob" | "cloudfront"
| Key | Type | Description | Example |
|---|---|---|---|
| fileStrategy | String | Determina onde salvar arquivos enviados/gerados pelo usuário. O padrão é `"local"` se omitido. | fileStrategy: "firebase" |
- Notas:
"cloudfront"armazena arquivos no S3 e retorna URLs do CloudFront para entrega estável de mídia, cookies assinados e downloads assinados."firebase"serve arquivos através do Firebase Storage e locais de borda (edge locations) do Firebase Hosting.- O S3 serve arquivos via presigned URLs (tokens assinados temporários) que expiram. Uma vez expirados, qualquer imagem ou avatar que referencie essa URL aparecerá como quebrado na interface. Isso torna o S3 inadequado como estratégia principal para ativos visuais. Veja a discussão relacionada para mais detalhes.
- Para obter o melhor desempenho de imagens e avatares, use
"cloudfront"ou"firebase", ou configurefileStrategiespara rotearavatareimagepara uma estratégia baseada em CDN. - Consulte a documentação de File Storage & CDN para detalhes de configuração
fileStrategies
Permite controle granular sobre estratégias de armazenamento de arquivos para diferentes tipos de arquivo.
- Estratégias Disponíveis: "local" | "firebase" | "s3" | "azure_blob" | "cloudfront"
| Key | Type | Description | Example |
|---|---|---|---|
| fileStrategies | Object | Configura diferentes estratégias de armazenamento para diferentes tipos de arquivo. Mais flexível que a opção única fileStrategy. |
Sub-chaves:
| Key | Type | Description | Example |
|---|---|---|---|
| default | String | Estratégia de armazenamento de fallback quando um tipo específico não está definido. O padrão é "local". | |
| avatar | String | Estratégia de armazenamento para imagens de avatar de usuários e agentes. É recomendado usar uma estratégia com suporte de CDN (`"cloudfront"` ou `"firebase"`) para obter o melhor desempenho. | |
| image | String | Estratégia de armazenamento para imagens enviadas em chats. Recomendado usar uma estratégia com suporte a CDN (`"cloudfront"` ou `"firebase"`) para melhor desempenho. | |
| document | String | Estratégia de armazenamento para uploads de documentos (PDFs, arquivos de texto, etc.). | |
| skills | String | Estratégia de armazenamento para arquivos agrupados com Skills. |
- Notas:
- Esta configuração tem precedência sobre a opção única
fileStrategy - Se um tipo de arquivo específico não estiver configurado, ele recorre a
default, depois afileStrategye, finalmente, a"local". - Imagens e avatares precisam de URLs persistentes e estáveis para serem renderizados corretamente em toda a UI. URLs pré-assinadas do S3 expiram (limite da AWS: 7 dias para usuários IAM, horas para credenciais baseadas em STS/funções), causando imagens quebradas no seletor de modelos e na UI de chat. Veja a discussão relacionada para o contexto completo. Use
"cloudfront"ou"firebase"paraavatareimagepara evitar isso. - O S3 e o Azure Blob Storage são adequados para armazenamento de
document, onde URLs de download pré-assinadas de curta duração são apropriadas. - Consulte a documentação de File Storage & CDN para detalhes de configuração de cada provedor de armazenamento.
- Esta configuração tem precedência sobre a opção única
Exemplos:
# 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
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| cloudfront | Object | Configura a entrega via CloudFront para arquivos armazenados no S3. |
Subchaves:
| Key | Type | Description | Example |
|---|---|---|---|
| domain | String | Domínio da distribuição CloudFront ou CNAME. Obrigatório quando qualquer estratégia de arquivo utiliza `"cloudfront"`. | domain: "https://cdn.example.com" |
| distributionId | String | ID da distribuição CloudFront. Obrigatório quando `invalidateOnDelete` for true. | distributionId: "E1234ABCD" |
| invalidateOnDelete | Boolean | Cria uma invalidação do CloudFront para arquivos excluídos. Padrão: false. | invalidateOnDelete: false |
| imageSigning | String | Controla o acesso a imagens/avatares inline. Opções: `"none"` ou `"cookies"`. `"url"` é reservado e não implementado para imagens. | imageSigning: "cookies" |
| cookieDomain | String | Domínio de cookie pai compartilhado necessário para cookies assinados. Deve começar com um ponto. | cookieDomain: ".example.com" |
| cookieExpiry | Number | Tempo de vida do cookie assinado em segundos. Padrão: 1800, máximo: 604800. | cookieExpiry: 1800 |
| urlExpiry | Number | Tempo de vida da URL de download assinada do CloudFront em segundos. Padrão: 3600. | urlExpiry: 3600 |
| storageRegion | String | Rótulo de região opcional usado em chaves de objeto geradas quando caminhos de região estão habilitados. | storageRegion: "us-east-2" |
| includeRegionInPath | Boolean | Inclui a região de armazenamento nas chaves de objeto recém-geradas. Padrão: false. | includeRegionInPath: false |
| requireSignedAccess | Boolean | Recusa a inicialização quando o acesso por cookie assinado do CloudFront não pode ser inicializado. Padrão: false. | requireSignedAccess: true |
veja: Estrutura de Objeto do CloudFront e CloudFront com S3
filteredTools
| Key | Type | Description | Example |
|---|---|---|---|
| filteredTools | Array of Strings | Filtra ferramentas específicas dos endpoints de Plugins e OpenAI Assistants. | filteredTools: ["scholarai", "calculator"] |
- Notas:
- Se
includedToolsefilteredToolsforem ambos especificados, apenasincludedToolsserá reconhecido. - Afeta ambos os endpoints
gptPluginseassistants - Você pode encontrar os nomes das ferramentas para filtrar em
api/app/clients/tools/manifest.json- Use o valor de
pluginKey
- Use o valor de
- Além disso, qualquer um listado no diretório ".well-known"
api/app/clients/tools/.well-known- Use o valor de
name_for_model
- Use o valor de
- Se
includedTools
| Key | Type | Description | Example |
|---|---|---|---|
| includedTools | Array of Strings | Inclui ferramentas específicas dos endpoints de Plugins e OpenAI Assistants. | includedTools: ["calculator"] |
- Notas:
- Se
includedToolsefilteredToolsforem ambos especificados, apenasincludedToolsserá reconhecido. - Afeta ambos os endpoints
gptPluginseassistants - Você pode encontrar os nomes das ferramentas para filtrar em
api/app/clients/tools/manifest.json- Use o valor de
pluginKey
- Use o valor de
- Além disso, qualquer um listado no diretório ".well-known"
api/app/clients/tools/.well-known- Use o valor de
name_for_model
- Use o valor de
- Se
secureImageLinks
| Key | Type | Description | Example |
|---|---|---|---|
| secureImageLinks | Boolean | Define se o acesso a links de imagem hospedados localmente pelo aplicativo deve ou não ser protegido. Padrão: false. | secureImageLinks: true |
imageOutputType
- Nota: Diferencia maiúsculas de minúsculas. O endpoint Google suporta apenas os tipos de saída "jpeg" e "png".
- Opções: "png" | "webp" | "jpeg"
| Key | Type | Description | Example |
|---|---|---|---|
| imageOutputType | String | O tipo de saída de imagem para respostas de imagem. O padrão é "png" se omitido. | imageOutputType: "webp" |
ocr
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| ocr | Object | Configura as definições de Reconhecimento Óptico de Caracteres (OCR) para extrair texto de imagens. |
Subchaves:
| Key | Type | Description | Example |
|---|---|---|---|
| apiKey | String | A chave de API para o serviço de OCR. | |
| baseURL | String | A URL base para a API do serviço de OCR. | |
| strategy | String | A estratégia de OCR a ser utilizada. As opções são "mistral_ocr", "azure_mistral_ocr", "vertexai_mistral_ocr", "document_parser" ou "custom_ocr". | |
| mistralModel | String | O modelo Mistral a ser usado para processamento de OCR. |
veja: Estrutura do Objeto de Configuração de OCR
webSearch
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| webSearch | Object | Configura a funcionalidade de pesquisa na web, incluindo provedores de pesquisa, scrapers de conteúdo e rerankers de resultados. |
Subchaves:
| Key | Type | Description | Example |
|---|---|---|---|
| serperApiKey | String | Nome da variável de ambiente para a chave de API do Serper. Se não for definida no .env, os usuários serão solicitados a fornecê-la via interface. | |
| searxngInstanceUrl | String | Nome da variável de ambiente para a URL da instância do SearXNG. Se não for definida no .env, os usuários serão solicitados a fornecê-la via interface. | |
| searxngApiKey | String | Nome da variável de ambiente para a chave de API do SearXNG. Se não for definida no .env, os usuários serão solicitados a fornecê-la via interface. | |
| tavilyApiKey | String | Nome da variável de ambiente para a chave de API do Tavily. Usada tanto para pesquisa quanto para scraper. Se não for definida no .env, os usuários serão solicitados a fornecê-la via interface. | |
| tavilySearchUrl | String | Nome da variável de ambiente para uma URL personalizada da API Tavily Search. Opcional; o padrão é a busca hospedada pelo Tavily quando não definida. | |
| tavilyExtractUrl | String | Nome da variável de ambiente para uma URL personalizada da API Tavily Extract. Opcional; o padrão é o extract hospedado pela Tavily quando não definido. | |
| firecrawlApiKey | String | Nome da variável de ambiente para a chave de API do Firecrawl. Se não for definida no .env, os usuários serão solicitados a fornecê-la via interface. | |
| firecrawlApiUrl | String | Nome da variável de ambiente para a URL da API do Firecrawl. Se não for definida no .env, os usuários serão solicitados a fornecê-la via interface. | |
| jinaApiKey | String | Nome da variável de ambiente para a chave de API da Jina. Se não for definida no .env, os usuários serão solicitados a fornecê-la via interface. | |
| cohereApiKey | String | Nome da variável de ambiente para a chave de API da Cohere. Se não for definida no .env, os usuários serão solicitados a fornecê-la via interface. | |
| searchProvider | String | Especifica qual provedor de busca utilizar. Opções: "serper", "searxng", "tavily". | |
| scraperProvider | String | Especifica qual serviço de scraper utilizar. Opções: "firecrawl", "serper", "tavily". | |
| firecrawlVersion | String | Especifica a versão da API do Firecrawl (v0 ou v1). | |
| rerankerType | String | Especifica qual serviço de reranker usar. Defina como "none" para pular o reranking. Opções: "jina", "cohere", "none". | |
| scraperTimeout | Integer | Tempo limite em milissegundos para solicitações do scraper. Deve ser um número inteiro não negativo. | |
| safeSearch | Number | Nível de filtragem de pesquisa segura. 0 = DESATIVADO, 1 = MODERADO (padrão), 2 = ESTRITO. |
veja: Estrutura do Objeto de Pesquisa na Web
fileConfig
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| fileConfig | Object | Configura as definições de manipulação de arquivos para a aplicação, incluindo limites de tamanho e restrições de tipo MIME. |
Subchaves:
| Key | Type | Description | Example |
|---|---|---|---|
| endpoints | Record/Object | Especifica as configurações de manipulação de arquivos para endpoints individuais, permitindo a personalização por endpoint. | |
| serverFileSizeLimit | Number | O tamanho máximo de arquivo (em MB) que o servidor aceitará. Aplica-se globalmente a todos os endpoint, a menos que seja substituído por configurações específicas de endpoint. | |
| avatarSizeLimit | Number | Tamanho máximo (em MB) para imagens de avatar do usuário. | |
| clientImageResize | Object | Configura o redimensionamento de imagens no lado do cliente para otimizar uploads de arquivos e evitar erros de upload devido a tamanhos de imagem grandes. | |
| ocr | Object | Configurações para processamento de arquivos com Reconhecimento Óptico de Caracteres (OCR). | |
| text | Object | Configurações para análise direta de arquivos de texto. | |
| stt | Object | Configurações para processamento de arquivos de áudio de Speech-to-Text (STT). | |
| fileTokenLimit | Number | Número máximo de tokens de arquivos de texto a serem incluídos nos prompts antes do truncamento. | fileTokenLimit: 100000 |
clientImageResize
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| clientImageResize | Object | Configura o redimensionamento de imagens no lado do cliente para otimizar uploads de arquivos e evitar erros de upload devido a tamanhos de imagem grandes. |
Subchaves:
| Key | Type | Description | Example |
|---|---|---|---|
| enabled | Boolean | Ativa ou desativa a funcionalidade de redimensionamento de imagem no lado do cliente. Padrão: false. | enabled: true |
| maxWidth | Number | Largura máxima em pixels para imagens redimensionadas. Imagens mais largas que isso serão redimensionadas. Padrão: 1920. | maxWidth: 1024 |
| maxHeight | Number | Altura máxima em pixels para imagens redimensionadas. Imagens mais altas que isso serão redimensionadas. Padrão: 1080. | maxHeight: 768 |
| quality | Number | Qualidade de compressão JPEG (0.1 a 1.0). Valores mais altos significam melhor qualidade, porém arquivos maiores. Padrão: 0.8. | quality: 0.9 |
| compressFormat | String | Formato de saída para imagens compactadas. Opções: "jpeg", "webp". Padrão: "jpeg". | compressFormat: "webp" |
Descrição:
A configuração clientImageResize permite o redimensionamento automático de imagens no lado do cliente antes do upload. Este recurso ajuda a:
- Evite falhas de upload devido a arquivos de imagem grandes que excedem os limites do servidor
- Reduza o uso de largura de banda comprimindo imagens antes da transmissão
- Melhore o desempenho de upload com tamanhos de arquivo menores
- Mantenha a qualidade da imagem enquanto otimiza o tamanho do arquivo
Quando ativado, imagens que excedem as dimensões maxWidth ou maxHeight especificadas são redimensionadas automaticamente no lado do cliente antes de serem enviadas para o servidor. O redimensionamento mantém a proporção original, garantindo que a imagem se ajuste aos limites especificados.
Exemplo:
fileConfig:
clientImageResize:
enabled: true
maxWidth: 1920
maxHeight: 1080
quality: 0.8
compressFormat: 'jpeg'Notas:
- Aplica-se apenas a arquivos de imagem (JPEG, PNG, WebP, etc.)
- O redimensionamento ocorre automaticamente quando as imagens excedem as dimensões especificadas
- A proporção original é preservada durante o redimensionamento
- O recurso funciona com todos os endpoints de upload de imagem suportados
- A configuração de qualidade aplica-se apenas aos formatos JPEG e WebP
- Definir a qualidade muito baixa (< 0.5) pode resultar em uma degradação perceptível da imagem
veja: Estrutura do Objeto de Configuração de Arquivo
rateLimits
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| rateLimits | Object | Define políticas de limite de taxa para evitar abusos, limitando o número de solicitações. |
Subchaves:
| Key | Type | Description | Example |
|---|---|---|---|
| fileUploads | Object | Configura limites de taxa especificamente para operações de upload de arquivos. | |
| conversationsImport | Object | Configura limites de taxa especificamente para operações de importação de conversas. | |
| stt | Object | Configura limites de taxa especificamente para solicitações de conversão de fala em texto (stt) | |
| tts | Object | Configura limites de taxa especificamente para solicitações de conversão de texto em fala (tts) |
Subchaves de fileUploads:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | Número máximo de uploads permitidos por endereço IP por janela. | |
| ipWindowInMinutes | Number | Janela de tempo em minutos para o limite de upload baseado em IP. | |
| userMax | Number | Número máximo de uploads permitidos por usuário por janela. | |
| userWindowInMinutes | Number | Janela de tempo em minutos para o limite de upload baseado no usuário. |
Subchaves de conversationsImport:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | Número máximo de importações permitidas por endereço IP por janela. | |
| ipWindowInMinutes | Number | Janela de tempo em minutos para o limite de importações baseado em IP. | |
| userMax | Number | Número máximo de importações por usuário por janela. | |
| userWindowInMinutes | Number | Janela de tempo em minutos para o limite de importações baseado no usuário. |
Subchaves tts:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | Número máximo de solicitações permitidas por endereço IP por janela. | |
| ipWindowInMinutes | Number | Janela de tempo em minutos para o limite de requisições baseado em IP. | |
| userMax | Number | Número máximo de solicitações por usuário por janela. | |
| userWindowInMinutes | Number | Janela de tempo em minutos para o limite de solicitações baseado no usuário. |
Subchaves stt:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | Número máximo de solicitações permitidas por endereço IP por janela. | |
| ipWindowInMinutes | Number | Janela de tempo em minutos para o limite de requisições baseado em IP. | |
| userMax | Number | Número máximo de solicitações por usuário por janela. | |
| userWindowInMinutes | Number | Janela de tempo em minutos para o limite de solicitações baseado no usuário. |
- Exemplo:
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
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| registration | Object | Configura as definições relacionadas ao registro para a aplicação. |
Subchaves:
| Key | Type | Description | Example |
|---|---|---|---|
| socialLogins | Configurações de login social. | ||
| allowedDomains | Especifica os domínios permitidos para registro. |
veja também:
memory
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| memory | Object | Configura a memória de conversação e os recursos de personalização para a aplicação. |
Subchaves:
| Key | Type | Description | Example |
|---|---|---|---|
| disabled | Boolean | Desativa a funcionalidade de memória quando definido como true. | |
| validKeys | Array of Strings | Especifica quais chaves são válidas para o armazenamento de memória. | |
| tokenLimit | Number | Define o número máximo de tokens para armazenamento e processamento de memória. | |
| charLimit | Number | Define o número máximo de caracteres para o armazenamento de memória. Padrão: 10000. | |
| maxInputTokens | Number | Limita os tokens de chat recente enviados ao agente de memória automática antes da extração. Padrão: 12000. | |
| personalize | Boolean | Ativa ou desativa recursos de personalização. | |
| messageWindowSize | Number | Especifica o número de mensagens recentes a serem incluídas no contexto da memória. | |
| agent | Object | Union | Configura o agente responsável pelo processamento de memória. |
veja: Estrutura do Objeto de Memória
summarization
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| summarization | Object | Configura o resumo de conversas e a poda de contexto. Substitui os campos `summarize` e `summaryModel` por endpoint. |
Subchaves:
| Key | Type | Description | Example |
|---|---|---|---|
| provider | String | Provedor de LLM para chamadas de resumo. O padrão é o próprio provedor do agente. | |
| model | String | Modelo para chamadas de resumo. O padrão é o próprio modelo do agente. | |
| parameters | Object | Parâmetros adicionais de LLM para solicitações de resumo. | |
| prompt | String | Prompt personalizado para sumarização inicial. | |
| updatePrompt | String | Prompt personalizado para recompactação quando um resumo anterior existe. | |
| trigger | Object | Define quando a sumarização é acionada (por proporção de tokens, tokens restantes ou contagem de mensagens). | |
| maxSummaryTokens | Number | Máximo de tokens de saída para a resposta do modelo de sumarização. | |
| reserveRatio | Number | Fração do orçamento de tokens reservada como margem (0–1). Padrão: 0.05. | |
| contextPruning | Object | Configura a degradação de resultados de ferramentas baseada em posição para mensagens mais antigas. |
veja: Estrutura do Objeto de Resumo
actions
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| actions | Object | Configura as definições relacionadas a ações, usadas por Agents e Assistants |
Subchaves:
| Key | Type | Description | Example |
|---|---|---|---|
| allowedDomains | Array of Strings | Lista de permissões estrita de domínios para ações. Quando definida, apenas os domínios listados podem ser acessados. | |
| allowedAddresses | Array of Strings | Lista de exceção SSRF (apenas espaço de IP privado). Permite serviços host:porta privados específicos sem restringir destinos públicos quando `allowedDomains` não está configurado. |
veja também:
interface
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| interface | Object | Configura elementos da interface do usuário dentro da aplicação, permitindo a personalização da visibilidade e do comportamento de vários componentes. |
Subchaves:
| Key | Type | Description | Example |
|---|---|---|---|
| privacyPolicy | Object | Contém configurações relacionadas ao link da política de privacidade fornecido. | |
| termsOfService | Object | Contém configurações relacionadas ao link dos termos de serviço fornecido. | |
| modelSelect | Boolean | Determina se o recurso de seleção de modelo está disponível. | |
| parameters | Boolean | Alterna a visibilidade das opções de configuração de parâmetros, também conhecidas como configurações de conversa. | |
| presets | Boolean | Ativa ou desativa o menu de predefinições | |
| prompts | Boolean or Object | Ativa ou desativa todos os recursos relacionados a prompts para todos os usuários | |
| bookmarks | Boolean | Ativa ou desativa todos os recursos relacionados a favoritos para todos os usuários | |
| memories | Boolean | Ativa ou desativa o recurso de memórias para todos os usuários | |
| multiConvo | Boolean | Ativa ou desativa todos os recursos relacionados a "multi convo", também conhecidos como streaming de múltiplas respostas, para todos os usuários | |
| agents | Boolean or Object | Ativa ou desativa todos os recursos de agentes para todos os usuários | |
| temporaryChat | Boolean | Ativa ou desativa o recurso de chat temporário | |
| temporaryChatRetention | Number | Configura o período de retenção para chats temporários em horas. Mín: 1, Máx: 8760. Padrão: 720 (30 dias). | |
| autoSubmitFromUrl | Boolean | Controla se `/c/new?prompt=…&submit=true` envia automaticamente para o modelo. Quando `false`, o prompt é pré-preenchido, mas não enviado. | |
| mcpServers | Object | Contém configurações relacionadas à seleção de servidor MCP e controle de acesso. | |
| customWelcome | String | Mensagem de boas-vindas personalizada exibida na interface de chat. | |
| runCode | Boolean | Ativa ou desativa o botão "Run Code" para blocos de código Markdown | |
| webSearch | Boolean | Habilita ou desabilita o botão de pesquisa na web na interface de chat | |
| fileSearch | Boolean | Ativa ou desativa o botão de pesquisa de arquivos na interface de chat | |
| fileCitations | Boolean | Habilita ou desabilita globalmente as citações de arquivos para todos os usuários | |
| peoplePicker | Object | Configura quais tipos de principal estão disponíveis como controles na interface de seleção de pessoas | |
| marketplace | Object | Habilita ou desabilita o acesso ao Agent Marketplace |
veja: Estrutura do Objeto de Interface
modelSpecs
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| modelSpecs | Object | Configura as Model Specs, permitindo a configuração detalhada e a personalização de modelos de IA e seus comportamentos dentro da aplicação. |
Subchaves:
| Key | Type | Description | Example |
|---|---|---|---|
| enforce | Boolean | Determina se as Model Specs devem substituir estritamente outras configurações. | |
| prioritize | Boolean | Especifica se as Model Specs devem ter prioridade sobre a configuração padrão quando ambas forem aplicáveis. | |
| list | Array of Objects | Contém uma lista de especificações de modelos individuais detalhando várias configurações e comportamentos. |
veja: Estrutura do Objeto Model Specs
endpoints
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| endpoints | Object | Define endpoints de API personalizados para a aplicação. |
Subchaves:
| Key | Type | Description | Example |
|---|---|---|---|
| custom | Array of Objects | Cada objeto no array representa uma configuração de endpoint única. | |
| azureOpenAI | Object | Configuração específica do endpoint Azure OpenAI | |
| assistants | Object | Configuração específica do endpoint Assistants. | |
| azureAssistants | Object | Configuração específica do endpoint Azure Assistants. | |
| agents | Object | Configuração específica do endpoint de Agents. | |
| all | Object | Configurações globais de endpoint que se aplicam a todos os endpoints. Consulte Shared Endpoint Settings. | |
| allowedAddresses | Array of Strings | Lista de exceção SSRF (apenas espaço de IP privado). Permite que baseURLs fornecidas pelo usuário apontem para serviços específicos de host:porta privados (por exemplo, Ollama auto-hospedado) sem desativar a proteção SSRF para todo o resto. |
Nota: Os endpoints suportam Shared Endpoint Settings como
streamRate,headers,titleModel,titleMethod,titlePrompt,titlePromptTemplate,titleEndpointemaxToolResultChars. Estes podem ser configurados individualmente por endpoint ou globalmente usando a chaveall. Osheaderssão mesclados, com os valores de nível de endpoint prevalecendo em caso de conflitos de chave. A chaveallnão aceitabaseURL.
Nota:
endpoints.allowedAddressesaplica-se a valores debaseURLfornecidos pelo usuário (quando um administrador configura um endpoint personalizado comapiKey: 'user_provided'ebaseURL: 'user_provided'). Cada baseURL fornecida pelo usuário é validada contra o bloqueio de SSRF no momento da solicitação; as entradas listadas aqui estão isentas. ConsultemcpSettings.allowedAddressespara a semântica do campo — as mesmas regras se aplicam (apenas espaço de IP privado, porta obrigatória, sem URLs/caminhos/CIDR/hosts simples/literais de IP público).
mcpSettings
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| mcpSettings | Object | Define as configurações globais para servidores do Model Context Protocol (MCP) |
Subchaves:
| Key | Type | Description | Example |
|---|---|---|---|
| allowedDomains | Array of Strings | Lista de permissões estrita de domínios para conexões de servidor MCP. Quando definida, apenas as entradas listadas podem ser acessadas. | |
| allowedAddresses | Array of Strings | Lista de exceções SSRF (apenas espaço de IP privado). Permite serviços host:porta privados específicos sem alternar `allowedDomains` para o modo de lista de permissões estrita. |
- Notas:
- Este é um recurso de segurança para proteger contra abuso / uso indevido de endereços internos via servidores MCP
- Por padrão, o LibreChat restringe a conexão de servidores MCP a endereços de rede internos, locais ou privados.
- Servidores MCP que utilizam endereços IP locais ou domínios podem ser adicionados à lista de permissões estrita
allowedDomains(que então se torna o único conjunto acessível) ou — para manter destinos públicos acessíveis — isentos como serviços host:port exatos viaallowedAddresses - Como em todas as alterações de configuração yaml, uma reinicialização do LibreChat é necessária para que entrem em vigor.
- Suporta domínios, subdomínios curinga (
*.example.com), domínios Docker e endereços IP
Exemplo:
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 portveja: Estrutura do Objeto MCP Settings
mcpServers
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| mcpServers | Object | Define a configuração para servidores do Model Context Protocol (MCP), permitindo a integração dinâmica de servidores MCP dentro da aplicação. |
Subchaves:
| Key | Type | Description | Example |
|---|---|---|---|
| <serverName> | Object | Cada chave em `mcpServers` representa uma configuração individual de servidor MCP, identificada por um nome único. |
- Notas:
- A inicialização ocorre na inicialização, e o aplicativo deve ser reiniciado para que as alterações entrem em vigor.
- O
<serverName>é um identificador único para cada configuração de servidor MCP. - Cada servidor MCP pode ser configurado usando um dos quatro tipos de conexão:
stdiowebsocketssestreamable-http
- O campo
typeespecifica o tipo de conexão com o servidor MCP. - Se
typefor omitido, ele assume um padrão com base na presença e no formato deurloucommand:- Se
urlfor especificado e começar comhttpouhttps,typeassumessecomo padrão. - Se
urlfor especificado e começar comwsouwss,typeassumewebsocketcomo padrão. - Se
commandfor especificado,typeassumestdiocomo padrão.
- Se
- Opções de configuração adicionais incluem:
timeout: Timeout em milissegundos para requisições de servidor MCP. Determina quanto tempo aguardar por uma resposta para requisições de ferramentas.initTimeout: Tempo limite em milissegundos para a inicialização do servidor MCP. Determina quanto tempo aguardar pela inicialização do servidor.serverInstructions: Controla se as instruções do servidor são incluídas no contexto do agente. Pode sertrue(usa as fornecidas pelo servidor),false(desativado) ou uma string personalizada (substitui as fornecidas pelo servidor).customUserVars: (Opcional) Define variáveis personalizadas (por exemplo, chaves de API, URLs) que usuários individuais podem definir para um servidor MCP. Esses valores por usuário, fornecidos através da interface, podem então ser referenciados nas configurações deheadersouenvdo servidor usando a sintaxe{{VARIABLE_NAME}}. Isso permite autenticação ou personalização por usuário para ferramentas MCP.
- veja: Estrutura do Objeto MCP Servers
Exemplo:
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: trueveja: Estrutura do Objeto MCP Servers
speech
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| speech | Object | Configura os provedores de Text-to-Speech (TTS) e Speech-to-Text (STT) para a aplicação. |
Subchaves:
| Key | Type | Description | Example |
|---|---|---|---|
| tts | Object | Configurações de provedores de Text-to-Speech (OpenAI, Azure OpenAI, ElevenLabs, LocalAI). | |
| stt | Object | Configurações de provedores de Speech-to-Text (OpenAI, Azure OpenAI). | |
| speechTab | Object | Configurações de interface padrão para recursos de fala. |
veja: Estrutura do Objeto Speech
turnstile
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| turnstile | Object | Configura o Cloudflare Turnstile para proteção contra bots em formulários de registro e login. |
Subchaves:
| Key | Type | Description | Example |
|---|---|---|---|
| siteKey | String | Sua chave de site do Cloudflare Turnstile (obrigatória). | |
| options | Object | Opções adicionais do widget Turnstile (opcional). |
veja: Estrutura do Objeto Turnstile
transactions
Chave:
| Key | Type | Description | Example |
|---|---|---|---|
| transactions | Object | Controla os recursos de registro e visibilidade de transações. |
Subchaves:
| Key | Type | Description | Example |
|---|---|---|---|
| enabled | Boolean | Ativa ou desativa o registro de transações. Padrão: true. |
veja: Estrutura do Objeto Transactions
Links adicionais
- Estrutura do Objeto de Resumo
- Estrutura de Objeto do AWS Bedrock
- Estrutura do Objeto de Endpoint Personalizado
- Estrutura do Objeto do endpoint Azure OpenAI
- Estrutura do Objeto do endpoint Assistants
- Agents
- Estrutura do Objeto de Configuração OCR
- Estrutura do Objeto de Fala
- Estrutura de Objeto do Turnstile
- Estrutura do Objeto Transactions
- Estrutura do Objeto Balance
- Estrutura do Objeto de Pesquisa na Web
- Estrutura do Objeto de Memória
Como está este guia?