設定構造
注: 必須として明記されていないフィールドは任意です。
version
- 必須
| Key | Type | Description | Example |
|---|---|---|---|
| version | String | 設定ファイルのバージョンを指定します。 | version: 1.3.13 |
cache
| Key | Type | Description | Example |
|---|---|---|---|
| cache | Boolean | キャッシュのオン/オフを切り替えます。`true` に設定するとキャッシュが有効になります(デフォルト)。 | cache: true |
skillSync
| Key | Type | Description | Example |
|---|---|---|---|
| skillSync | Object | 外部Skillミラーリングを設定します。v1.3.13では、GitHub Skill Syncがサポートされています。 |
参照: Skill Sync Object Structure
messageFilter
| Key | Type | Description | Example |
|---|---|---|---|
| messageFilter | Object | サーバーサイドのメッセージフィルターを設定します。v1.3.13では、`messageFilter.pii`により、モデルの呼び出しや永続化の前に、認証情報のような形式の送信テキストを拒否できるようになりました。 |
参照: Message Filter Object Structure
fileStrategy
- Options: "local" | "firebase" | "s3" | "azure_blob" | "cloudfront"
| Key | Type | Description | Example |
|---|---|---|---|
| fileStrategy | String | ユーザーがアップロードまたは生成したファイルの保存先を決定します。省略された場合は `"local"` がデフォルトとなります。 | fileStrategy: "firebase" |
- 注記:
"cloudfront"はファイルをS3に保存し、安定したメディア配信、署名付きCookie、および署名付きダウンロードのためにCloudFront URLを返します。"firebase"は、Firebase Storage および Firebase Hosting のエッジロケーションを通じてファイルを配信します。- S3は、有効期限のあるpresigned URLs(一時的な署名付きトークン)を介してファイルを配信します。有効期限が切れると、そのURLを参照している画像やアバターはUI上で表示されなくなります。このため、S3はビジュアルアセットの主要な保存先としては適していません。詳細については、関連するディスカッションを参照してください。
- 画像やアバターのパフォーマンスを最適化するには、
"cloudfront"または"firebase"を使用するか、fileStrategiesを設定してavatarおよびimageをCDNベースの戦略にルーティングしてください。 - セットアップの詳細については、File Storage & CDN documentation を参照してください。
fileStrategies
ファイルタイプごとにファイルストレージ戦略をきめ細かく制御できます。
- 利用可能な戦略: "local" | "firebase" | "s3" | "azure_blob" | "cloudfront"
| Key | Type | Description | Example |
|---|---|---|---|
| fileStrategies | Object | ファイルタイプごとに異なるストレージ戦略を設定します。単一の fileStrategy オプションよりも柔軟です。 |
サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| default | String | 特定のタイプが定義されていない場合のフォールバックストレージ戦略。デフォルトは "local" です。 | |
| avatar | String | ユーザーおよびエージェントのアバター画像のストレージ戦略。パフォーマンスを最適化するため、CDNを利用した戦略(`"cloudfront"` または `"firebase"`)の使用を推奨します。 | |
| image | String | チャットでアップロードされた画像のストレージ戦略。パフォーマンスを最適化するため、CDNを利用した戦略(`"cloudfront"` または `"firebase"`)の使用を推奨します。 | |
| document | String | ドキュメントアップロード(PDF、テキストファイルなど)のストレージ戦略。 | |
| skills | String | Skillsにバンドルされたファイルのストレージ戦略 |
- 注記:
- この設定は、単一の
fileStrategyオプションよりも優先されます。 - 特定のファイルタイプが設定されていない場合、
default、次にfileStrategy、最後に"local"へとフォールバックされます。 - 画像やアバターがUI全体で正しくレンダリングされるためには、永続的で安定したURLが必要です。S3の署名付きURLは期限切れになるため(AWSの制限:IAMユーザーの場合は最大7日間、STS/ロールベースの認証情報の場合は数時間)、モデルセレクターやチャットUIで画像が表示されなくなる問題が発生します。詳細については、関連するディスカッションを参照してください。これを回避するには、
avatarおよびimageの設定に"cloudfront"または"firebase"を使用してください。 - S3 および Azure Blob Storage は、短期間有効な署名付きダウンロード 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 localcloudfront
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| cloudfront | Object | S3に保存されたファイルのCloudFront配信を設定します。 |
サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| domain | String | CloudFrontのディストリビューションドメインまたはCNAME。いずれかのファイル戦略で `"cloudfront"` を使用する場合に必須です。 | domain: "https://cdn.example.com" |
| distributionId | String | CloudFrontディストリビューションID。`invalidateOnDelete` が true の場合に必須です。 | distributionId: "E1234ABCD" |
| invalidateOnDelete | Boolean | 削除されたファイルに対してCloudFrontの無効化を作成します。デフォルト: false。 | invalidateOnDelete: false |
| imageSigning | String | インライン画像/アバターへのアクセスを制御します。オプション: `"none"` または `"cookies"`。`"url"` は予約済みであり、画像には実装されていません。 | imageSigning: "cookies" |
| cookieDomain | String | 署名付きCookieには共有親Cookieドメインが必要です。ドットで始まる必要があります。 | cookieDomain: ".example.com" |
| cookieExpiry | Number | 署名付きクッキーの有効期間(秒単位)。デフォルト: 1800、最大: 604800。 | cookieExpiry: 1800 |
| urlExpiry | Number | 署名付きCloudFrontダウンロードURLの有効期間(秒)。デフォルト: 3600。 | urlExpiry: 3600 |
| storageRegion | String | リージョンパスが有効な場合に生成されるオブジェクトキーで使用されるオプションのリージョンラベル。 | storageRegion: "us-east-2" |
| includeRegionInPath | Boolean | 新しく生成されるオブジェクトキーにストレージリージョンを含めます。デフォルト: false。 | includeRegionInPath: false |
| requireSignedAccess | Boolean | 署名付きCookieによるCloudFrontアクセスが初期化できない場合に起動を拒否します。デフォルト: false。 | requireSignedAccess: true |
参照: CloudFront Object Structure および CloudFront with S3
filteredTools
| Key | Type | Description | Example |
|---|---|---|---|
| filteredTools | Array of Strings | PluginsおよびOpenAI Assistantsのendpointから特定のツールを除外します。 | filteredTools: ["scholarai", "calculator"] |
- 注記:
includedToolsとfilteredToolsの両方が指定されている場合、includedToolsのみが認識されます。gptPluginsおよびassistantsendpoint の両方に影響します- フィルタリング対象のツール名は、
api/app/clients/tools/manifest.jsonで確認できます。pluginKey値を使用してください
- また、
api/app/clients/tools/.well-knownディレクトリ配下にリストされているものも同様です。name_for_modelの値を使用してください
includedTools
| Key | Type | Description | Example |
|---|---|---|---|
| includedTools | Array of Strings | PluginsおよびOpenAI Assistantsの各endpointから特定のツールが含まれます。 | includedTools: ["calculator"] |
- 注記:
includedToolsとfilteredToolsの両方が指定されている場合、includedToolsのみが認識されます。gptPluginsおよびassistantsendpoint の両方に影響します- フィルタリング対象のツール名は、
api/app/clients/tools/manifest.jsonで確認できます。pluginKey値を使用してください
- また、
api/app/clients/tools/.well-knownディレクトリ配下にリストされているものも同様です。name_for_modelの値を使用してください
secureImageLinks
| Key | Type | Description | Example |
|---|---|---|---|
| secureImageLinks | Boolean | アプリによってローカルにホストされている画像リンクへのアクセスを保護するかどうか。デフォルト: false。 | secureImageLinks: true |
imageOutputType
- 注意: 大文字と小文字は区別されます。Google endpointは、"jpeg" および "png" の出力タイプのみをサポートしています。
- オプション: "png" | "webp" | "jpeg"
| Key | Type | Description | Example |
|---|---|---|---|
| imageOutputType | String | 画像応答の画像出力タイプ。省略された場合は "png" がデフォルトになります。 | imageOutputType: "webp" |
ocr
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| ocr | Object | 画像からテキストを抽出するためのOptical Character Recognition (OCR) 設定を構成します。 |
サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| apiKey | String | OCRサービスのAPIキー。 | |
| baseURL | String | OCRサービスAPIのベースURL。 | |
| strategy | String | 使用するOCR戦略。オプションは "mistral_ocr"、"azure_mistral_ocr"、"vertexai_mistral_ocr"、"document_parser"、または "custom_ocr" です。 | |
| mistralModel | String | OCR処理に使用するMistralモデル。 |
参照: OCR Config Object Structure
webSearch
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| webSearch | Object | Web検索機能を設定します。これには検索プロバイダー、コンテンツスクレイパー、結果の再ランキングツールが含まれます。 |
サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| serperApiKey | String | Serper APIキーの環境変数名。 .env に設定されていない場合、ユーザーはUI経由で入力を求められます。 | |
| searxngInstanceUrl | String | SearXNGインスタンスURLの環境変数名。 .env に設定されていない場合、ユーザーはUI経由で入力を求められます。 | |
| searxngApiKey | String | SearXNG APIキーの環境変数名。.envに設定されていない場合、ユーザーはUI経由で入力を求められます。 | |
| tavilyApiKey | String | Tavily APIキーの環境変数名。検索とスクレイパーの両方で使用されます。.envに設定されていない場合、ユーザーはUI経由で入力を求められます。 | |
| tavilySearchUrl | String | カスタムTavily Search API URLの環境変数名。オプション。未設定の場合はTavilyホストの検索がデフォルトで使用されます。 | |
| tavilyExtractUrl | String | カスタムTavily Extract API URL用の環境変数名。オプション。未設定の場合はTavilyホストのextractがデフォルトで使用されます。 | |
| firecrawlApiKey | String | Firecrawl APIキーの環境変数名。 .env に設定されていない場合、ユーザーはUI経由で入力を求められます。 | |
| firecrawlApiUrl | String | Firecrawl API URLの環境変数名。 .envに設定されていない場合、ユーザーはUI経由で入力を求められます。 | |
| jinaApiKey | String | Jina APIキーの環境変数名。 .env に設定されていない場合、ユーザーはUI経由で入力を求められます。 | |
| cohereApiKey | String | Cohere APIキーの環境変数名。 .env に設定されていない場合、ユーザーはUI経由で入力を求められます。 | |
| searchProvider | String | 使用する検索プロバイダーを指定します。オプション: "serper", "searxng", "tavily"。 | |
| scraperProvider | String | 使用するスクレイパーサービスを指定します。オプション: "firecrawl", "serper", "tavily" | |
| firecrawlVersion | String | Firecrawl APIバージョン(v0またはv1)を指定します。 | |
| rerankerType | String | 使用するリランカーサービスを指定します。リランキングをスキップするには "none" に設定してください。オプション: "jina", "cohere", "none"。 | |
| scraperTimeout | Integer | スクレイパーリクエストのタイムアウト(ミリ秒単位)。負ではない整数である必要があります。 | |
| safeSearch | Number | セーフサーチのフィルタリングレベル。0 = OFF、1 = MODERATE(デフォルト)、2 = STRICT。 |
参照: Web Search Object Structure
fileConfig
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| fileConfig | Object | サイズ制限やMIMEタイプの制限など、アプリケーションのファイル処理設定を構成します。 |
サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| endpoints | Record/Object | 各エンドポイントのファイル処理設定を指定し、エンドポイントごとにカスタマイズできるようにします。 | |
| serverFileSizeLimit | Number | サーバーが受け入れる最大ファイルサイズ(MB単位)。エンドポイント固有の設定で上書きされない限り、すべてのendpointにグローバルに適用されます。 | |
| avatarSizeLimit | Number | ユーザーアバター画像の最大サイズ(MB単位)。 | |
| clientImageResize | Object | クライアントサイドでの画像リサイズを設定し、ファイルアップロードを最適化して、画像サイズが大きすぎることによるアップロードエラーを防ぎます。 | |
| ocr | Object | 光学式文字認識(OCR)ファイル処理の設定。 | |
| text | Object | 直接テキストファイルを解析するための設定 | |
| stt | Object | Speech-to-Text (STT) 音声ファイル処理の設定。 | |
| fileTokenLimit | Number | 切り捨て前にプロンプトに含めるテキストファイルからの最大トークン数。 | fileTokenLimit: 100000 |
clientImageResize
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| clientImageResize | Object | クライアントサイドでの画像リサイズを設定し、ファイルアップロードを最適化して、画像サイズが大きすぎることによるアップロードエラーを防ぎます。 |
サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| enabled | Boolean | クライアントサイドでの画像リサイズ機能の有効/無効を切り替えます。デフォルト: false。 | enabled: true |
| maxWidth | Number | リサイズ後の画像の最大幅(ピクセル単位)。これより幅の広い画像はリサイズされます。デフォルト: 1920。 | maxWidth: 1024 |
| maxHeight | Number | リサイズ後の画像の最大高さ(ピクセル単位)。これより高い画像はリサイズされます。デフォルト: 1080。 | maxHeight: 768 |
| quality | Number | JPEG圧縮品質(0.1から1.0)。値が高いほど品質は向上しますが、ファイルサイズは大きくなります。デフォルト:0.8。 | quality: 0.9 |
| compressFormat | String | 圧縮画像の出力形式。オプション: "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
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| rateLimits | Object | リクエスト数を制限することで不正利用を防ぐためのレート制限ポリシーを定義します。 |
サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| fileUploads | Object | ファイルアップロード操作専用のレート制限を設定します。 | |
| conversationsImport | Object | 会話インポート操作専用のレート制限を設定します。 | |
| stt | Object | speech-to-text (stt) リクエスト専用のレート制限を設定します | |
| tts | Object | text-to-speech (tts) リクエストのレート制限を個別に設定します |
fileUploads サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | IPアドレスごとのウィンドウあたりの最大アップロード数。 | |
| ipWindowInMinutes | Number | IPベースのアップロード制限における時間枠(分単位)。 | |
| userMax | Number | ユーザーごとのウィンドウあたりの最大アップロード数。 | |
| userWindowInMinutes | Number | ユーザーベースのアップロード制限における時間枠(分単位)。 |
conversationsImport サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | IPアドレスごとのウィンドウあたりの最大インポート数。 | |
| ipWindowInMinutes | Number | IPベースのインポート制限における時間枠(分単位)。 | |
| userMax | Number | ユーザーごとのウィンドウあたりの最大インポート数。 | |
| userWindowInMinutes | Number | ユーザーベースのインポート制限における時間枠(分単位)。 |
tts サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | IPアドレスごとのウィンドウあたりの最大リクエスト数。 | |
| ipWindowInMinutes | Number | IPベースのリクエスト制限における時間枠(分単位)。 | |
| userMax | Number | ユーザーごとのウィンドウあたりの最大リクエスト数。 | |
| userWindowInMinutes | Number | ユーザーベースのリクエスト制限における時間枠(分単位)。 |
stt サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| ipMax | Number | IPアドレスごとのウィンドウあたりの最大リクエスト数。 | |
| ipWindowInMinutes | Number | IPベースのリクエスト制限における時間枠(分単位)。 | |
| userMax | Number | ユーザーごとのウィンドウあたりの最大リクエスト数。 | |
| userWindowInMinutes | Number | ユーザーベースのリクエスト制限における時間枠(分単位)。 |
- 例:
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
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| registration | Object | アプリケーションの登録関連設定を構成します。 |
サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| socialLogins | ソーシャルログインの設定 | ||
| allowedDomains | 登録を許可するドメインを指定します。 |
参照:
memory
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| memory | Object | アプリケーションの会話メモリおよびパーソナライゼーション機能を設定します。 |
サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| disabled | Boolean | trueに設定すると、メモリ機能を無効にします。 | |
| validKeys | Array of Strings | メモリ保存に有効なキーを指定します。 | |
| tokenLimit | Number | メモリの保存および処理に使用するトークンの最大数を設定します。 | |
| charLimit | Number | メモリ保存の最大文字数を設定します。デフォルト: 10000。 | |
| maxInputTokens | Number | 抽出前に自動メモリ・エージェントに送信される最近のチャットトークンに上限を設定します。デフォルト: 12000。 | |
| personalize | Boolean | パーソナライズ機能を有効または無効にします。 | |
| messageWindowSize | Number | メモリコンテキストに含める最近のメッセージ数を指定します。 | |
| agent | Object | Union | メモリ処理を担当するエージェントを設定します。 |
summarization
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| summarization | Object | 会話の要約とコンテキストの剪定を設定します。各endpointの `summarize` および `summaryModel` フィールドを置き換えます。 |
サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| provider | String | 要約呼び出しに使用するLLMプロバイダー。デフォルトはエージェント自身のプロバイダーです。 | |
| model | String | 要約呼び出し用のモデル。デフォルトはエージェント自身のモデルです。 | |
| parameters | Object | 要約リクエスト用の追加のLLMパラメータ。 | |
| prompt | String | 初期要約用のカスタムプロンプト | |
| updatePrompt | String | 以前の要約が存在する場合の再圧縮用カスタムプロンプト。 | |
| trigger | Object | 要約がトリガーされるタイミング(トークン比率、残りトークン数、またはメッセージ数)を定義します。 | |
| maxSummaryTokens | Number | 要約モデルの応答に対する最大出力トークン数。 | |
| reserveRatio | Number | ヘッドルームとして確保するトークン予算の割合(0–1)。デフォルト: 0.05。 | |
| contextPruning | Object | 古いメッセージに対する位置ベースのツール結果の劣化を設定します。 |
参照: Summarization Object Structure
actions
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| actions | Object | AgentsおよびAssistantsで使用される、アクション関連の設定を構成します |
サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| allowedDomains | Array of Strings | アクションのドメインに対する厳格なホワイトリスト。設定されている場合、リストされたドメインのみがアクセス可能です。 | |
| allowedAddresses | Array of Strings | SSRF除外リスト(プライベートIP空間のみ)。`allowedDomains`が設定されていない場合に、パブリックな宛先を制限することなく、特定のプライベートなhost:portサービスを許可します。 |
参照:
interface
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| interface | Object | アプリケーション内のユーザーインターフェース要素を設定し、さまざまなコンポーネントの表示や動作のカスタマイズを可能にします。 |
サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| privacyPolicy | Object | 提供されたプライバシーポリシーリンクに関連する設定が含まれています。 | |
| termsOfService | Object | 提供される利用規約リンクに関連する設定が含まれています。 | |
| modelSelect | Boolean | モデル選択機能が利用可能かどうかを決定します。 | |
| parameters | Boolean | パラメータ設定オプション(別名:会話設定)の表示を切り替えます。 | |
| presets | Boolean | プリセットメニューの有効化または無効化 | |
| prompts | Boolean or Object | すべてのユーザーに対して、プロンプト関連の全機能を有効または無効にします | |
| bookmarks | Boolean | すべてのユーザーに対して、ブックマーク関連の全機能を有効または無効にします | |
| memories | Boolean | すべてのユーザーに対してmemories機能を有効または無効にします | |
| multiConvo | Boolean | すべてのユーザーに対して、「multi convo」(複数レスポンスストリーミング)に関連するすべての機能を有効または無効にします | |
| agents | Boolean or Object | すべてのユーザーに対してすべてのエージェント機能を有効または無効にします | |
| temporaryChat | Boolean | 一時的なチャット機能を有効または無効にします | |
| temporaryChatRetention | Number | 一時的なチャットの保持期間を時間単位で設定します。最小: 1、最大: 8760。デフォルト: 720(30日間)。 | |
| autoSubmitFromUrl | Boolean | `/c/new?prompt=…&submit=true` でのプロンプト自動送信を制御します。`false` の場合、プロンプトは入力されますが送信はされません。 | |
| mcpServers | Object | MCPサーバーの選択およびアクセス制御に関連する設定が含まれています。 | |
| customWelcome | String | チャットインターフェースに表示されるカスタムウェルカムメッセージ。 | |
| runCode | Boolean | Markdownコードブロックの「コードを実行」ボタンを有効または無効にします | |
| webSearch | Boolean | チャットインターフェースのウェブ検索ボタンの有効/無効を切り替えます | |
| fileSearch | Boolean | チャットインターフェース内のファイル検索ボタンの有効・無効を切り替えます | |
| fileCitations | Boolean | すべてのユーザーに対してファイル引用をグローバルに有効または無効にします | |
| peoplePicker | Object | ピープルピッカーインターフェースで利用可能なプリンシパルタイプを構成します | |
| marketplace | Object | Agent Marketplaceへのアクセスを有効または無効にします |
参照: Interface Object Structure
modelSpecs
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| modelSpecs | Object | Model Specsを設定し、アプリケーション内でのAIモデルとその動作の詳細なセットアップとカスタマイズを可能にします。 |
サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| enforce | Boolean | Model Specsが他の設定を厳密に上書きするかどうかを決定します。 | |
| prioritize | Boolean | 両方が適用可能な場合に、デフォルト設定よりもModel Specsを優先するかどうかを指定します。 | |
| list | Array of Objects | さまざまな構成や動作を詳述した個別のModel Specsのリストが含まれています。 |
参照: Model Specs Object Structure
endpoints
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| endpoints | Object | アプリケーションのカスタムAPI endpointを定義します。 |
サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| custom | Array of Objects | 配列内の各オブジェクトは、一意のendpoint設定を表します。 | |
| azureOpenAI | Object | Azure OpenAI エンドポイント固有の設定 | |
| assistants | Object | Assistants エンドポイント固有の設定。 | |
| azureAssistants | Object | Azure Assistants エンドポイント固有の設定。 | |
| agents | Object | Agents エンドポイント固有の設定。 | |
| all | Object | すべてのendpointに適用されるグローバルなendpoint設定。Shared Endpoint Settingsを参照してください。 | |
| allowedAddresses | Array of Strings | SSRF除外リスト(プライベートIP空間のみ)。ユーザーが指定したbaseURLが特定のプライベートホスト:ポートサービス(例:セルフホスト版Ollama)を指すことを許可し、他のすべてのSSRF保護を無効にすることなく利用できます。 |
注: エンドポイントは、
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
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| mcpSettings | Object | Model Context Protocol (MCP) サーバーのグローバル設定を定義します |
サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| allowedDomains | Array of Strings | MCPサーバー接続のための厳格なドメインホワイトリスト。設定されている場合、リストされたエントリのみが接続可能です。 | |
| allowedAddresses | Array of Strings | SSRF除外リスト(プライベート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
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| mcpServers | Object | Model Context Protocol (MCP) サーバーの構成を定義し、アプリケーション内での MCP サーバーの動的な統合を可能にします。 |
サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| <serverName> | Object | `mcpServers` 配下の各キーは、一意の名前で識別される個別の MCP サーバー設定を表します。 |
- 注記:
- 初期化は起動時に行われるため、変更を反映させるにはアプリを再起動する必要があります。
<serverName>は、各 MCP サーバー設定の一意の識別子です。- 各MCPサーバーは、4つの接続タイプのいずれかを使用して設定できます:
stdiowebsocketssestreamable-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を通じて提供されるこれらのユーザーごとの値は、サーバーのheadersまたはenv設定内で{{VARIABLE_NAME}}構文を使用して参照できます。これにより、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
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| speech | Object | アプリケーションのText-to-Speech (TTS) および Speech-to-Text (STT) プロバイダーを設定します。 |
サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| tts | Object | Text-to-Speech プロバイダーの設定 (OpenAI, Azure OpenAI, ElevenLabs, LocalAI) | |
| stt | Object | Speech-to-Textプロバイダーの設定 (OpenAI, Azure OpenAI) | |
| speechTab | Object | 音声機能のデフォルトUI設定。 |
turnstile
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| turnstile | Object | 登録およびログインフォームのボット対策としてCloudflare Turnstileを設定します。 |
サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| siteKey | String | Cloudflare Turnstileのサイトキー(必須)。 | |
| options | Object | 追加のTurnstileウィジェットオプション(オプション)。 |
参照: Turnstile Object Structure
transactions
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| transactions | Object | トランザクションのログ記録および可視化機能を制御します。 |
サブキー:
| Key | Type | Description | Example |
|---|---|---|---|
| enabled | Boolean | トランザクションログの有効/無効を切り替えます。デフォルト: true。 |
参照: Transactions Object Structure
その他のリンク
このガイドはいかがでしたか?