@lobehub/chat 1.1.4 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,31 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ### [Version 1.1.5](https://github.com/lobehub/lobe-chat/compare/v1.1.4...v1.1.5)
6
+
7
+ <sup>Released on **2024-06-23**</sup>
8
+
9
+ #### ♻ Code Refactoring
10
+
11
+ - **misc**: Remove deprecated env.
12
+
13
+ <br/>
14
+
15
+ <details>
16
+ <summary><kbd>Improvements and Fixes</kbd></summary>
17
+
18
+ #### Code refactoring
19
+
20
+ - **misc**: Remove deprecated env, closes [#2983](https://github.com/lobehub/lobe-chat/issues/2983) ([15a681f](https://github.com/lobehub/lobe-chat/commit/15a681f))
21
+
22
+ </details>
23
+
24
+ <div align="right">
25
+
26
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
27
+
28
+ </div>
29
+
5
30
  ### [Version 1.1.4](https://github.com/lobehub/lobe-chat/compare/v1.1.3...v1.1.4)
6
31
 
7
32
  <sup>Released on **2024-06-22**</sup>
package/README.md CHANGED
@@ -233,7 +233,7 @@ In addition, these plugins are not limited to news aggregation, but can also ext
233
233
  | [Search1API](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **fatwang2** on **2024-05-06**</sup> | Search aggregation service, specifically designed for LLMs<br/>`web` `search` |
234
234
  | [Search Google via Serper](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **Barry** on **2024-04-30**</sup> | Google search engine via Serper.dev free API (2500x🆓/month)<br/>`web` `search` |
235
235
 
236
- > 📊 Total plugins: [<kbd>**53**</kbd>](https://github.com/lobehub/lobe-chat-plugins)
236
+ > 📊 Total plugins: [<kbd>**52**</kbd>](https://github.com/lobehub/lobe-chat-plugins)
237
237
 
238
238
  <!-- PLUGIN LIST -->
239
239
 
package/README.zh-CN.md CHANGED
@@ -225,7 +225,7 @@ LobeChat 的插件生态系统是其核心功能的重要扩展,它极大地
225
225
  | [Search1API](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **fatwang2** on **2024-05-06**</sup> | 搜索聚合服务,专为 LLMs 设计<br/>`web` `search` |
226
226
  | [通过 Serper 搜索 Google](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **Barry** on **2024-04-30**</sup> | 通过 Serper.dev 免费 API 进行 Google 搜索引擎(每月 2500 次🆓)<br/>`网络` `搜索` |
227
227
 
228
- > 📊 Total plugins: [<kbd>**53**</kbd>](https://github.com/lobehub/lobe-chat-plugins)
228
+ > 📊 Total plugins: [<kbd>**52**</kbd>](https://github.com/lobehub/lobe-chat-plugins)
229
229
 
230
230
  <!-- PLUGIN LIST -->
231
231
 
@@ -12,7 +12,7 @@ tags:
12
12
 
13
13
  # Model List
14
14
 
15
- LobeChat supports customizing the model list during deployment. You can use `+` to add a model, `-` to hide a model, and use `model name=display name<extension configuration>` to customize the display name of a model, separated by English commas. The basic syntax is as follows:
15
+ LobeChat supports customizing the model list during deployment. This configuration is done in the environment for each [model provider](/docs/self-hosting/environment-variables/model-provider). You can use `+` to add a model, `-` to hide a model, and use `model name=display name<extension configuration>` to customize the display name of a model, separated by English commas. The basic syntax is as follows:
16
16
 
17
17
  ```text
18
18
  id=displayName<maxToken:vision:fc:file>,model2,model3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "1.1.4",
3
+ "version": "1.1.5",
4
4
  "description": "Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.",
5
5
  "keywords": [
6
6
  "framework",
@@ -225,7 +225,7 @@
225
225
  "@types/semver": "^7.5.8",
226
226
  "@types/systemjs": "^6.13.5",
227
227
  "@types/ua-parser-js": "^0.7.39",
228
- "@types/uuid": "^9.0.8",
228
+ "@types/uuid": "^10.0.0",
229
229
  "@types/ws": "^8.5.10",
230
230
  "@umijs/lint": "^4.2.13",
231
231
  "@vitest/coverage-v8": "~1.2.2",
@@ -44,27 +44,4 @@ describe('getAnalyticsConfig', () => {
44
44
  GOOGLE_ANALYTICS_MEASUREMENT_ID: 'ga_id',
45
45
  });
46
46
  });
47
-
48
- it('should use deprecated env vars and log warnings', () => {
49
- process.env.NEXT_PUBLIC_PLAUSIBLE_DOMAIN = 'deprecated.com';
50
- process.env.NEXT_PUBLIC_POSTHOG_KEY = 'deprecated_key';
51
- process.env.NEXT_PUBLIC_UMAMI_WEBSITE_ID = 'deprecated_id';
52
-
53
- const config = getAnalyticsConfig();
54
-
55
- expect(config.ENABLED_PLAUSIBLE_ANALYTICS).toBeTruthy();
56
- expect(config.ENABLED_POSTHOG_ANALYTICS).toBeTruthy();
57
- expect(config.ENABLED_UMAMI_ANALYTICS).toBeTruthy();
58
-
59
- expect(console.warn).toHaveBeenCalledTimes(3);
60
- expect(console.warn).toHaveBeenCalledWith(
61
- 'NEXT_PUBLIC_PLAUSIBLE_DOMAIN is deprecated. Please use PLAUSIBLE_DOMAIN instead. We will remove it in LobeChat 1.0',
62
- );
63
- expect(console.warn).toHaveBeenCalledWith(
64
- 'NEXT_PUBLIC_POSTHOG_KEY is deprecated. Please use POSTHOG_KEY instead. We will remove it in LobeChat 1.0',
65
- );
66
- expect(console.warn).toHaveBeenCalledWith(
67
- 'NEXT_PUBLIC_UMAMI_WEBSITE_ID is deprecated. Please use UMAMI_WEBSITE_ID instead. We will remove it in LobeChat 1.0',
68
- );
69
- });
70
47
  });
@@ -2,82 +2,7 @@
2
2
  import { createEnv } from '@t3-oss/env-nextjs';
3
3
  import { z } from 'zod';
4
4
 
5
- declare global {
6
- // eslint-disable-next-line @typescript-eslint/no-namespace
7
- namespace NodeJS {
8
- interface ProcessEnv {
9
- /**
10
- * @deprecated
11
- */
12
- NEXT_PUBLIC_ANALYTICS_PLAUSIBLE?: string;
13
- /**
14
- * @deprecated
15
- */
16
- NEXT_PUBLIC_ANALYTICS_POSTHOG: string;
17
- /**
18
- * @deprecated
19
- */
20
- NEXT_PUBLIC_PLAUSIBLE_DOMAIN?: string;
21
-
22
- /**
23
- * @deprecated
24
- */
25
- NEXT_PUBLIC_PLAUSIBLE_SCRIPT_BASE_URL?: string;
26
- /**
27
- * @deprecated
28
- */
29
- NEXT_PUBLIC_POSTHOG_HOST: string;
30
- /**
31
- * @deprecated
32
- */
33
- NEXT_PUBLIC_POSTHOG_KEY: string;
34
-
35
- /**
36
- * @deprecated
37
- */
38
- NEXT_PUBLIC_UMAMI_SCRIPT_URL?: string;
39
- /**
40
- * @deprecated
41
- */
42
- NEXT_PUBLIC_UMAMI_WEBSITE_ID?: string;
43
- }
44
- }
45
- }
46
-
47
5
  export const getAnalyticsConfig = () => {
48
- if (process.env.NEXT_PUBLIC_PLAUSIBLE_SCRIPT_BASE_URL) {
49
- console.warn(
50
- 'NEXT_PUBLIC_PLAUSIBLE_SCRIPT_BASE_URL is deprecated. Please use PLAUSIBLE_SCRIPT_BASE_URL instead. We will remove it in LobeChat 1.0',
51
- );
52
- }
53
- if (process.env.NEXT_PUBLIC_PLAUSIBLE_DOMAIN) {
54
- console.warn(
55
- 'NEXT_PUBLIC_PLAUSIBLE_DOMAIN is deprecated. Please use PLAUSIBLE_DOMAIN instead. We will remove it in LobeChat 1.0',
56
- );
57
- }
58
-
59
- if (process.env.NEXT_PUBLIC_POSTHOG_KEY) {
60
- console.warn(
61
- 'NEXT_PUBLIC_POSTHOG_KEY is deprecated. Please use POSTHOG_KEY instead. We will remove it in LobeChat 1.0',
62
- );
63
- }
64
- if (process.env.NEXT_PUBLIC_POSTHOG_HOST) {
65
- console.warn(
66
- 'NEXT_PUBLIC_POSTHOG_HOST is deprecated. Please use POSTHOG_HOST instead. We will remove it in LobeChat 1.0',
67
- );
68
- }
69
-
70
- if (process.env.NEXT_PUBLIC_UMAMI_SCRIPT_URL) {
71
- console.warn(
72
- 'NEXT_PUBLIC_UMAMI_SCRIPT_URL is deprecated. Please use UMAMI_SCRIPT_URL instead. We will remove it in LobeChat 1.0',
73
- );
74
- }
75
- if (process.env.NEXT_PUBLIC_UMAMI_WEBSITE_ID) {
76
- console.warn(
77
- 'NEXT_PUBLIC_UMAMI_WEBSITE_ID is deprecated. Please use UMAMI_WEBSITE_ID instead. We will remove it in LobeChat 1.0',
78
- );
79
- }
80
-
81
6
  return createEnv({
82
7
  server: {
83
8
  ENABLED_PLAUSIBLE_ANALYTICS: z.boolean(),
@@ -104,31 +29,20 @@ export const getAnalyticsConfig = () => {
104
29
  },
105
30
  runtimeEnv: {
106
31
  // Plausible Analytics
107
- ENABLED_PLAUSIBLE_ANALYTICS:
108
- !!process.env.PLAUSIBLE_DOMAIN || !!process.env.NEXT_PUBLIC_PLAUSIBLE_DOMAIN,
109
- PLAUSIBLE_DOMAIN: process.env.PLAUSIBLE_DOMAIN || process.env.NEXT_PUBLIC_PLAUSIBLE_DOMAIN,
110
- PLAUSIBLE_SCRIPT_BASE_URL:
111
- process.env.PLAUSIBLE_SCRIPT_BASE_URL ||
112
- process.env.NEXT_PUBLIC_PLAUSIBLE_SCRIPT_BASE_URL ||
113
- 'https://plausible.io',
32
+ ENABLED_PLAUSIBLE_ANALYTICS: !!process.env.PLAUSIBLE_DOMAIN,
33
+ PLAUSIBLE_DOMAIN: process.env.PLAUSIBLE_DOMAIN,
34
+ PLAUSIBLE_SCRIPT_BASE_URL: process.env.PLAUSIBLE_SCRIPT_BASE_URL || 'https://plausible.io',
114
35
 
115
36
  // Posthog Analytics
116
- ENABLED_POSTHOG_ANALYTICS: !!process.env.POSTHOG_KEY || !!process.env.NEXT_PUBLIC_POSTHOG_KEY,
117
- POSTHOG_KEY: process.env.POSTHOG_KEY || process.env.NEXT_PUBLIC_POSTHOG_KEY,
118
- POSTHOG_HOST:
119
- process.env.POSTHOG_HOST ||
120
- process.env.NEXT_PUBLIC_POSTHOG_HOST ||
121
- 'https://app.posthog.com',
37
+ ENABLED_POSTHOG_ANALYTICS: !!process.env.POSTHOG_KEY,
38
+ POSTHOG_KEY: process.env.POSTHOG_KEY,
39
+ POSTHOG_HOST: process.env.POSTHOG_HOST || 'https://app.posthog.com',
122
40
  DEBUG_POSTHOG_ANALYTICS: process.env.DEBUG_POSTHOG_ANALYTICS === '1',
123
41
 
124
42
  // Umami Analytics
125
- ENABLED_UMAMI_ANALYTICS:
126
- !!process.env.UMAMI_WEBSITE_ID || !!process.env.NEXT_PUBLIC_UMAMI_WEBSITE_ID,
127
- UMAMI_SCRIPT_URL:
128
- process.env.UMAMI_SCRIPT_URL ||
129
- process.env.NEXT_PUBLIC_UMAMI_SCRIPT_URL ||
130
- 'https://analytics.umami.is/script.js',
131
- UMAMI_WEBSITE_ID: process.env.UMAMI_WEBSITE_ID || process.env.NEXT_PUBLIC_UMAMI_WEBSITE_ID,
43
+ ENABLED_UMAMI_ANALYTICS: !!process.env.UMAMI_WEBSITE_ID,
44
+ UMAMI_SCRIPT_URL: process.env.UMAMI_SCRIPT_URL || 'https://analytics.umami.is/script.js',
45
+ UMAMI_WEBSITE_ID: process.env.UMAMI_WEBSITE_ID,
132
46
 
133
47
  // Clarity Analytics
134
48
  ENABLED_CLARITY_ANALYTICS: !!process.env.CLARITY_PROJECT_ID,
@@ -12,15 +12,8 @@ declare global {
12
12
  CLERK_WEBHOOK_SECRET?: string;
13
13
 
14
14
  // ===== Next Auth ===== //
15
- /**
16
- * @deprecated
17
- */
18
- ENABLE_OAUTH_SSO?: string;
19
15
  NEXT_AUTH_SECRET?: string;
20
- /**
21
- * @deprecated
22
- */
23
- SSO_PROVIDERS?: string;
16
+
24
17
  NEXT_AUTH_SSO_PROVIDERS?: string;
25
18
 
26
19
  AUTH0_CLIENT_ID?: string;
@@ -50,18 +43,6 @@ declare global {
50
43
  }
51
44
 
52
45
  export const getAuthConfig = () => {
53
- if (process.env.ENABLE_OAUTH_SSO) {
54
- console.warn(
55
- '`ENABLE_OAUTH_SSO` is deprecated and will be removed in LobeChat 1.0. just set `NEXT_AUTH_SECRET` enough',
56
- );
57
- }
58
-
59
- if (process.env.SSO_PROVIDERS) {
60
- console.warn(
61
- '`SSO_PROVIDERS` is deprecated and will be removed in LobeChat 1.0. Please replace with `NEXT_AUTH_SSO_PROVIDERS`',
62
- );
63
- }
64
-
65
46
  return createEnv({
66
47
  client: {
67
48
  NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: z.string().optional(),
@@ -114,9 +95,8 @@ export const getAuthConfig = () => {
114
95
  CLERK_WEBHOOK_SECRET: process.env.CLERK_WEBHOOK_SECRET,
115
96
 
116
97
  // Next Auth
117
- NEXT_PUBLIC_ENABLE_NEXT_AUTH:
118
- !!process.env.NEXT_AUTH_SECRET || !!process.env.ENABLE_OAUTH_SSO,
119
- NEXT_AUTH_SSO_PROVIDERS: process.env.NEXT_AUTH_SSO_PROVIDERS || process.env.SSO_PROVIDERS,
98
+ NEXT_PUBLIC_ENABLE_NEXT_AUTH: !!process.env.NEXT_AUTH_SECRET,
99
+ NEXT_AUTH_SSO_PROVIDERS: process.env.NEXT_AUTH_SSO_PROVIDERS,
120
100
  NEXT_AUTH_SECRET: process.env.NEXT_AUTH_SECRET,
121
101
 
122
102
  // Auth0
package/src/config/llm.ts CHANGED
@@ -2,45 +2,7 @@
2
2
  import { createEnv } from '@t3-oss/env-nextjs';
3
3
  import { z } from 'zod';
4
4
 
5
- declare global {
6
- // eslint-disable-next-line @typescript-eslint/no-namespace
7
- namespace NodeJS {
8
- interface ProcessEnv {
9
- /**
10
- * @deprecated
11
- */
12
- CUSTOM_MODELS?: string;
13
- /**
14
- * @deprecated
15
- */
16
- OLLAMA_CUSTOM_MODELS?: string;
17
- /**
18
- * @deprecated
19
- */
20
- OPENROUTER_CUSTOM_MODELS?: string;
21
- }
22
- }
23
- }
24
-
25
5
  export const getLLMConfig = () => {
26
- if (process.env.CUSTOM_MODELS) {
27
- console.warn(
28
- 'DEPRECATED: `CUSTOM_MODELS` is deprecated, please use `OPENAI_MODEL_LIST` instead, we will remove `CUSTOM_MODELS` in the LobeChat 1.0',
29
- );
30
- }
31
-
32
- if (process.env.OLLAMA_CUSTOM_MODELS) {
33
- console.warn(
34
- 'DEPRECATED: `OLLAMA_CUSTOM_MODELS` is deprecated, please use `OLLAMA_MODEL_LIST` instead, we will remove `OLLAMA_CUSTOM_MODELS` in the LobeChat 1.0',
35
- );
36
- }
37
-
38
- if (process.env.OPENROUTER_CUSTOM_MODELS) {
39
- console.warn(
40
- 'DEPRECATED: `OPENROUTER_CUSTOM_MODELS` is deprecated, please use `OPENROUTER_MODEL_LIST` instead, we will remove `OPENROUTER_CUSTOM_MODELS` in the LobeChat 1.0',
41
- );
42
- }
43
-
44
6
  // region format: iad1,sfo1
45
7
  let regions: string[] = [];
46
8
  if (process.env.OPENAI_FUNCTION_REGIONS) {
@@ -127,7 +89,7 @@ export const getLLMConfig = () => {
127
89
  ENABLED_OPENAI: process.env.ENABLED_OPENAI !== '0',
128
90
  OPENAI_API_KEY: process.env.OPENAI_API_KEY,
129
91
  OPENAI_PROXY_URL: process.env.OPENAI_PROXY_URL,
130
- OPENAI_MODEL_LIST: process.env.OPENAI_MODEL_LIST || process.env.CUSTOM_MODELS,
92
+ OPENAI_MODEL_LIST: process.env.OPENAI_MODEL_LIST,
131
93
  OPENAI_FUNCTION_REGIONS: regions as any,
132
94
 
133
95
  ENABLED_AZURE_OPENAI: !!process.env.AZURE_API_KEY,
@@ -162,8 +124,7 @@ export const getLLMConfig = () => {
162
124
 
163
125
  ENABLED_OPENROUTER: !!process.env.OPENROUTER_API_KEY,
164
126
  OPENROUTER_API_KEY: process.env.OPENROUTER_API_KEY,
165
- OPENROUTER_MODEL_LIST:
166
- process.env.OPENROUTER_MODEL_LIST || process.env.OPENROUTER_CUSTOM_MODELS,
127
+ OPENROUTER_MODEL_LIST: process.env.OPENROUTER_MODEL_LIST,
167
128
 
168
129
  ENABLED_TOGETHERAI: !!process.env.TOGETHERAI_API_KEY,
169
130
  TOGETHERAI_API_KEY: process.env.TOGETHERAI_API_KEY,
@@ -187,7 +148,7 @@ export const getLLMConfig = () => {
187
148
 
188
149
  ENABLED_OLLAMA: process.env.ENABLED_OLLAMA !== '0',
189
150
  OLLAMA_PROXY_URL: process.env.OLLAMA_PROXY_URL || '',
190
- OLLAMA_MODEL_LIST: process.env.OLLAMA_MODEL_LIST || process.env.OLLAMA_CUSTOM_MODELS,
151
+ OLLAMA_MODEL_LIST: process.env.OLLAMA_MODEL_LIST,
191
152
 
192
153
  ENABLED_QWEN: !!process.env.QWEN_API_KEY,
193
154
  QWEN_API_KEY: process.env.QWEN_API_KEY,
@@ -127,20 +127,6 @@ describe('configRouter', () => {
127
127
  });
128
128
  });
129
129
 
130
- describe('CUSTOM_MODELS', () => {
131
- it('custom deletion, addition, and renaming of models', async () => {
132
- process.env.CUSTOM_MODELS =
133
- '-all,+llama,+claude-2,-gpt-3.5-turbo,gpt-4-0125-preview=gpt-4-turbo,gpt-4-0125-preview=gpt-4-32k';
134
-
135
- const response = await router.getGlobalConfig();
136
-
137
- // Assert
138
- const result = response.languageModel?.openai?.serverModelCards;
139
-
140
- expect(result).toMatchSnapshot();
141
- });
142
- });
143
-
144
130
  describe('OPENROUTER_MODEL_LIST', () => {
145
131
  it('custom deletion, addition, and renaming of models', async () => {
146
132
  process.env.OPENROUTER_MODEL_LIST =