mirror of
https://github.com/LibreChat-AI/librechat.ai.git
synced 2026-03-27 02:38:32 +07:00
* chore: update GitHub Actions workflow to use latest action version for improved stability * chore: update roadmap references and enhance documentation for AWS Bedrock inference profiles - Updated footer menu and card icons to reflect the 2026 roadmap. - Adjusted default values in changelog and configuration documentation for `maxRecursionLimit`. - Added comprehensive documentation for AWS Bedrock inference profiles, including setup, configuration, and examples. - Introduced Agents API documentation for programmatic access to LibreChat agents. - Enhanced existing documentation for clarity and consistency across various sections. * feat: release Config v1.3.4 with new features and updates - Introduced `create` field in `interface.prompts` and `interface.agents` for enhanced user control. - Added `interface.remoteAgents` configuration for managing remote agent permissions. - Updated `endpoints.bedrock` with `models` and `inferenceProfiles` for better customization. - Included Moonshot as a known endpoint for AI integration. - Introduced new agent capabilities: `deferred_tools` and `programmatic_tools`. - Removed deprecated `forcePrompt` setting from configurations. - Updated default model lists and added support for new models. - Enhanced `modelSpecs` with `artifacts` field and `effort` parameter for Anthropic models. * refactor: update BlogHeader to use usePathname for route handling - Replaced useRouter with usePathname for improved routing in BlogHeader component. - Simplified page retrieval logic by directly using pathname for matching routes. * feat: add changelog for v0.8.3-rc1 release with new features and fixes - Introduced several enhancements including event-driven lazy tool loading, token usage tracking, and programmatic tool calling UI. - Added support for new models and providers, including Claude Opus 4.6 and Moonshot. - Implemented various bug fixes and improvements for better user experience and performance. * chore: nextjs artifact * first draft roadmap * feat: enhance BlogPage with Open Graph image support and layout improvements - Added support for Open Graph images in blog entries to improve visual presentation. - Refactored article layout for better structure and readability, including adjustments to the display of metadata and content. - Updated styles for improved user experience during hover interactions. * feat: enhance BlogPage with date formatting and layout adjustments - Added a new dateFormatted field to entries for improved date display. - Implemented a date formatter for consistent date presentation. - Refactored article layout to use a grid system for better responsiveness. - Updated styles for article links and metadata for enhanced user experience. * feat: add responsive image sizes to BlogPage for improved layout - Included sizes attribute for Open Graph images to enhance responsiveness on different screen sizes. * feat: update feature titles and descriptions for clarity - Changed titles for "Forking Messages and Conversations" to "Forking Chats" and "Memory" to "User Memory" for better alignment with functionality. - Updated descriptions for "Message Search" and "Upload as Text" to enhance understanding of features. * chore: update configuration version to 1.3.4 across multiple documentation files - Updated the version number in `librechat.yaml` examples to reflect the latest release (1.3.4) in various configuration and feature documentation files. * feat: enhance User Memory documentation for clarity and detail - Updated the description to clarify that User Memory is a key/value store that operates on every chat request. - Added a callout to distinguish between key/value storage and conversation memory. - Expanded on the functionality of the memory agent, including its execution process and user control features. - Introduced a section on future improvements for the memory agent's efficiency and relevance. * feat: update title and description for NGINX documentation - Changed the title from "Secure Deployment with Nginx" to "NGINX" for brevity. - Updated the description to provide a clearer overview of the guide's purpose in securing LibreChat deployment with Nginx as a reverse proxy and HTTPS. * feat: update 2026 roadmap with key accomplishments and future plans - Celebrated LibreChat's 3rd anniversary with a summary of achievements from 2025, including growth in GitHub stars and community engagement. - Clarified the timeline for open-sourcing the Code Interpreter API by the end of Q1. - Revised notes on the v1 Admin Panel's core capabilities and community-driven items for better clarity and detail. * feat: enhance blog and author components with Open Graph image support - Added optional `ogImagePosition` field to blog entries for better image placement control. - Updated BlogPage and individual post pages to utilize the new `ogImagePosition` for responsive image styling. - Improved Author component to conditionally render author images based on availability. - Updated 2026 roadmap blog post with a new Open Graph image and position for enhanced visual appeal. * feat: enhance CardComponent with icon support and layout improvements - Added optional `icon` prop to CardComponent for better visual representation. - Updated CardComponent layout to include icon alongside title and children. - Improved styling for CardComponent and CardsBase for enhanced responsiveness and user experience. * feat: update 2026 roadmap with detailed focus areas and community-driven items - Added sections for Q1 and Q2 focus areas, outlining major initiatives like Dynamic Context and Admin Panel. - Enhanced clarity on community-driven items and their prioritization based on GitHub reactions. - Included hiring information to attract full-stack developers for ongoing project support. - Improved overall structure and readability of the roadmap content. * fix: improve icon styling in CardCompat component for better responsiveness - Updated icon container styling to ensure consistent height and width for SVG icons. - Enhanced layout of CardCompat to maintain visual integrity across different screen sizes. * chore: update .gitignore to include next-env.d.ts for TypeScript support * fix: correct import statement formatting in next-env.d.ts for consistency * fix: refine wording in 2026 roadmap for clarity - Updated the description of agentic workflows to emphasize a lean approach to context pulling. - Enhanced overall readability of the section on Dynamic Context. * feat: expand Admin Panel section in 2026 roadmap with detailed capabilities - Added comprehensive descriptions of the Admin Panel's core functionalities, including GUI for configuration, configuration profiles, group and role management, and access controls. - Clarified the development approach for the Admin Panel, emphasizing ongoing iteration and community involvement. - Updated note on the Admin Panel's prioritization and requirements following the ClickHouse acquisition. * feat: add TrackedLink component for enhanced analytics tracking - Introduced a new TrackedLink component that integrates Vercel analytics to track user interactions with links. - The component allows for customizable link properties while ensuring tracking of clicks with relevant metadata. - Updated CardCompat to utilize the new TrackedLink for improved user engagement tracking. * feat: enhance blog post layout and introduce TrackedAnchor component for link tracking - Wrapped the InlineTOC component in a div for improved spacing in blog posts. - Added a new TrackedAnchor component to facilitate link tracking with Vercel analytics, allowing for customizable anchor elements. - Updated mdx-components to utilize TrackedAnchor for enhanced link interaction tracking. * feat: update TrackedLink and TrackedAnchor components for external link handling - Enhanced the TrackedLink component to differentiate between internal and external links, using Next.js Link for internal navigation. - Introduced a utility function to determine if a link is external, improving tracking accuracy. - Updated TrackedAnchor to utilize the same external link handling logic for consistency in link tracking. * feat: add uncaught exception handling section to dotenv configuration documentation - Introduced a new section on uncaught exception handling, explaining how to override the default behavior to keep the app running after exceptions. - Added an option table detailing the `CONTINUE_ON_UNCAUGHT_EXCEPTION` configuration. - Included a warning callout advising against using this feature in production environments. * feat: add ESLint rule for unused variables in TypeScript - Introduced a new ESLint rule to enforce the handling of unused variables, allowing for specific patterns to be ignored. - This enhancement aims to improve code quality by ensuring that developers are alerted to potentially unnecessary variables while maintaining flexibility in naming conventions. * fix: update copyright year in LICENSE file to 2026 * feat: update footer menu link and add 2026 roadmap blog post - Changed the roadmap link in the FooterMenu component to point to the new blog post. - Introduced a new blog post detailing the 2026 roadmap for LibreChat, outlining key features and focus areas for the upcoming year. - Updated the import statement in next-env.d.ts for consistency with the new types directory. * fix: update import path in next-env.d.ts and add comment block in agents.mdx - Changed the import statement in next-env.d.ts to reference the new development types directory. - Added a comment block in agents.mdx to indicate that the Programmatic Tool Calling feature is in private beta. * fix: remove unused ESLint disable comment in context.tsx * chore: update blog
693 lines
21 KiB
Plaintext
693 lines
21 KiB
Plaintext
---
|
|
title: "Interface Object Structure"
|
|
icon: LayoutDashboard
|
|
---
|
|
|
|
## 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`:
|
|
|
|
- `endpointsMenu`
|
|
- `mcpServers`
|
|
- `privacyPolicy`
|
|
- `termsOfService`
|
|
- `modelSelect`
|
|
- `parameters`
|
|
- `sidePanel`
|
|
- `presets`
|
|
- `prompts`
|
|
- `bookmarks`
|
|
- `memories`
|
|
- `multiConvo`
|
|
- `agents`
|
|
- `temporaryChat`
|
|
- `temporaryChatRetention`
|
|
- `customWelcome`
|
|
- `runCode`
|
|
- `webSearch`
|
|
- `fileSearch`
|
|
- `fileCitations`
|
|
- `peoplePicker`
|
|
- `marketplace`
|
|
|
|
**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"
|
|
use: true
|
|
create: true
|
|
share: false
|
|
public: false
|
|
trustCheckbox:
|
|
label: "I trust this server"
|
|
subLabel: "Only enable servers you trust"
|
|
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:
|
|
use: true
|
|
create: true
|
|
share: true
|
|
public: false
|
|
bookmarks: true
|
|
multiConvo: true
|
|
agents:
|
|
use: true
|
|
create: true
|
|
share: true
|
|
public: false
|
|
customWelcome: "Hey {{user.name}}! Welcome to LibreChat"
|
|
runCode: true
|
|
webSearch: true
|
|
fileSearch: true
|
|
fileCitations: true
|
|
```
|
|
|
|
## endpointsMenu
|
|
|
|
Controls the visibility of the endpoints menu dropdown in the chat interface.
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['endpointsMenu', 'Boolean', 'Controls whether the endpoints menu is visible in the UI.', 'When set to `false`, users will not see the endpoint selector dropdown.'],
|
|
]}
|
|
/>
|
|
|
|
**Default:** `true`
|
|
|
|
**Example:**
|
|
```yaml filename="interface / endpointsMenu"
|
|
interface:
|
|
endpointsMenu: false
|
|
```
|
|
|
|
## mcpServers
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['mcpServers', 'Object', 'Contains settings related to the MCP (Model Context Protocol) server selection interface and access control.', 'Allows for customization of the placeholder text, user permissions, and trust checkbox labels.'],
|
|
]}
|
|
/>
|
|
|
|
**Sub-keys:**
|
|
<OptionTable
|
|
options={[
|
|
['placeholder', 'String', 'The placeholder text displayed in the MCP server selection dropdown when no server is selected.', 'MCP Servers'],
|
|
['use', 'Boolean', 'Controls whether users have permission to use existing MCP servers.', 'true'],
|
|
['create', 'Boolean', 'Controls whether users have permission to create new MCP servers.', 'true'],
|
|
['share', 'Boolean', 'Controls whether users have permission to share MCP servers with other users.', 'false'],
|
|
['public', 'Boolean', 'Controls whether users can share MCP servers publicly (visible to all users).', 'false'],
|
|
['trustCheckbox', 'Object', 'Customizable labels for the trust checkbox in the MCP server dialog. Supports simple strings or language-keyed objects for internationalization.', 'See below'],
|
|
]}
|
|
/>
|
|
|
|
**trustCheckbox Sub-keys:**
|
|
<OptionTable
|
|
options={[
|
|
['label', 'String or Object', 'The main label for the trust checkbox. Can be a simple string or a language-keyed object (e.g., { en: "I trust this server", es: "Confío en este servidor" }).', ''],
|
|
['subLabel', 'String or Object', 'The sub-label (help text) for the trust checkbox. Can be a simple string or a language-keyed object for internationalization.', ''],
|
|
]}
|
|
/>
|
|
|
|
**Example:**
|
|
```yaml filename="interface / mcpServers"
|
|
interface:
|
|
mcpServers:
|
|
placeholder: "Select MCP Server"
|
|
use: true
|
|
create: true
|
|
share: false
|
|
trustCheckbox:
|
|
label:
|
|
en: "I trust this server"
|
|
es: "Confío en este servidor"
|
|
subLabel:
|
|
en: "Only enable servers you trust"
|
|
es: "Solo habilite servidores en los que confíe"
|
|
```
|
|
|
|
## 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 or Object', 'Controls prompt-related features for all users. Can be a boolean for simple enable/disable, or an object for granular control over use, creation, sharing, and public visibility.', 'When set to `false`, users will not have access to create, edit, or use custom prompts.'],
|
|
]}
|
|
/>
|
|
|
|
**Default:** `true`
|
|
|
|
**Important: Boolean vs Object Configuration**
|
|
|
|
- **Boolean (`prompts: true`)**: Only updates the `use` permission. Existing `create`, `share`, and `public` permission values are **preserved** from the database. Use this as a simple feature toggle without affecting other settings configured through the admin panel.
|
|
|
|
- **Object**: Updates only the sub-permissions that are explicitly specified. Any permissions not included in the config are preserved from the database.
|
|
|
|
When using the object structure:
|
|
|
|
**Sub-keys:**
|
|
<OptionTable
|
|
options={[
|
|
['use', 'Boolean', 'Controls whether users can use prompts.', 'true'],
|
|
['create', 'Boolean', 'Controls whether users can create new prompts.', 'true'],
|
|
['share', 'Boolean', 'Controls whether users can share prompts with specific users/groups.', 'false'],
|
|
['public', 'Boolean', 'Controls whether users can share prompts publicly (visible to all users).', 'false'],
|
|
]}
|
|
/>
|
|
|
|
**Example (boolean - simple feature toggle):**
|
|
```yaml filename="interface / prompts (boolean)"
|
|
interface:
|
|
prompts: true # Only updates USE; create/share/public remain unchanged
|
|
```
|
|
|
|
**Example (object - granular control):**
|
|
```yaml filename="interface / prompts (object)"
|
|
interface:
|
|
prompts:
|
|
use: true
|
|
create: false # Disable creation while allowing use
|
|
# share and public not specified - preserves existing values
|
|
```
|
|
|
|
**Example (object - full control):**
|
|
```yaml filename="interface / prompts (object)"
|
|
interface:
|
|
prompts:
|
|
use: true
|
|
create: true
|
|
share: true
|
|
public: 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
|
|
```
|
|
|
|
## memories
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['memories', 'Boolean', 'Enables or disables the memories feature for all users in the interface.', 'When disabled, users will not have access to the memories panel or memory-related features.'],
|
|
]}
|
|
/>
|
|
|
|
**Default:** `true`
|
|
|
|
**Note:** This controls the UI visibility of the memories feature. For detailed memory behavior configuration (token limits, personalization, agent settings), see the [Memory Configuration](/docs/configuration/librechat_yaml/object_structure/memory).
|
|
|
|
**Example:**
|
|
```yaml filename="interface / memories"
|
|
interface:
|
|
memories: 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 or Object', 'Controls agent-related features for all users. Can be a boolean for simple enable/disable, or an object for granular control over use, creation, sharing, and public visibility.', 'When set to `false`, users will not have access to agents.'],
|
|
]}
|
|
/>
|
|
|
|
**Default:** `true`
|
|
|
|
**Important: Boolean vs Object Configuration**
|
|
|
|
- **Boolean (`agents: true`)**: Only updates the `use` permission. Existing `create`, `share`, and `public` permission values are **preserved** from the database. Use this as a simple feature toggle without affecting other settings configured through the admin panel.
|
|
|
|
- **Object**: Updates only the sub-permissions that are explicitly specified. Any permissions not included in the config are preserved from the database.
|
|
|
|
When using the object structure:
|
|
|
|
**Sub-keys:**
|
|
<OptionTable
|
|
options={[
|
|
['use', 'Boolean', 'Controls whether users can use agents.', 'true'],
|
|
['create', 'Boolean', 'Controls whether users can create new agents.', 'true'],
|
|
['share', 'Boolean', 'Controls whether users can share agents with specific users/groups.', 'false'],
|
|
['public', 'Boolean', 'Controls whether users can share agents publicly (visible to all users).', 'false'],
|
|
]}
|
|
/>
|
|
|
|
**Example (boolean - simple feature toggle):**
|
|
```yaml filename="interface / agents (boolean)"
|
|
interface:
|
|
agents: true # Only updates USE; create/share/public remain unchanged
|
|
```
|
|
|
|
**Example (object - granular control):**
|
|
```yaml filename="interface / agents (object)"
|
|
interface:
|
|
agents:
|
|
use: true
|
|
create: false # Disable creation while allowing use
|
|
# share and public not specified - preserves existing values
|
|
```
|
|
|
|
**Example (object - full control):**
|
|
```yaml filename="interface / agents (object)"
|
|
interface:
|
|
agents:
|
|
use: true
|
|
create: true
|
|
share: true
|
|
public: false
|
|
```
|
|
|
|
## remoteAgents
|
|
|
|
Controls access to the Agents API (OpenAI-compatible and Open Responses API endpoints), which allows external applications to interact with LibreChat agents programmatically via API keys.
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['remoteAgents', 'Object', 'Configuration for remote agent API access control. All fields default to `false`.', ''],
|
|
]}
|
|
/>
|
|
|
|
**Sub-keys:**
|
|
<OptionTable
|
|
options={[
|
|
['use', 'Boolean', 'Controls whether users can access the remote agents API.', 'false'],
|
|
['create', 'Boolean', 'Controls whether users can create API keys for remote agents.', 'false'],
|
|
['share', 'Boolean', 'Controls whether users can share remote agents.', 'false'],
|
|
['public', 'Boolean', 'Controls whether users can share remote agents publicly.', 'false'],
|
|
]}
|
|
/>
|
|
|
|
**Default:** All fields default to `false` (disabled).
|
|
|
|
**Example:**
|
|
```yaml filename="interface / remoteAgents"
|
|
interface:
|
|
remoteAgents:
|
|
use: true
|
|
create: true
|
|
share: false
|
|
public: false
|
|
```
|
|
|
|
**Note:** Admin users have all remote agent permissions enabled by default regardless of this configuration.
|
|
|
|
## temporaryChat
|
|
|
|
Controls whether the temporary chat feature is available to users. Temporary chats are not saved to conversation history and are automatically deleted after a configurable retention period.
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['temporaryChat', 'Boolean', 'Enables or disables the temporary chat feature.', 'When set to `false`, users will not see the option to start temporary chats.'],
|
|
]}
|
|
/>
|
|
|
|
**Default:** `true`
|
|
|
|
**Note:** The retention period for temporary chats can be configured using `temporaryChatRetention`.
|
|
|
|
**Example:**
|
|
```yaml filename="interface / temporaryChat"
|
|
interface:
|
|
temporaryChat: true
|
|
```
|
|
|
|
## temporaryChatRetention
|
|
|
|
The `temporaryChatRetention` configuration allows you to customize how long temporary chats are retained before being automatically deleted.
|
|
|
|
**Key:**
|
|
<OptionTable
|
|
options={[
|
|
['temporaryChatRetention', 'Number', 'Sets the retention period for temporary chats in hours.', 'temporaryChatRetention: 168'],
|
|
]}
|
|
/>
|
|
|
|
**Validation Rules:**
|
|
- **Minimum**: 1 hour (prevents immediate deletion)
|
|
- **Maximum**: 8760 hours (1 year maximum retention)
|
|
- **Default**: 720 hours (30 days)
|
|
|
|
**Configuration Methods:**
|
|
1. **LibreChat.yaml** (recommended): `interface.temporaryChatRetention: 168`
|
|
2. **Environment Variable** (deprecated): `TEMP_CHAT_RETENTION_HOURS=168`
|
|
|
|
> **Note:** The environment variable `TEMP_CHAT_RETENTION_HOURS` is deprecated. Please use the `interface.temporaryChatRetention` config option in `librechat.yaml` instead. The config file value takes precedence over the environment variable.
|
|
|
|
**Example:**
|
|
```yaml filename="interface / temporaryChatRetention"
|
|
interface:
|
|
temporaryChatRetention: 168 # Retain temporary chats for 7 days
|
|
```
|
|
|
|
**Common Retention Periods:**
|
|
- **1 hour**: `temporaryChatRetention: 1` (minimal retention)
|
|
- **24 hours**: `temporaryChatRetention: 24` (1 day)
|
|
- **168 hours**: `temporaryChatRetention: 168` (1 week)
|
|
- **720 hours**: `temporaryChatRetention: 720` (30 days - default)
|
|
- **8760 hours**: `temporaryChatRetention: 8760` (1 year - maximum)
|
|
|
|
## 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
|
|
```
|