mirror of
https://github.com/LibreChat-AI/librechat.ai.git
synced 2026-03-27 10:48:32 +07:00
* feat: document new charLimit in memory configuration * feat: document peoplePicker interface configuration * feat: document Agent Marketplace configuration * chore: better description for peoplePicker permissions * feat: document fileStrategies configuration * feat: document webSearch's firecrawlVersion addition and scraperType to scraperProvider refactor * feat: document conversation file import limit env variable CONVERSATION_IMPORT_MAX_FILE_SIZE_BYTES * feat: document modelSpecs group field configuration * chore: fix formatting in peoplePicker interface markdown * feat: add missing .env.example changes * chore: formatting
436 lines
12 KiB
Plaintext
436 lines
12 KiB
Plaintext
# Interface Object Structure
|
|
|
|
## Overview
|
|
|
|
The `interface` object allows for customization of various user interface elements within the application, including visibility and behavior settings for components such as menus, panels, and links. This section provides a detailed breakdown of the `interface` object structure.
|
|
|
|
These are fields under `interface`:
|
|
|
|
- `mcpServers`
|
|
- `privacyPolicy`
|
|
- `termsOfService`
|
|
- `modelSelect`
|
|
- `parameters`
|
|
- `sidePanel`
|
|
- `presets`
|
|
- `prompts`
|
|
- `bookmarks`
|
|
- `multiConvo`
|
|
- `agents`
|
|
- `customWelcome`
|
|
- `runCode`
|
|
- `webSearch`
|
|
- `fileSearch`
|
|
- `fileCitations`
|
|
|
|
**Notes:**
|
|
|
|
- The `interface` configurations are applied globally within the application.
|
|
- Default values are provided for most settings but can be overridden based on specific requirements or conditions.
|
|
- Conditional logic in the application can further modify these settings based on other configurations like model specifications.
|
|
|
|
## Example
|
|
|
|
```yaml filename="interface"
|
|
interface:
|
|
mcpServers:
|
|
placeholder: "MCP Servers"
|
|
privacyPolicy:
|
|
externalUrl: "https://example.com/privacy"
|
|
openNewTab: true
|
|
termsOfService:
|
|
externalUrl: "https://example.com/terms"
|
|
openNewTab: true
|
|
modalAcceptance: true
|
|
modalTitle: "Terms of Service"
|
|
modalContent: |
|
|
# Terms of Service
|
|
## Introduction
|
|
Welcome to LibreChat!
|
|
modelSelect: false
|
|
parameters: true
|
|
sidePanel: true
|
|
presets: false
|
|
prompts: true
|
|
bookmarks: true
|
|
multiConvo: true
|
|
agents: true
|
|
customWelcome: "Hey {{user.name}}! Welcome to LibreChat"
|
|
runCode: true
|
|
webSearch: true
|
|
fileSearch: true
|
|
fileCitations: true
|
|
```
|
|
|
|
## mcpServers
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['mcpServers', 'Object', 'Contains settings related to the MCP (Model Context Protocol) server selection interface.', 'Allows for customization of the placeholder text shown in the MCP server selection dropdown.'],
|
|
]}
|
|
/>
|
|
|
|
**Sub-keys:**
|
|
<OptionTable
|
|
options={[
|
|
['placeholder', 'String', 'The placeholder text displayed in the MCP server selection dropdown when no server is selected.', 'MCP Servers'],
|
|
]}
|
|
/>
|
|
|
|
## privacyPolicy
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['privacyPolicy', 'Object', 'Contains settings related to the privacy policy link provided in the user interface.', 'Allows for the specification of a custom URL and the option to open it in a new tab.'],
|
|
]}
|
|
/>
|
|
|
|
**Sub-keys:**
|
|
<OptionTable
|
|
options={[
|
|
['externalUrl', 'String (URL)', 'The URL pointing to the privacy policy document.', ''],
|
|
['openNewTab', 'Boolean', 'Specifies whether the link should open in a new tab.', ''],
|
|
]}
|
|
/>
|
|
|
|
## termsOfService
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['termsOfService', 'Object', 'Contains settings related to the terms of service link provided in the user interface.', 'Allows for the specification of a custom URL and the option to open it in a new tab, as well as a modal acceptance dialog for the terms of service.'],
|
|
]}
|
|
/>
|
|
|
|
**Sub-keys:**
|
|
<OptionTable
|
|
options={[
|
|
['externalUrl', 'String (URL)', 'The URL pointing to the terms of service document.', 'https://librechat.ai/tos'],
|
|
['openNewTab', 'Boolean', 'Specifies whether the link should open in a new tab.', 'true'],
|
|
['modalAcceptance', 'Boolean', 'Specifies whether to show a modal terms and conditions dialog for users to accept in order to be able to use LibreChat.', 'true'],
|
|
['modalTitle', 'String', 'Specifies a custom title for the modal terms and conditions dialog (optional).', 'Terms of Service'],
|
|
['modalContent', 'String', 'Specifies the content of the modal terms and conditions dialog in MarkDown format.', 'See librechat.yaml.example for how to correctly format the multi-line parameter.'],
|
|
]}
|
|
/>
|
|
|
|
## modelSelect
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['modelSelect', 'Boolean', 'Determines whether the model selection feature is available in the UI.', 'Enabling this feature allows users to select different models directly from the interface.'],
|
|
]}
|
|
/>
|
|
|
|
**Default:** `true`
|
|
|
|
**Notes:**
|
|
- This is required to be `true` if using [`modelSpecs.addedEndpoints`](/docs/configuration/librechat_yaml/object_structure/model_specs#addedendpoints).
|
|
- If `modelSpecs.addedEndpoints` is used and `interface.modelSelect` is not explicitly set, it defaults to `true`.
|
|
|
|
**Example:**
|
|
```yaml filename="interface / modelSelect"
|
|
interface:
|
|
modelSelect: true
|
|
```
|
|
|
|
## parameters
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['parameters', 'Boolean', 'Toggles the visibility of parameter configuration options within the interface.', 'This setting is crucial for users who need to adjust parameters for specific functionalities within the application.'],
|
|
]}
|
|
/>
|
|
|
|
**Default:** `true`
|
|
|
|
**Example:**
|
|
```yaml filename="interface / parameters"
|
|
interface:
|
|
parameters: false
|
|
```
|
|
|
|
## sidePanel
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['sidePanel', 'Boolean', 'Controls the visibility of the side panel in the application\'s interface.', 'The side panel typically contains additional navigation or information relevant to the application\'s context.'],
|
|
]}
|
|
/>
|
|
|
|
**Default:** `true`
|
|
|
|
**Example:**
|
|
```yaml filename="interface / sidePanel"
|
|
interface:
|
|
sidePanel: true
|
|
```
|
|
|
|
## presets
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['presets', 'Boolean', 'Enables or disables the use of presets in the application\'s UI.', 'Presets can simplify user interactions by providing pre-configured settings or operations, enhancing user experience and efficiency.'],
|
|
]}
|
|
/>
|
|
|
|
**Default:** `true`
|
|
|
|
**Example:**
|
|
```yaml filename="interface / presets"
|
|
interface:
|
|
presets: true
|
|
```
|
|
|
|
## prompts
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['prompts', 'Boolean', 'Enables or disables all prompt-related features for all users.', 'When disabled, users will not have access to create, edit, or use custom prompts within the application.'],
|
|
]}
|
|
/>
|
|
|
|
**Default:** `true`
|
|
|
|
**Example:**
|
|
```yaml filename="interface / prompts"
|
|
interface:
|
|
prompts: false
|
|
```
|
|
|
|
## bookmarks
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['bookmarks', 'Boolean', 'Enables or disables all bookmarks-related features for all users.', 'When disabled, users will not be able to create, manage, or access bookmarks within the application.'],
|
|
]}
|
|
/>
|
|
|
|
**Default:** `true`
|
|
|
|
**Example:**
|
|
```yaml filename="interface / bookmarks"
|
|
interface:
|
|
bookmarks: true
|
|
```
|
|
|
|
## multiConvo
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['multiConvo', 'Boolean', 'Enables or disables all "multiConvo", AKA multiple response streaming, related features for all users.', 'When disabled, users will not be able to stream responses from 2 AI models at the same time.'],
|
|
]}
|
|
/>
|
|
|
|
**Default:** `true`
|
|
|
|
**Example:**
|
|
```yaml filename="interface / multiConvo"
|
|
interface:
|
|
multiConvo: true
|
|
```
|
|
|
|
## agents
|
|
|
|
More info on [Agents](/docs/features/agents)
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['agents', 'Boolean', 'Enables or disables use of the Agents'],
|
|
]}
|
|
/>
|
|
|
|
**Default:** `true`
|
|
|
|
**Example:**
|
|
```yaml filename="interface / agents"
|
|
interface:
|
|
agents: true
|
|
```
|
|
|
|
## customWelcome
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['customWelcome', 'String', 'Allows administrators to define a custom welcome message for the chat interface, with the option to personalize it using the {{user.name}} parameter.'],
|
|
]}
|
|
/>
|
|
|
|
**Default:** _None (if not specified, a default greeting is used)_
|
|
|
|
**Example:**
|
|
```yaml filename="interface / customWelcome"
|
|
interface:
|
|
customWelcome: "Hey {{user.name}}! Welcome to LibreChat"
|
|
```
|
|
|
|
**Note:** You can use `{{user.name}}` within the `customWelcome` message to dynamically insert the user's name for a personalized greeting experience.
|
|
|
|
## runCode
|
|
|
|
Enables/disables the "Run Code" button for Markdown Code Blocks. More info on the [LibreChat Code Interpreter API](/docs/features/code_interpreter)
|
|
|
|
**Note:** This setting does not disable the [Agents Code Interpreter Capability](/docs/features/agents#code-interpreter). To disable the Agents Capability, see the [Agents Endpoint configuration](/docs/configuration/librechat_yaml/object_structure/agents) instead.
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['runCode', 'Boolean', 'Enables or disables the "Run Code" button for Markdown Code Blocks.'],
|
|
]}
|
|
/>
|
|
|
|
**Default:** `true`
|
|
|
|
**Example:**
|
|
```yaml filename="interface / runCode"
|
|
interface:
|
|
runCode: true
|
|
```
|
|
|
|
## webSearch
|
|
|
|
Enables/disables the web search button in the chat interface. More info on [Web Search Configuration](/docs/configuration/librechat_yaml/object_structure/web_search)
|
|
|
|
**Note:** This setting does not disable the [Agents Web Search Capability](/docs/features/agents#web-search). To disable the Agents Capability, see the [Agents Endpoint configuration](/docs/configuration/librechat_yaml/object_structure/agents) instead.
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['webSearch', 'Boolean', 'Enables or disables the web search button in the chat interface.'],
|
|
]}
|
|
/>
|
|
|
|
**Default:** `true`
|
|
|
|
**Example:**
|
|
```yaml filename="interface / webSearch"
|
|
interface:
|
|
webSearch: true
|
|
```
|
|
|
|
## fileSearch
|
|
|
|
Enables/disables the file search (for RAG API usage via tool) button in the chat interface
|
|
|
|
**Note:** This setting does not disable the [Agents File Search Capability](/docs/features/agents#file-search). To disable the Agents Capability, see the [Agents Endpoint configuration](/docs/configuration/librechat_yaml/object_structure/agents) instead.
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['fileSearch', 'Boolean', 'Enables or disables the file search button in the chat interface.'],
|
|
]}
|
|
/>
|
|
|
|
**Default:** `true`
|
|
|
|
**Example:**
|
|
```yaml filename="interface / fileSearch"
|
|
interface:
|
|
fileSearch: true
|
|
```
|
|
|
|
## fileCitations
|
|
|
|
Controls the global availability of file citations functionality. When disabled, it effectively removes the `FILE_CITATIONS` permission for all users, preventing any file citations from being displayed when using file search, regardless of individual user permissions.
|
|
|
|
**Note:**
|
|
- This setting acts as a global toggle for the `FILE_CITATIONS` permission system-wide.
|
|
- When set to `false`, no users will see file citations, even if they have been granted the permission through roles.
|
|
- File citations require the `fileSearch` feature to be enabled.
|
|
- When using agents with file search capability, citation behavior (quantity and quality) can be configured through the [Agents endpoint configuration](/docs/configuration/librechat_yaml/object_structure/agents#file-citation-configuration-examples).
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['fileCitations', 'Boolean', 'Globally enables or disables the FILE_CITATIONS permission for all users, controlling whether file search results can include source citations.'],
|
|
]}
|
|
/>
|
|
|
|
**Default:** `true`
|
|
|
|
**Example:**
|
|
```yaml filename="interface / fileCitations"
|
|
interface:
|
|
fileCitations: true
|
|
```
|
|
|
|
## peoplePicker
|
|
|
|
Controls which principal types (users, groups, roles) are available for selection in the people picker interface, typically used when sharing agents or managing access controls.
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['peoplePicker', 'Object', 'Configuration for which principal types are available in the people picker interface.'],
|
|
]}
|
|
/>
|
|
|
|
**Sub-keys:**
|
|
|
|
<OptionTable
|
|
options={[
|
|
['users', 'Boolean', 'Enables user search in the people picker. Default: true'],
|
|
['groups', 'Boolean', 'Enables group search in the people picker. Default: true'],
|
|
['roles', 'Boolean', 'Enables role search in the people picker. Default: true'],
|
|
]}
|
|
/>
|
|
|
|
**Default:**
|
|
```yaml
|
|
peoplePicker:
|
|
users: true
|
|
groups: true
|
|
roles: true
|
|
```
|
|
|
|
**Example:**
|
|
```yaml filename="interface / peoplePicker"
|
|
interface:
|
|
peoplePicker:
|
|
users: true
|
|
groups: true
|
|
roles: false # Disable role selection in people picker
|
|
```
|
|
|
|
## marketplace
|
|
|
|
Enables/disables access to the Agent Marketplace.
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['marketplace', 'Object', 'Configuration for Agent Marketplace access control.'],
|
|
]}
|
|
/>
|
|
|
|
**Sub-keys:**
|
|
|
|
<OptionTable
|
|
options={[
|
|
['use', 'Boolean', 'Enables or disables marketplace access. Default: false'],
|
|
]}
|
|
/>
|
|
|
|
**Default:**
|
|
```yaml
|
|
marketplace:
|
|
use: false
|
|
```
|
|
|
|
**Example:**
|
|
```yaml filename="interface / marketplace"
|
|
interface:
|
|
marketplace:
|
|
use: true # Enable marketplace access
|
|
```
|