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

구성 구조

참고: 필수 항목으로 명시되지 않은 필드는 선택 사항입니다.

version

  • 필수
KeyTypeDescriptionExample
versionString구성 파일의 버전을 지정합니다.version: 1.3.13

cache

KeyTypeDescriptionExample
cacheBoolean캐싱을 켜거나 끕니다. 캐싱을 활성화하려면 `true`로 설정하세요(기본값).cache: true

skillSync

KeyTypeDescriptionExample
skillSyncObject외부 Skill 미러링을 구성합니다. v1.3.13부터 GitHub Skill Sync가 지원됩니다.

참고: Skill Sync Object Structure

messageFilter

KeyTypeDescriptionExample
messageFilterObject서버 측 메시지 필터를 구성합니다. v1.3.13부터 `messageFilter.pii`는 모델 호출 및 지속성 이전에 자격 증명 형태의 제출된 텍스트를 거부할 수 있습니다.

참조: Message Filter Object Structure

fileStrategy

  • 옵션: "local" | "firebase" | "s3" | "azure_blob" | "cloudfront"
KeyTypeDescriptionExample
fileStrategyString사용자가 업로드하거나 생성한 파일을 저장할 위치를 결정합니다. 생략 시 기본값은 `"local"`입니다.fileStrategy: "firebase"
  • 참고:
    • "cloudfront"는 파일을 S3에 저장하고 안정적인 미디어 전송, 서명된 쿠키(signed cookies) 및 서명된 다운로드(signed downloads)를 위해 CloudFront URL을 반환합니다.
    • "firebase"는 Firebase Storage 및 Firebase Hosting 엣지 위치를 통해 파일을 제공합니다.
    • S3는 만료되는 presigned URL(임시 서명 토큰)을 통해 파일을 제공합니다. 일단 만료되면 해당 URL을 참조하는 모든 이미지나 아바타는 UI에서 깨진 상태로 표시됩니다. 이로 인해 S3는 시각적 자산을 위한 기본 전략으로 적합하지 않습니다. 자세한 내용은 관련 토론을 참조하세요.
    • 이미지와 아바타의 최적 성능을 위해 "cloudfront" 또는 "firebase"를 사용하거나, fileStrategies를 구성하여 avatarimage를 CDN 기반 전략으로 라우팅하십시오.
    • 설정 세부 정보는 File Storage & CDN documentation을 참조하세요.

fileStrategies

다양한 파일 유형에 대한 파일 저장 전략을 세밀하게 제어할 수 있습니다.

  • 사용 가능한 전략(Available Strategies): "local" | "firebase" | "s3" | "azure_blob" | "cloudfront"
KeyTypeDescriptionExample
fileStrategiesObject파일 유형별로 서로 다른 저장 전략을 구성합니다. 단일 fileStrategy 옵션보다 더 유연합니다.

하위 키:

KeyTypeDescriptionExample
defaultString특정 유형이 정의되지 않았을 때의 대체 저장 전략입니다. 기본값은 "local"입니다.
avatarString사용자 및 에이전트 아바타 이미지를 위한 스토리지 전략입니다. 최상의 성능을 위해 CDN 기반 전략(`"cloudfront"` 또는 `"firebase"`)을 사용하는 것을 권장합니다.
imageString채팅에 업로드된 이미지에 대한 스토리지 전략입니다. 최상의 성능을 위해 CDN 기반 전략(`"cloudfront"` 또는 `"firebase"`)을 사용하는 것을 권장합니다.
documentString문서 업로드(PDF, 텍스트 파일 등)를 위한 스토리지 전략.
skillsStringSkills와 함께 번들로 제공되는 파일에 대한 저장 전략.
  • 참고:
    • 이 설정은 단일 fileStrategy 옵션보다 우선합니다.
    • 특정 파일 형식이 구성되지 않은 경우, default로 대체된 다음 fileStrategy로, 마지막으로 "local"로 대체됩니다.
    • 이미지와 아바타가 UI 전반에서 올바르게 렌더링되려면 지속적이고 안정적인 URL이 필요합니다. S3 사전 서명된 URL은 만료되기 때문에(AWS 제한: IAM 사용자의 경우 7일, STS/역할 기반 자격 증명의 경우 몇 시간), 모델 선택기 및 채팅 UI에서 이미지가 깨지는 현상이 발생합니다. 자세한 내용은 관련 토론을 참조하세요. 이를 방지하려면 avatarimage"cloudfront" 또는 "firebase"를 사용하세요.
    • S3 및 Azure Blob Storage는 수명이 짧은 사전 서명된(presigned) 다운로드 URL이 적합한 document 저장소로 사용하기에 매우 적합합니다.
    • 각 스토리지 공급자에 대한 설정 세부 정보는 File Storage & CDN documentation을 참조하세요.

예시:

# Use a single strategy for all file types
fileStrategies:
  default: 's3'
# Route images and avatars to CDN, keep documents in object storage
fileStrategies:
  avatar: 'cloudfront' # CDN delivery for avatars
  image: 'cloudfront' # CDN delivery for generated/uploaded images
  document: 's3' # Object storage for documents
# Only configure specific types, others use default
fileStrategies:
  default: 'local'
  avatar: 'firebase' # Only avatars use Firebase CDN, everything else is local

cloudfront

키:

KeyTypeDescriptionExample
cloudfrontObjectS3에 저장된 파일을 위한 CloudFront 전송을 구성합니다.

하위 키(Subkeys):

KeyTypeDescriptionExample
domainStringCloudFront 배포 도메인 또는 CNAME. 파일 전략에서 `"cloudfront"`를 사용하는 경우 필수입니다.domain: "https://cdn.example.com"
distributionIdStringCloudFront 배포 ID. `invalidateOnDelete`가 true일 때 필수입니다.distributionId: "E1234ABCD"
invalidateOnDeleteBoolean삭제된 파일에 대한 CloudFront 무효화를 생성합니다. 기본값: false.invalidateOnDelete: false
imageSigningString인라인 이미지/아바타 액세스를 제어합니다. 옵션: `"none"` 또는 `"cookies"`. `"url"`은 예약되어 있으며 이미지에 대해서는 구현되지 않았습니다.imageSigning: "cookies"
cookieDomainString서명된 쿠키에 필요한 공유 상위 쿠키 도메인입니다. 점(.)으로 시작해야 합니다.cookieDomain: ".example.com"
cookieExpiryNumber서명된 쿠키의 유효 시간(초 단위)입니다. 기본값: 1800, 최댓값: 604800.cookieExpiry: 1800
urlExpiryNumber초 단위의 서명된 CloudFront 다운로드 URL 수명입니다. 기본값: 3600.urlExpiry: 3600
storageRegionString지역 경로가 활성화된 경우 생성된 객체 키에 사용되는 선택적 지역 레이블입니다.storageRegion: "us-east-2"
includeRegionInPathBoolean새로 생성된 객체 키에 스토리지 리전을 포함합니다. 기본값: false.includeRegionInPath: false
requireSignedAccessBoolean서명된 쿠키 CloudFront 액세스를 초기화할 수 없을 때 시작을 거부합니다. 기본값: false.requireSignedAccess: true

참고: CloudFront Object StructureCloudFront with S3

filteredTools

KeyTypeDescriptionExample
filteredToolsArray of StringsPlugins 및 OpenAI Assistants endpoint 모두에서 특정 도구를 필터링합니다.filteredTools: ["scholarai", "calculator"]
  • 참고:
    • includedToolsfilteredTools가 모두 지정된 경우, includedTools만 인식됩니다.
    • gptPluginsassistants endpoint 모두에 영향을 미칩니다.
    • 필터링할 도구의 이름은 api/app/clients/tools/manifest.json에서 확인할 수 있습니다.
      • pluginKey 값을 사용하세요
    • 또한, api/app/clients/tools/.well-known 디렉토리의 ".well-known" 아래에 나열된 모든 항목도 포함됩니다.
      • name_for_model 값을 사용하세요

includedTools

KeyTypeDescriptionExample
includedToolsArray of StringsPlugins 및 OpenAI Assistants endpoint 모두의 특정 도구를 포함합니다.includedTools: ["calculator"]
  • 참고:
    • includedToolsfilteredTools가 모두 지정된 경우, includedTools만 인식됩니다.
    • gptPluginsassistants endpoint 모두에 영향을 미칩니다.
    • 필터링할 도구의 이름은 api/app/clients/tools/manifest.json에서 확인할 수 있습니다.
      • pluginKey 값을 사용하세요
    • 또한, api/app/clients/tools/.well-known 디렉토리의 ".well-known" 아래에 나열된 모든 항목도 포함됩니다.
      • name_for_model 값을 사용하세요
KeyTypeDescriptionExample
secureImageLinksBoolean앱에서 로컬로 호스팅되는 이미지 링크에 대한 액세스를 보안 처리할지 여부입니다. 기본값: false.secureImageLinks: true

imageOutputType

  • 참고: 대소문자를 구분합니다. Google endpoint는 "jpeg" 및 "png" 출력 유형만 지원합니다.
  • 옵션: "png" | "webp" | "jpeg"
KeyTypeDescriptionExample
imageOutputTypeString이미지 응답에 대한 이미지 출력 유형입니다. 생략 시 기본값은 "png"입니다.imageOutputType: "webp"

ocr

키:

KeyTypeDescriptionExample
ocrObject이미지에서 텍스트를 추출하기 위한 광학 문자 인식(OCR) 설정을 구성합니다.

하위 키(Subkeys):

KeyTypeDescriptionExample
apiKeyStringOCR 서비스를 위한 API 키입니다.
baseURLStringOCR 서비스 API의 기본 URL입니다.
strategyString사용할 OCR 전략입니다. 옵션은 "mistral_ocr", "azure_mistral_ocr", "vertexai_mistral_ocr", "document_parser" 또는 "custom_ocr"입니다.
mistralModelStringOCR 처리에 사용할 Mistral 모델입니다.

참고: OCR Config Object Structure

webSearch

키:

KeyTypeDescriptionExample
webSearchObject웹 검색 기능을 구성하며, 검색 제공자, 콘텐츠 스크레이퍼, 결과 리랭커를 포함합니다.

하위 키(Subkeys):

KeyTypeDescriptionExample
serperApiKeyStringSerper API 키를 위한 환경 변수 이름입니다. .env에 설정되지 않은 경우, 사용자가 UI를 통해 입력하도록 요청받게 됩니다.
searxngInstanceUrlStringSearXNG 인스턴스 URL을 위한 환경 변수 이름입니다. .env에 설정되지 않은 경우, 사용자가 UI를 통해 입력하도록 요청받게 됩니다.
searxngApiKeyStringSearXNG API 키를 위한 환경 변수 이름입니다. .env에 설정되지 않은 경우, 사용자에게 UI를 통해 입력하라는 메시지가 표시됩니다.
tavilyApiKeyStringTavily API 키를 위한 환경 변수 이름입니다. 검색 및 스크레이퍼 모두에 사용됩니다. .env에 설정되지 않은 경우, 사용자에게 UI를 통해 입력하라는 메시지가 표시됩니다.
tavilySearchUrlString사용자 지정 Tavily Search API URL을 위한 환경 변수 이름입니다. 선택 사항이며, 설정하지 않으면 Tavily 호스팅 검색이 기본값으로 사용됩니다.
tavilyExtractUrlString사용자 지정 Tavily Extract API URL을 위한 환경 변수 이름입니다. 선택 사항이며, 설정하지 않으면 Tavily 호스팅 extract가 기본값으로 사용됩니다.
firecrawlApiKeyStringFirecrawl API 키를 위한 환경 변수 이름입니다. .env에 설정되지 않은 경우, 사용자는 UI를 통해 이를 입력하라는 메시지를 받게 됩니다.
firecrawlApiUrlStringFirecrawl API URL을 위한 환경 변수 이름입니다. .env에 설정되지 않은 경우, 사용자가 UI를 통해 입력하도록 요청받게 됩니다.
jinaApiKeyStringJina API 키를 위한 환경 변수 이름입니다. .env에 설정되지 않은 경우, 사용자가 UI를 통해 입력하도록 요청받게 됩니다.
cohereApiKeyStringCohere API 키를 위한 환경 변수 이름입니다. .env에 설정되지 않은 경우, 사용자에게 UI를 통해 입력하라는 메시지가 표시됩니다.
searchProviderString사용할 검색 공급자를 지정합니다. 옵션: "serper", "searxng", "tavily".
scraperProviderString사용할 스크레이퍼 서비스를 지정합니다. 옵션: "firecrawl", "serper", "tavily".
firecrawlVersionStringFirecrawl API 버전(v0 또는 v1)을 지정합니다.
rerankerTypeString사용할 reranker 서비스를 지정합니다. reranking을 건너뛰려면 "none"으로 설정하세요. 옵션: "jina", "cohere", "none".
scraperTimeoutInteger스크레이퍼 요청에 대한 밀리초 단위의 타임아웃입니다. 음수가 아닌 정수여야 합니다.
safeSearchNumber안전 검색 필터링 수준입니다. 0 = OFF, 1 = MODERATE (기본값), 2 = STRICT.

참고: Web Search Object Structure

fileConfig

키:

KeyTypeDescriptionExample
fileConfigObject애플리케이션의 파일 처리 설정을 구성하며, 여기에는 크기 제한 및 MIME 유형 제한이 포함됩니다.

하위 키(Subkeys):

KeyTypeDescriptionExample
endpointsRecord/Object개별 endpoint에 대한 파일 처리 구성을 지정하여 endpoint별로 사용자 정의를 허용합니다.
serverFileSizeLimitNumber서버가 허용할 최대 파일 크기(MB 단위)입니다. 엔드포인트별 설정으로 재정의되지 않는 한 모든 endpoint에 전역적으로 적용됩니다.
avatarSizeLimitNumber사용자 아바타 이미지의 최대 크기(MB 단위).
clientImageResizeObject파일 업로드를 최적화하고 대용량 이미지로 인한 업로드 오류를 방지하기 위해 클라이언트 측 이미지 크기 조정을 구성합니다.
ocrObjectOCR(광학 문자 인식) 파일 처리를 위한 설정.
textObject직접 텍스트 파일 파싱을 위한 설정.
sttObject음성-텍스트 변환(STT) 오디오 파일 처리를 위한 설정입니다.
fileTokenLimitNumber프롬프트에 포함할 텍스트 파일의 최대 토큰 수(잘리기 전).fileTokenLimit: 100000

clientImageResize

키:

KeyTypeDescriptionExample
clientImageResizeObject파일 업로드를 최적화하고 대용량 이미지로 인한 업로드 오류를 방지하기 위해 클라이언트 측 이미지 크기 조정을 구성합니다.

하위 키(Subkeys):

KeyTypeDescriptionExample
enabledBoolean클라이언트 측 이미지 크기 조정 기능을 활성화하거나 비활성화합니다. 기본값: false.enabled: true
maxWidthNumber크기 조정된 이미지의 최대 너비(픽셀 단위)입니다. 이보다 넓은 이미지는 크기가 조정됩니다. 기본값: 1920.maxWidth: 1024
maxHeightNumber크기 조정된 이미지의 최대 높이(픽셀 단위)입니다. 이보다 높은 이미지는 크기가 조정됩니다. 기본값: 1080.maxHeight: 768
qualityNumberJPEG 압축 품질 (0.1에서 1.0). 값이 높을수록 품질은 좋아지지만 파일 크기가 커집니다. 기본값: 0.8.quality: 0.9
compressFormatString압축된 이미지의 출력 형식입니다. 옵션: "jpeg", "webp". 기본값: "jpeg".compressFormat: "webp"

설명:

clientImageResize 구성은 업로드 전 클라이언트 측에서 자동으로 이미지 크기를 조정하는 기능을 활성화합니다. 이 기능은 다음을 지원합니다:

  • 업로드 실패 방지: 대용량 이미지 파일이 서버 제한을 초과하는 문제 방지
  • 전송 전에 이미지를 압축하여 대역폭 사용량을 줄이세요
  • 업로드 성능 개선: 더 작은 파일 크기 사용
  • 파일 크기를 최적화하면서 이미지 품질을 유지하세요

이 기능이 활성화되면, 지정된 maxWidth 또는 maxHeight 치수를 초과하는 이미지는 서버로 업로드되기 전에 클라이언트 측에서 자동으로 크기가 조정됩니다. 크기 조정은 이미지의 가로세로 비율을 유지하면서 지정된 범위 내에 맞도록 보장합니다.

예시:

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

참고:

  • 이미지 파일(JPEG, PNG, WebP 등)에만 적용됩니다.
  • 이미지가 지정된 크기를 초과하면 자동으로 크기가 조정됩니다
  • 크기 조정 중 원본 가로세로 비율이 유지됩니다
  • 이 기능은 지원되는 모든 이미지 업로드 endpoint에서 작동합니다.
  • Quality 설정은 JPEG 및 WebP 형식에만 적용됩니다.
  • 품질을 너무 낮게(0.5 미만) 설정하면 눈에 띄는 이미지 품질 저하가 발생할 수 있습니다.

참고: File Config Object Structure

rateLimits

키:

KeyTypeDescriptionExample
rateLimitsObject요청 횟수를 제한하여 남용을 방지하는 속도 제한 정책을 정의합니다.

하위 키(Subkeys):

KeyTypeDescriptionExample
fileUploadsObject파일 업로드 작업에 대한 속도 제한을 구체적으로 구성합니다.
conversationsImportObject대화 가져오기 작업에 대한 속도 제한을 구체적으로 구성합니다.
sttObject음성-텍스트 변환(stt) 요청에 대한 속도 제한을 구체적으로 구성합니다
ttsObjecttext-to-speech (tts) 요청에 대한 속도 제한을 구체적으로 구성합니다

fileUploads 하위 키:

KeyTypeDescriptionExample
ipMaxNumberIP 주소당 시간 단위별로 허용되는 최대 업로드 횟수입니다.
ipWindowInMinutesNumberIP 기반 업로드 제한을 위한 시간 창(분 단위)입니다.
userMaxNumber사용자당 윈도우별로 허용되는 최대 업로드 수입니다.
userWindowInMinutesNumber사용자 기반 업로드 제한을 위한 시간 창(분 단위).

conversationsImport 하위 키:

KeyTypeDescriptionExample
ipMaxNumberIP 주소당 윈도우별로 허용되는 최대 가져오기(import) 횟수입니다.
ipWindowInMinutesNumberIP 기반 가져오기 제한을 위한 시간 창(분 단위)입니다.
userMaxNumber사용자당 윈도우별 최대 가져오기(import) 횟수.
userWindowInMinutesNumber사용자 기반 가져오기 제한에 대한 시간 창(분 단위).

tts 하위 키:

KeyTypeDescriptionExample
ipMaxNumberIP 주소당 윈도우별로 허용되는 최대 요청 수입니다.
ipWindowInMinutesNumberIP 기반 요청 제한을 위한 시간 창(분 단위).
userMaxNumber사용자당 윈도우별 최대 요청 수.
userWindowInMinutesNumber사용자 기반 요청 제한을 위한 시간 창(분 단위).

stt 하위 키:

KeyTypeDescriptionExample
ipMaxNumberIP 주소당 윈도우별로 허용되는 최대 요청 수입니다.
ipWindowInMinutesNumberIP 기반 요청 제한을 위한 시간 창(분 단위).
userMaxNumber사용자당 윈도우별 최대 요청 수.
userWindowInMinutesNumber사용자 기반 요청 제한을 위한 시간 창(분 단위).
  • 예시:
rateLimits:
  fileUploads:
    ipMax: 100
    ipWindowInMinutes: 60
    userMax: 50
    userWindowInMinutes: 60
  conversationsImport:
    ipMax: 100
    ipWindowInMinutes: 60
    userMax: 50
    userWindowInMinutes: 60
  stt:
    ipMax: 100
    ipWindowInMinutes: 1
    userMax: 50
    userWindowInMinutes: 1
  tts:
    ipMax: 100
    ipWindowInMinutes: 1
    userMax: 50
    userWindowInMinutes: 1

registration

키:

KeyTypeDescriptionExample
registrationObject애플리케이션의 등록 관련 설정을 구성합니다.

하위 키(Subkeys):

KeyTypeDescriptionExample
socialLogins소셜 로그인 설정
allowedDomains등록이 허용된 도메인을 지정합니다.

참고:

memory

키:

KeyTypeDescriptionExample
memoryObject애플리케이션의 대화 메모리 및 개인화 기능을 구성합니다.

하위 키(Subkeys):

KeyTypeDescriptionExample
disabledBooleantrue로 설정하면 메모리 기능을 비활성화합니다.
validKeysArray of Strings메모리 저장소에 유효한 키를 지정합니다.
tokenLimitNumber메모리 저장 및 처리를 위한 최대 토큰 수를 설정합니다.
charLimitNumber메모리 저장소의 최대 문자 수를 설정합니다. 기본값: 10000.
maxInputTokensNumber추출 전 자동 메모리 에이전트로 전송되는 최근 채팅 토큰의 상한선을 설정합니다. 기본값: 12000.
personalizeBoolean개인화 기능을 활성화하거나 비활성화합니다.
messageWindowSizeNumber메모리 컨텍스트에 포함할 최근 메시지 수를 지정합니다.
agentObject | Union메모리 처리를 담당하는 에이전트를 구성합니다.

참고: Memory Object Structure

summarization

키:

KeyTypeDescriptionExample
summarizationObject대화 요약 및 컨텍스트 정리(pruning)를 구성합니다. 엔드포인트별 `summarize` 및 `summaryModel` 필드를 대체합니다.

하위 키(Subkeys):

KeyTypeDescriptionExample
providerString요약 호출을 위한 LLM 공급자입니다. 기본값은 에이전트 자체의 공급자입니다.
modelString요약 호출을 위한 모델입니다. 기본값은 에이전트 자체 모델입니다.
parametersObject요약 요청을 위한 추가 LLM 매개변수.
promptString초기 요약을 위한 사용자 지정 프롬프트.
updatePromptString이전 요약이 존재할 때 재요약을 위한 사용자 지정 프롬프트.
triggerObject요약이 트리거되는 시점(토큰 비율, 남은 토큰 또는 메시지 수 기준)을 정의합니다.
maxSummaryTokensNumber요약 모델 응답을 위한 최대 출력 토큰 수입니다.
reserveRatioNumber헤드룸으로 예약된 토큰 예산의 비율(0–1). 기본값: 0.05.
contextPruningObject이전 메시지에 대한 위치 기반 도구 결과 저하를 구성합니다.

참고: Summarization Object Structure

actions

키:

KeyTypeDescriptionExample
actionsObject에이전트 및 어시스턴트에서 사용하는 액션 관련 설정을 구성합니다

하위 키(Subkeys):

KeyTypeDescriptionExample
allowedDomainsArray of Strings액션을 위한 도메인 엄격 화이트리스트입니다. 설정 시, 나열된 도메인만 접근 가능합니다.
allowedAddressesArray of StringsSSRF 예외 목록 (사설 IP 대역만 해당). `allowedDomains`가 구성되지 않았을 때 공용 대상에 대한 제한 없이 특정 사설 host:port 서비스를 허용합니다.

참고:

interface

키:

KeyTypeDescriptionExample
interfaceObject애플리케이션 내 사용자 인터페이스 요소를 구성하며, 다양한 구성 요소의 표시 여부와 동작을 사용자 지정할 수 있도록 합니다.

하위 키(Subkeys):

KeyTypeDescriptionExample
privacyPolicyObject제공된 개인정보 처리방침 링크와 관련된 설정을 포함합니다.
termsOfServiceObject제공된 서비스 약관 링크와 관련된 설정을 포함합니다.
modelSelectBoolean모델 선택 기능의 사용 가능 여부를 결정합니다.
parametersBoolean매개변수 구성 옵션(일명 대화 설정)의 표시 여부를 전환합니다.
presetsBoolean프리셋 메뉴를 활성화하거나 비활성화합니다
promptsBoolean or Object모든 사용자에 대해 프롬프트 관련 기능을 활성화하거나 비활성화합니다
bookmarksBoolean모든 사용자에 대해 북마크 관련 기능을 활성화하거나 비활성화합니다
memoriesBoolean모든 사용자에 대해 memories 기능을 활성화하거나 비활성화합니다
multiConvoBoolean모든 사용자에 대해 "multi convo"(다중 응답 스트리밍) 관련 기능을 활성화하거나 비활성화합니다.
agentsBoolean or Object모든 사용자에 대해 모든 에이전트 기능을 활성화하거나 비활성화합니다
temporaryChatBoolean임시 채팅 기능을 활성화하거나 비활성화합니다
temporaryChatRetentionNumber임시 채팅의 보존 기간을 시간 단위로 설정합니다. 최소: 1, 최대: 8760. 기본값: 720 (30일).
autoSubmitFromUrlBoolean`/c/new?prompt=…&submit=true`가 모델에 자동으로 제출될지 여부를 제어합니다. `false`로 설정하면 프롬프트가 미리 채워지지만 자동으로 제출되지는 않습니다.
mcpServersObjectMCP 서버 선택 및 액세스 제어와 관련된 설정을 포함합니다.
customWelcomeString채팅 인터페이스에 표시되는 사용자 지정 환영 메시지입니다.
runCodeBooleanMarkdown 코드 블록에 대한 "코드 실행(Run Code)" 버튼을 활성화하거나 비활성화합니다
webSearchBoolean채팅 인터페이스에서 웹 검색 버튼을 활성화하거나 비활성화합니다
fileSearchBoolean채팅 인터페이스에서 파일 검색 버튼을 활성화하거나 비활성화합니다
fileCitationsBoolean모든 사용자에 대해 파일 인용 기능을 전역적으로 활성화하거나 비활성화합니다
peoplePickerObject사람 선택기 인터페이스에서 어떤 주체 유형을 제어할 수 있는지 구성합니다
marketplaceObjectAgent Marketplace에 대한 액세스를 활성화하거나 비활성화합니다

참고: Interface Object Structure

modelSpecs

키:

KeyTypeDescriptionExample
modelSpecsObjectModel Specs를 구성하여 애플리케이션 내 AI 모델과 그 동작에 대한 상세한 설정 및 사용자 지정을 가능하게 합니다.

하위 키(Subkeys):

KeyTypeDescriptionExample
enforceBoolean모델 사양이 다른 구성 설정을 엄격하게 재정의해야 하는지 여부를 결정합니다.
prioritizeBooleanModel Specs가 적용 가능한 경우 기본 구성보다 우선순위를 가질지 여부를 지정합니다.
listArray of Objects다양한 구성 및 동작을 상세히 설명하는 개별 Model Specs 목록을 포함합니다.

참고: Model Specs Object Structure

endpoints

키:

KeyTypeDescriptionExample
endpointsObject애플리케이션을 위한 사용자 지정 API endpoint를 정의합니다.

하위 키(Subkeys):

KeyTypeDescriptionExample
customArray of Objects배열의 각 객체는 고유한 endpoint 구성을 나타냅니다.
azureOpenAIObjectAzure OpenAI 엔드포인트별 구성
assistantsObjectAssistants 엔드포인트별 구성.
azureAssistantsObjectAzure Assistants 엔드포인트별 구성.
agentsObjectAgents 엔드포인트별 구성.
allObject모든 endpoint에 적용되는 전역 endpoint 설정입니다. Shared Endpoint Settings를 참조하세요.
allowedAddressesArray of StringsSSRF 예외 목록 (사설 IP 대역만 해당). 사용자가 제공한 baseURL이 다른 모든 것에 대한 SSRF 보호를 비활성화하지 않고도 특정 사설 host:port 서비스(예: 자체 호스팅 Ollama)를 가리킬 수 있도록 허용합니다.

참고: 엔드포인트는 streamRate, headers, titleModel, titleMethod, titlePrompt, titlePromptTemplate, titleEndpoint, maxToolResultChars와 같은 Shared Endpoint Settings을 지원합니다. 이러한 설정은 각 엔드포인트별로 개별적으로 구성하거나 all 키를 사용하여 전역적으로 구성할 수 있습니다. headers는 병합되며, 키 충돌 시 엔드포인트 수준의 값이 우선합니다. all 키는 baseURL을 허용하지 않습니다.

참고: endpoints.allowedAddresses는 사용자가 제공한 baseURL 값에 적용됩니다(관리자가 apiKey: 'user_provided'baseURL: 'user_provided'로 사용자 지정 endpoint를 구성한 경우). 사용자가 제공한 각 baseURL은 요청 시점에 SSRF 차단 목록에 대해 검증되며, 여기에 나열된 항목은 예외로 처리됩니다. 필드 의미론에 대해서는 mcpSettings.allowedAddresses를 참조하십시오. 동일한 규칙이 적용됩니다(사설 IP 대역만 허용, 포트 필수, URL/경로/CIDR/베어 호스트/공용 IP 리터럴은 허용되지 않음).

mcpSettings

키:

KeyTypeDescriptionExample
mcpSettingsObjectModel Context Protocol (MCP) 서버에 대한 전역 설정을 정의합니다

하위 키(Subkeys):

KeyTypeDescriptionExample
allowedDomainsArray of StringsMCP 서버 연결을 위한 도메인 엄격 허용 목록입니다. 설정 시, 목록에 있는 항목만 연결할 수 있습니다.
allowedAddressesArray of StringsSSRF 예외 목록 (사설 IP 대역만 해당). `allowedDomains`를 엄격한 화이트리스트 모드로 전환하지 않고도 특정 사설 host:port 서비스를 허용합니다.
  • 참고:
    • 이는 MCP 서버를 통한 내부 주소의 남용/오용을 방지하기 위한 보안 기능입니다.
    • 기본적으로 LibreChat은 MCP 서버가 내부, 로컬 또는 사설 네트워크 주소에 연결하는 것을 제한합니다.
    • 로컬 IP 주소나 도메인을 사용하는 MCP 서버는 엄격한 allowedDomains 화이트리스트에 추가하거나(이 경우 해당 목록만 접근 가능해짐), 공용 목적지에 대한 접근성을 유지하려면 allowedAddresses를 통해 정확한 host:port 서비스로 예외 처리할 수 있습니다.
    • 모든 yaml 구성 변경 사항과 마찬가지로, 변경 사항을 적용하려면 LibreChat을 다시 시작해야 합니다.
    • 도메인, 와일드카드 서브도메인(*.example.com), Docker 도메인 및 IP 주소를 지원합니다.

예시:

mcpSettings:
  # Strict whitelist mode:
  # allowedDomains:
  #   - "example.com"           # Specific domain
  #   - "*.example.com"         # All subdomains
  #   - "http://mcp-server:3000" # Internal service, explicitly whitelisted

  # Default SSRF mode with private service exemptions:
  allowedAddresses:
    - 'host.docker.internal:8080' # Permit one private host on one port
    - '10.0.0.5:8000' # Permit one private IP on one port

참고: MCP Settings Object Structure

mcpServers

키:

KeyTypeDescriptionExample
mcpServersObjectModel Context Protocol (MCP) 서버에 대한 구성을 정의하여 애플리케이션 내에서 MCP 서버를 동적으로 통합할 수 있도록 합니다.

하위 키(Subkeys):

KeyTypeDescriptionExample
<serverName>Object`mcpServers` 아래의 각 키는 고유한 이름으로 식별되는 개별 MCP 서버 구성을 나타냅니다.
  • 참고:
    • 초기화는 시작 시점에 발생하며, 변경 사항을 적용하려면 앱을 다시 시작해야 합니다.
    • <serverName>은 각 MCP 서버 구성에 대한 고유 식별자입니다.
    • 각 MCP 서버는 다음 네 가지 연결 유형 중 하나를 사용하여 구성할 수 있습니다:
      • stdio
      • websocket
      • sse
      • streamable-http
    • type 필드는 MCP 서버에 대한 연결 유형을 지정합니다.
    • type이 생략된 경우, url 또는 command의 존재 여부와 형식에 따라 기본값이 결정됩니다:
      • url이 지정되어 있고 http 또는 https로 시작하는 경우, type은 기본적으로 sse로 설정됩니다.
      • url이 지정되어 있고 ws 또는 wss로 시작하는 경우, type은 기본적으로 websocket으로 설정됩니다.
      • command가 지정된 경우, type은 기본적으로 stdio로 설정됩니다.
    • 추가 구성 옵션은 다음과 같습니다:
      • timeout: MCP 서버 요청에 대한 밀리초 단위의 타임아웃입니다. 도구 요청에 대한 응답을 기다릴 시간을 결정합니다.
      • initTimeout: MCP 서버 초기화를 위한 밀리초 단위의 타임아웃입니다. 서버가 초기화될 때까지 대기할 시간을 결정합니다.
      • serverInstructions: 에이전트 컨텍스트에 서버 지침을 포함할지 여부를 제어합니다. true(서버 제공 지침 사용), false(비활성화), 또는 사용자 지정 문자열(서버 제공 지침을 재정의)로 설정할 수 있습니다.
      • customUserVars: (선택 사항) 개별 사용자가 MCP 서버에 대해 설정할 수 있는 사용자 지정 변수(예: API 키, URL)를 정의합니다. UI를 통해 제공되는 이러한 사용자별 값은 {{VARIABLE_NAME}} 구문을 사용하여 서버의 headers 또는 env 구성에서 참조할 수 있습니다. 이를 통해 MCP 도구에 대한 사용자별 인증 또는 사용자 지정이 가능합니다.
    • 참고: MCP Servers Object Structure

예시:

mcpServers:
  everything:
    # type: sse # type can optionally be omitted
    url: http://localhost:3001/sse
    timeout: 30000
    initTimeout: 10000
    serverInstructions: true # Use server-provided instructions
  puppeteer:
    type: stdio
    command: npx
    args:
      - -y
      - '@modelcontextprotocol/server-puppeteer'
    timeout: 30000
    initTimeout: 10000
    serverInstructions: 'Do not access any local files or local/internal IP addresses'
  filesystem:
    # type: stdio
    command: npx
    args:
      - -y
      - '@modelcontextprotocol/server-filesystem'
      - /home/user/LibreChat/
    iconPath: /home/user/LibreChat/client/public/assets/logo.svg
  mcp-obsidian:
    command: npx
    args:
      - -y
      - 'mcp-obsidian'
      - /path/to/obsidian/vault
  streamable-http-example:
    type: streamable-http
    url: https://example.com/mcp
    headers:
      Authorization: 'Bearer ${API_TOKEN}'
    timeout: 30000
  per-user-crendentials-example:
    type: sse
    url: 'https//some.mcp/sse'
    headers:
      X-Custom-Auth-Token: '{{USER_API_KEY}}' # Placeholder for the user-provided API key, defined in `customUserVars` below.
    customUserVars:
      USER_API_KEY:
        title: 'Service API Key'
        description: "Your personal API key for this service. You can get it <a href='https://example.com/api-keys' target='_blank'>here</a>."
    serverInstructions: true

참고: MCP Servers Object Structure

speech

키:

KeyTypeDescriptionExample
speechObject애플리케이션을 위한 Text-to-Speech(TTS) 및 Speech-to-Text(STT) 공급자를 구성합니다.

하위 키(Subkeys):

KeyTypeDescriptionExample
ttsObjectText-to-Speech 공급자 구성 (OpenAI, Azure OpenAI, ElevenLabs, LocalAI).
sttObjectSpeech-to-Text 공급자 구성 (OpenAI, Azure OpenAI).
speechTabObject음성 기능을 위한 기본 UI 설정.

참고: Speech Object Structure

turnstile

키:

KeyTypeDescriptionExample
turnstileObject회원가입 및 로그인 폼의 봇 방지를 위해 Cloudflare Turnstile을 구성합니다.

하위 키(Subkeys):

KeyTypeDescriptionExample
siteKeyStringCloudflare Turnstile 사이트 키 (필수).
optionsObject추가 Turnstile 위젯 옵션 (선택 사항).

참고: Turnstile Object Structure

transactions

키:

KeyTypeDescriptionExample
transactionsObject트랜잭션 로깅 및 가시성 기능을 제어합니다.

하위 키(Subkeys):

KeyTypeDescriptionExample
enabledBoolean트랜잭션 로깅을 활성화하거나 비활성화합니다. 기본값: true.

참고: Transactions Object Structure

이 가이드는 어떤가요?