diff --git a/api/server/services/start/interface.js b/api/server/services/start/interface.js
index 98bcb6858ef..bdb151ec349 100644
--- a/api/server/services/start/interface.js
+++ b/api/server/services/start/interface.js
@@ -34,6 +34,7 @@ async function loadDefaultInterface(config, configDefaults, roleName = SystemRol
multiConvo: interfaceConfig?.multiConvo ?? defaults.multiConvo,
agents: interfaceConfig?.agents ?? defaults.agents,
temporaryChat: interfaceConfig?.temporaryChat ?? defaults.temporaryChat,
+ customWelcome: interfaceConfig?.customWelcome ?? defaults.customWelcome,
});
await updateAccessPermissions(roleName, {
diff --git a/client/src/components/Chat/Landing.tsx b/client/src/components/Chat/Landing.tsx
index bfb1a34b692..5e3ac9de35a 100644
--- a/client/src/components/Chat/Landing.tsx
+++ b/client/src/components/Chat/Landing.tsx
@@ -87,7 +87,9 @@ export default function Landing({ Header }: { Header?: ReactNode }) {
return localize('com_nav_welcome_agent');
}
- return localize('com_nav_welcome_message');
+ return typeof startupConfig?.interface?.customWelcome === 'string'
+ ? startupConfig?.interface?.customWelcome
+ : localize('com_nav_welcome_message');
};
return (
@@ -118,10 +120,13 @@ export default function Landing({ Header }: { Header?: ReactNode }) {
{name}
- {description ? description : localize('com_nav_welcome_message')}
+ {description ||
+ (typeof startupConfig?.interface?.customWelcome === 'string'
+ ? startupConfig?.interface?.customWelcome
+ : localize('com_nav_welcome_message'))}
{/*
-
By Daniel Avila
+
By Daniel Avila
*/}
) : (
diff --git a/librechat.example.yaml b/librechat.example.yaml
index e49f9b37b3d..637e7a5219b 100644
--- a/librechat.example.yaml
+++ b/librechat.example.yaml
@@ -9,6 +9,7 @@ cache: true
# Custom interface configuration
interface:
+ customWelcome: "Welcome to LibreChat! Enjoy your experience."
# Privacy policy settings
privacyPolicy:
externalUrl: 'https://librechat.ai/privacy-policy'
@@ -81,7 +82,7 @@ registration:
# model: ''
# voices: ['']
-#
+#
# stt:
# openai:
# url: ''
@@ -234,10 +235,10 @@ endpoints:
# Recommended: Drop the stop parameter from the request as Openrouter models use a variety of stop tokens.
dropParams: ['stop']
modelDisplayLabel: 'OpenRouter'
-
+
# Portkey AI Example
- name: "Portkey"
- apiKey: "dummy"
+ apiKey: "dummy"
baseURL: 'https://api.portkey.ai/v1'
headers:
x-portkey-api-key: '${PORTKEY_API_KEY}'
diff --git a/packages/data-provider/src/config.ts b/packages/data-provider/src/config.ts
index 350bf8eb532..6b9d08e165e 100644
--- a/packages/data-provider/src/config.ts
+++ b/packages/data-provider/src/config.ts
@@ -446,6 +446,7 @@ export const intefaceSchema = z
})
.optional(),
termsOfService: termsOfServiceSchema.optional(),
+ customWelcome: z.string().optional(),
endpointsMenu: z.boolean().optional(),
modelSelect: z.boolean().optional(),
parameters: z.boolean().optional(),