@lobehub/chat 1.15.21 → 1.15.23
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.
Potentially problematic release.
This version of @lobehub/chat might be problematic. Click here for more details.
- package/CHANGELOG.md +50 -0
- package/locales/ar/metadata.json +6 -6
- package/locales/ar/migration.json +9 -9
- package/locales/ar/plugin.json +1 -1
- package/locales/ar/setting.json +4 -4
- package/locales/ar/welcome.json +13 -13
- package/locales/bg-BG/metadata.json +7 -7
- package/locales/bg-BG/migration.json +12 -12
- package/locales/bg-BG/plugin.json +1 -1
- package/locales/bg-BG/setting.json +4 -4
- package/locales/bg-BG/welcome.json +13 -13
- package/locales/de-DE/metadata.json +6 -6
- package/locales/de-DE/migration.json +9 -9
- package/locales/de-DE/plugin.json +1 -1
- package/locales/de-DE/setting.json +4 -4
- package/locales/de-DE/welcome.json +15 -15
- package/locales/en-US/metadata.json +8 -8
- package/locales/en-US/migration.json +9 -9
- package/locales/en-US/plugin.json +1 -1
- package/locales/en-US/setting.json +4 -4
- package/locales/en-US/welcome.json +16 -16
- package/locales/es-ES/metadata.json +8 -8
- package/locales/es-ES/migration.json +9 -9
- package/locales/es-ES/plugin.json +1 -1
- package/locales/es-ES/setting.json +4 -4
- package/locales/es-ES/welcome.json +15 -15
- package/locales/fr-FR/metadata.json +7 -7
- package/locales/fr-FR/migration.json +8 -8
- package/locales/fr-FR/plugin.json +1 -1
- package/locales/fr-FR/setting.json +4 -4
- package/locales/fr-FR/welcome.json +12 -12
- package/locales/it-IT/metadata.json +6 -6
- package/locales/it-IT/migration.json +11 -11
- package/locales/it-IT/plugin.json +1 -1
- package/locales/it-IT/setting.json +4 -4
- package/locales/it-IT/welcome.json +16 -16
- package/locales/ja-JP/metadata.json +6 -6
- package/locales/ja-JP/migration.json +9 -9
- package/locales/ja-JP/plugin.json +1 -1
- package/locales/ja-JP/setting.json +4 -4
- package/locales/ja-JP/welcome.json +15 -15
- package/locales/ko-KR/metadata.json +6 -6
- package/locales/ko-KR/migration.json +9 -9
- package/locales/ko-KR/plugin.json +1 -1
- package/locales/ko-KR/setting.json +4 -4
- package/locales/ko-KR/welcome.json +13 -13
- package/locales/nl-NL/metadata.json +7 -7
- package/locales/nl-NL/migration.json +9 -9
- package/locales/nl-NL/plugin.json +1 -1
- package/locales/nl-NL/setting.json +4 -4
- package/locales/nl-NL/welcome.json +15 -15
- package/locales/pl-PL/metadata.json +6 -6
- package/locales/pl-PL/migration.json +11 -11
- package/locales/pl-PL/plugin.json +1 -1
- package/locales/pl-PL/setting.json +4 -4
- package/locales/pl-PL/welcome.json +16 -16
- package/locales/pt-BR/metadata.json +8 -8
- package/locales/pt-BR/migration.json +13 -13
- package/locales/pt-BR/plugin.json +1 -1
- package/locales/pt-BR/setting.json +4 -4
- package/locales/pt-BR/welcome.json +16 -16
- package/locales/ru-RU/metadata.json +6 -6
- package/locales/ru-RU/migration.json +11 -11
- package/locales/ru-RU/plugin.json +1 -1
- package/locales/ru-RU/setting.json +4 -4
- package/locales/ru-RU/welcome.json +16 -16
- package/locales/tr-TR/metadata.json +6 -6
- package/locales/tr-TR/migration.json +12 -12
- package/locales/tr-TR/plugin.json +1 -1
- package/locales/tr-TR/setting.json +4 -4
- package/locales/tr-TR/welcome.json +15 -15
- package/locales/vi-VN/metadata.json +6 -6
- package/locales/vi-VN/migration.json +8 -8
- package/locales/vi-VN/plugin.json +1 -1
- package/locales/vi-VN/setting.json +4 -4
- package/locales/vi-VN/welcome.json +9 -9
- package/locales/zh-CN/common.json +3 -3
- package/locales/zh-CN/market.json +1 -1
- package/locales/zh-CN/metadata.json +6 -6
- package/locales/zh-CN/migration.json +4 -4
- package/locales/zh-CN/plugin.json +2 -2
- package/locales/zh-CN/setting.json +4 -4
- package/locales/zh-CN/welcome.json +8 -8
- package/locales/zh-TW/metadata.json +6 -6
- package/locales/zh-TW/migration.json +6 -6
- package/locales/zh-TW/plugin.json +1 -1
- package/locales/zh-TW/setting.json +4 -4
- package/locales/zh-TW/welcome.json +10 -10
- package/package.json +1 -1
- package/src/app/(auth)/login/[[...login]]/page.tsx +2 -1
- package/src/app/(main)/chat/(workspace)/features/ShareButton/useScreenshot.ts +2 -1
- package/src/app/(main)/chat/(workspace)/features/TelemetryNotification.tsx +5 -2
- package/src/app/(main)/chat/(workspace)/page.tsx +5 -4
- package/src/app/(main)/chat/@session/_layout/Desktop/SessionHeader.tsx +2 -2
- package/src/app/(main)/chat/@session/_layout/Mobile/SessionHeader.tsx +2 -2
- package/src/app/(main)/chat/features/Migration/ExportConfigButton.tsx +3 -1
- package/src/app/(main)/chat/features/Migration/Modal.tsx +3 -2
- package/src/app/(main)/chat/features/Migration/Start.tsx +4 -2
- package/src/app/(main)/files/(content)/NotSupportClient.tsx +2 -1
- package/src/app/(main)/market/_layout/Desktop/Header.tsx +3 -2
- package/src/app/(main)/market/features/ShareAgentButton/Inner.tsx +2 -1
- package/src/app/(main)/settings/about/features/Analytics.tsx +2 -1
- package/src/app/(main)/settings/about/features/Version.tsx +3 -2
- package/src/app/(main)/settings/about/index.tsx +6 -1
- package/src/app/(main)/welcome/features/Hero.tsx +3 -1
- package/src/app/(main)/welcome/page.tsx +5 -4
- package/src/app/metadata.ts +11 -12
- package/src/components/Branding/ProductLogo.tsx +14 -0
- package/src/components/Branding/index.ts +1 -0
- package/src/config/featureFlags/schema.ts +11 -5
- package/src/config/modelProviders/deepseek.ts +1 -9
- package/src/config/modelProviders/groq.ts +3 -3
- package/src/config/modelProviders/novita.ts +5 -5
- package/src/config/modelProviders/ollama.ts +6 -6
- package/src/config/modelProviders/perplexity.ts +6 -6
- package/src/config/modelProviders/qwen.ts +1 -10
- package/src/config/modelProviders/siliconcloud.ts +61 -27
- package/src/config/modelProviders/stepfun.ts +8 -0
- package/src/const/branding.ts +5 -0
- package/src/features/Conversation/components/InboxWelcome/QuestionSuggest.tsx +2 -1
- package/src/features/Conversation/components/InboxWelcome/index.tsx +4 -1
- package/src/features/Conversation/components/VirtualizedList/index.tsx +2 -2
- package/src/features/PluginDevModal/UrlManifestForm.tsx +2 -1
- package/src/features/Setting/Footer.tsx +2 -1
- package/src/locales/default/common.ts +3 -3
- package/src/locales/default/market.ts +1 -1
- package/src/locales/default/metadata.ts +6 -6
- package/src/locales/default/migration.ts +4 -4
- package/src/locales/default/plugin.ts +2 -2
- package/src/locales/default/setting.ts +4 -5
- package/src/locales/default/welcome.ts +8 -8
- package/src/server/ld.ts +2 -1
- package/src/server/metadata.ts +2 -1
- package/src/store/user/slices/auth/selectors.ts +2 -1
- package/src/utils/config.ts +2 -1
@@ -4,116 +4,150 @@ import { ModelProviderCard } from '@/types/llm';
|
|
4
4
|
const SiliconCloud: ModelProviderCard = {
|
5
5
|
chatModels: [
|
6
6
|
{
|
7
|
-
|
8
|
-
id: 'Qwen/Qwen2-
|
7
|
+
displayName: 'Qwen2 1.5B',
|
8
|
+
id: 'Qwen/Qwen2-1.5B-Instruct',
|
9
9
|
tokens: 32_768,
|
10
10
|
},
|
11
11
|
{
|
12
|
+
displayName: 'Qwen2 7B',
|
12
13
|
enabled: true,
|
13
|
-
id: 'Qwen/Qwen2-
|
14
|
+
id: 'Qwen/Qwen2-7B-Instruct',
|
14
15
|
tokens: 32_768,
|
15
16
|
},
|
16
17
|
{
|
17
|
-
|
18
|
+
displayName: 'Qwen2 57B A14B',
|
18
19
|
id: 'Qwen/Qwen2-57B-A14B-Instruct',
|
19
20
|
tokens: 32_768,
|
20
21
|
},
|
21
22
|
{
|
22
|
-
|
23
|
+
displayName: 'Qwen2 72B',
|
24
|
+
enabled: true,
|
25
|
+
id: 'Qwen/Qwen2-72B-Instruct',
|
23
26
|
tokens: 32_768,
|
24
27
|
},
|
25
28
|
{
|
26
|
-
|
29
|
+
displayName: 'Qwen2 Math 72B',
|
30
|
+
enabled: true,
|
31
|
+
id: 'Qwen/Qwen2-Math-72B-Instruct',
|
27
32
|
tokens: 32_768,
|
28
33
|
},
|
29
34
|
{
|
30
|
-
|
35
|
+
displayName: 'Qwen1.5 7B',
|
36
|
+
id: 'Qwen/Qwen1.5-7B-Chat',
|
31
37
|
tokens: 32_768,
|
32
38
|
},
|
33
39
|
{
|
34
|
-
|
40
|
+
displayName: 'Qwen1.5 14B',
|
41
|
+
id: 'Qwen/Qwen1.5-14B-Chat',
|
35
42
|
tokens: 32_768,
|
36
43
|
},
|
37
44
|
{
|
38
|
-
|
45
|
+
displayName: 'Qwen1.5 32B',
|
46
|
+
id: 'Qwen/Qwen1.5-32B-Chat',
|
39
47
|
tokens: 32_768,
|
40
48
|
},
|
41
49
|
{
|
42
|
-
|
50
|
+
displayName: 'Qwen1.5 110B',
|
51
|
+
id: 'Qwen/Qwen1.5-110B-Chat',
|
43
52
|
tokens: 32_768,
|
44
53
|
},
|
45
54
|
{
|
46
|
-
|
47
|
-
|
55
|
+
displayName: 'Yi-1.5 6B',
|
56
|
+
id: '01-ai/Yi-1.5-6B-Chat',
|
57
|
+
tokens: 4096,
|
48
58
|
},
|
49
59
|
{
|
60
|
+
displayName: 'Yi-1.5 9B',
|
50
61
|
enabled: true,
|
51
|
-
id: '
|
52
|
-
tokens:
|
62
|
+
id: '01-ai/Yi-1.5-9B-Chat-16K',
|
63
|
+
tokens: 16_384,
|
53
64
|
},
|
54
65
|
{
|
55
|
-
|
66
|
+
displayName: 'Yi-1.5 34B',
|
67
|
+
enabled: true,
|
68
|
+
id: '01-ai/Yi-1.5-34B-Chat-16K',
|
69
|
+
tokens: 16_384,
|
70
|
+
},
|
71
|
+
{
|
72
|
+
displayName: 'GLM-3 6B',
|
73
|
+
id: 'THUDM/chatglm3-6b',
|
56
74
|
tokens: 32_768,
|
57
75
|
},
|
58
76
|
{
|
77
|
+
displayName: 'GLM-4 9B',
|
78
|
+
enabled: true,
|
59
79
|
id: 'THUDM/glm-4-9b-chat',
|
60
80
|
tokens: 32_768,
|
61
81
|
},
|
62
82
|
{
|
63
|
-
|
83
|
+
displayName: 'Internlm 2.5 7B',
|
84
|
+
enabled: true,
|
85
|
+
id: 'internlm/internlm2_5-7b-chat',
|
64
86
|
tokens: 32_768,
|
65
87
|
},
|
66
88
|
{
|
89
|
+
displayName: 'Internlm 2.5 20B',
|
67
90
|
enabled: true,
|
68
|
-
id: '
|
69
|
-
tokens:
|
91
|
+
id: 'internlm/internlm2_5-20b-chat',
|
92
|
+
tokens: 32_768,
|
70
93
|
},
|
71
94
|
{
|
72
|
-
|
73
|
-
|
95
|
+
displayName: 'DeepSeek V2 Chat',
|
96
|
+
id: 'deepseek-ai/DeepSeek-V2-Chat',
|
97
|
+
tokens: 32_768,
|
74
98
|
},
|
75
99
|
{
|
76
|
-
|
77
|
-
|
100
|
+
displayName: 'DeepSeek V2 Coder',
|
101
|
+
id: 'deepseek-ai/DeepSeek-Coder-V2-Instruct',
|
102
|
+
tokens: 32_768,
|
78
103
|
},
|
79
104
|
{
|
80
|
-
|
105
|
+
displayName: 'DeepSeek LLM 67B',
|
106
|
+
id: 'deepseek-ai/deepseek-llm-67b-chat',
|
81
107
|
tokens: 32_768,
|
82
108
|
},
|
83
109
|
{
|
110
|
+
displayName: 'Gemma 2 9B',
|
111
|
+
enabled: true,
|
84
112
|
id: 'google/gemma-2-9b-it',
|
85
113
|
tokens: 8192,
|
86
114
|
},
|
87
115
|
{
|
116
|
+
displayName: 'Gemma 2 27B',
|
117
|
+
enabled: true,
|
88
118
|
id: 'google/gemma-2-27b-it',
|
89
119
|
tokens: 8192,
|
90
120
|
},
|
91
121
|
{
|
92
|
-
|
93
|
-
|
94
|
-
},
|
95
|
-
{
|
122
|
+
displayName: 'Llama 3.1 8B',
|
123
|
+
enabled: true,
|
96
124
|
id: 'meta-llama/Meta-Llama-3.1-8B-Instruct',
|
97
125
|
tokens: 32_768,
|
98
126
|
},
|
99
127
|
{
|
128
|
+
displayName: 'Llama 3.1 70B',
|
100
129
|
enabled: true,
|
101
130
|
id: 'meta-llama/Meta-Llama-3.1-70B-Instruct',
|
102
131
|
tokens: 32_768,
|
103
132
|
},
|
104
133
|
{
|
134
|
+
displayName: 'Llama 3.1 405B',
|
135
|
+
enabled: true,
|
105
136
|
id: 'meta-llama/Meta-Llama-3.1-405B-Instruct',
|
106
137
|
tokens: 32_768,
|
107
138
|
},
|
108
139
|
{
|
140
|
+
displayName: 'Llama 3 70B',
|
109
141
|
id: 'meta-llama/Meta-Llama-3-70B-Instruct',
|
110
142
|
tokens: 8192,
|
111
143
|
},
|
112
144
|
{
|
145
|
+
displayName: 'Mistral 7B',
|
113
146
|
id: 'mistralai/Mistral-7B-Instruct-v0.2',
|
114
147
|
tokens: 32_768,
|
115
148
|
},
|
116
149
|
{
|
150
|
+
displayName: 'Mistral 8x7B',
|
117
151
|
id: 'mistralai/Mixtral-8x7B-Instruct-v0.1',
|
118
152
|
tokens: 32_768,
|
119
153
|
},
|
@@ -5,41 +5,49 @@ import { ModelProviderCard } from '@/types/llm';
|
|
5
5
|
const Stepfun: ModelProviderCard = {
|
6
6
|
chatModels: [
|
7
7
|
{
|
8
|
+
displayName: 'Step 2 16K',
|
8
9
|
enabled: true,
|
9
10
|
id: 'step-2-16k',
|
10
11
|
tokens: 16_000,
|
11
12
|
},
|
12
13
|
{
|
14
|
+
displayName: 'Step 1 256K',
|
13
15
|
id: 'step-1-256k',
|
14
16
|
tokens: 256_000,
|
15
17
|
},
|
16
18
|
{
|
19
|
+
displayName: 'Step 1 128K',
|
17
20
|
enabled: true,
|
18
21
|
id: 'step-1-128k',
|
19
22
|
tokens: 128_000,
|
20
23
|
},
|
21
24
|
{
|
25
|
+
displayName: 'Step 1 32K',
|
22
26
|
enabled: true,
|
23
27
|
id: 'step-1-32k',
|
24
28
|
tokens: 32_000,
|
25
29
|
},
|
26
30
|
{
|
31
|
+
displayName: 'Step 1 8K',
|
27
32
|
enabled: true,
|
28
33
|
id: 'step-1-8k',
|
29
34
|
tokens: 8000,
|
30
35
|
},
|
31
36
|
{
|
37
|
+
displayName: 'Step 1 Flash',
|
32
38
|
enabled: true,
|
33
39
|
id: 'step-1-flash',
|
34
40
|
tokens: 8000,
|
35
41
|
},
|
36
42
|
{
|
43
|
+
displayName: 'Step 1V 32K',
|
37
44
|
enabled: true,
|
38
45
|
id: 'step-1v-32k',
|
39
46
|
tokens: 32_000,
|
40
47
|
vision: true,
|
41
48
|
},
|
42
49
|
{
|
50
|
+
displayName: 'Step 1V 8K',
|
43
51
|
enabled: true,
|
44
52
|
id: 'step-1v-8k',
|
45
53
|
tokens: 8000,
|
@@ -9,6 +9,7 @@ import { memo } from 'react';
|
|
9
9
|
import { useTranslation } from 'react-i18next';
|
10
10
|
import { Flexbox } from 'react-layout-kit';
|
11
11
|
|
12
|
+
import { BRANDING_NAME } from '@/const/branding';
|
12
13
|
import { USAGE_DOCUMENTS } from '@/const/url';
|
13
14
|
import { useSendMessage } from '@/features/ChatInput/useSend';
|
14
15
|
import { useChatStore } from '@/store/chat';
|
@@ -81,7 +82,7 @@ const QuestionSuggest = memo<{ mobile?: boolean }>(({ mobile }) => {
|
|
81
82
|
</Flexbox>
|
82
83
|
<Flexbox gap={8} horizontal wrap={'wrap'}>
|
83
84
|
{qa.slice(0, mobile ? 2 : 5).map((item) => {
|
84
|
-
const text = t(`guide.qa.${item}` as any);
|
85
|
+
const text = t(`guide.qa.${item}` as any, { appName: BRANDING_NAME });
|
85
86
|
return (
|
86
87
|
<Flexbox
|
87
88
|
align={'center'}
|
@@ -6,6 +6,7 @@ import { memo } from 'react';
|
|
6
6
|
import { useTranslation } from 'react-i18next';
|
7
7
|
import { Center, Flexbox } from 'react-layout-kit';
|
8
8
|
|
9
|
+
import { BRANDING_NAME } from '@/const/branding';
|
9
10
|
import { useGreeting } from '@/hooks/useGreeting';
|
10
11
|
import { featureFlagsSelectors, useServerConfigStore } from '@/store/serverConfig';
|
11
12
|
|
@@ -52,7 +53,9 @@ const InboxWelcome = memo(() => {
|
|
52
53
|
<h1 className={styles.title}>{greeting}</h1>
|
53
54
|
</Flexbox>
|
54
55
|
<Markdown className={styles.desc} variant={'chat'}>
|
55
|
-
{t(showCreateSession ? 'guide.defaultMessage' : 'guide.defaultMessageWithoutCreate'
|
56
|
+
{t(showCreateSession ? 'guide.defaultMessage' : 'guide.defaultMessageWithoutCreate', {
|
57
|
+
appName: BRANDING_NAME,
|
58
|
+
})}
|
56
59
|
</Markdown>
|
57
60
|
{showWelcomeSuggest && (
|
58
61
|
<>
|
@@ -64,8 +64,8 @@ const VirtualizedList = memo<VirtualizedListProps>(({ mobile }) => {
|
|
64
64
|
}, [data.length]);
|
65
65
|
|
66
66
|
const theme = useTheme();
|
67
|
-
// overscan should be
|
68
|
-
const overscan = typeof window !== 'undefined' ? window.innerHeight *
|
67
|
+
// overscan should be 3 times the height of the window
|
68
|
+
const overscan = typeof window !== 'undefined' ? window.innerHeight * 3 : 0;
|
69
69
|
|
70
70
|
const itemContent = useCallback(
|
71
71
|
(index: number, id: string) => {
|
@@ -7,6 +7,7 @@ import { useTranslation } from 'react-i18next';
|
|
7
7
|
import { Flexbox } from 'react-layout-kit';
|
8
8
|
|
9
9
|
import ManifestPreviewer from '@/components/ManifestPreviewer';
|
10
|
+
import { BRANDING_NAME } from '@/const/branding';
|
10
11
|
import { toolService } from '@/services/tool';
|
11
12
|
import { useToolStore } from '@/store/tool';
|
12
13
|
import { pluginSelectors } from '@/store/tool/selectors';
|
@@ -49,7 +50,7 @@ const UrlManifestForm = memo<{ form: FormInstance; isEditMode: boolean }>(
|
|
49
50
|
<FormItem
|
50
51
|
extra={
|
51
52
|
<Flexbox horizontal justify={'space-between'} style={{ marginTop: 8 }}>
|
52
|
-
{t('dev.meta.manifest.desc')}
|
53
|
+
{t('dev.meta.manifest.desc', { appName: BRANDING_NAME })}
|
53
54
|
{manifest && (
|
54
55
|
<ManifestPreviewer manifest={manifest}>
|
55
56
|
<ActionIcon
|
@@ -10,6 +10,7 @@ import { Center, Flexbox } from 'react-layout-kit';
|
|
10
10
|
|
11
11
|
import GuideModal from '@/components/GuideModal';
|
12
12
|
import GuideVideo from '@/components/GuideVideo';
|
13
|
+
import { BRANDING_NAME } from '@/const/branding';
|
13
14
|
import { GITHUB, GITHUB_ISSUES } from '@/const/url';
|
14
15
|
import { isOnServerSide } from '@/utils/env';
|
15
16
|
|
@@ -79,7 +80,7 @@ const Footer = memo<PropsWithChildren>(() => {
|
|
79
80
|
<GuideModal
|
80
81
|
cancelText={t('footer.later')}
|
81
82
|
cover={<GuideVideo height={269} src={'/videos/feedback.mp4?v=1'} width={358} />}
|
82
|
-
desc={t('footer.feedback.desc')}
|
83
|
+
desc={t('footer.feedback.desc', { appName: BRANDING_NAME })}
|
83
84
|
okText={t('footer.feedback.action')}
|
84
85
|
onCancel={() => setOpenFeedback(false)}
|
85
86
|
onOk={() => {
|
@@ -56,7 +56,7 @@ export default {
|
|
56
56
|
and: '并',
|
57
57
|
feedback: {
|
58
58
|
action: '分享反馈',
|
59
|
-
desc: '您的每一个想法和建议对我们来说都弥足珍贵,我们迫不及待地想知道您的看法!欢迎联系我们提供产品功能和使用体验反馈,帮助我们将
|
59
|
+
desc: '您的每一个想法和建议对我们来说都弥足珍贵,我们迫不及待地想知道您的看法!欢迎联系我们提供产品功能和使用体验反馈,帮助我们将 {{appName}} 建设得更好。',
|
60
60
|
title: '在 GitHub 分享您宝贵的反馈',
|
61
61
|
},
|
62
62
|
later: '稍后',
|
@@ -196,9 +196,9 @@ export default {
|
|
196
196
|
telemetry: {
|
197
197
|
allow: '允许',
|
198
198
|
deny: '拒绝',
|
199
|
-
desc: '我们希望匿名获取你的使用信息,进而帮助我们改进
|
199
|
+
desc: '我们希望匿名获取你的使用信息,进而帮助我们改进 {{appName}},并为你提供更好的产品体验。你可以在「设置」 - 「关于」随时关闭。',
|
200
200
|
learnMore: '了解更多',
|
201
|
-
title: '帮助
|
201
|
+
title: '帮助 {{appName}} 做得更好',
|
202
202
|
},
|
203
203
|
temp: '临时',
|
204
204
|
terms: '服务条款',
|
@@ -1,20 +1,20 @@
|
|
1
1
|
export default {
|
2
2
|
chat: {
|
3
|
-
description: '
|
4
|
-
title: '
|
3
|
+
description: '{{appName}} 带给你最好的 ChatGPT, Claude , Gemini, OLLaMA WebUI 使用体验',
|
4
|
+
title: '{{appName}}:个人 AI 效能工具,给自己一个更聪明的大脑',
|
5
5
|
},
|
6
6
|
market: {
|
7
7
|
description:
|
8
|
-
'内容创作、文案、问答、图像生成、视频生成、语音生成、智能 Agent、自动化工作流,定制你专属的 AI
|
8
|
+
'内容创作、文案、问答、图像生成、视频生成、语音生成、智能 Agent、自动化工作流,定制你专属的 AI 智能助手',
|
9
9
|
title: '助手市场',
|
10
10
|
},
|
11
11
|
plugins: {
|
12
12
|
description:
|
13
|
-
'搜素、图表生成、学术、图像生成、视频生成、语音生成、自动化工作流,定制 ChatGPT /
|
13
|
+
'搜素、图表生成、学术、图像生成、视频生成、语音生成、自动化工作流,定制 ChatGPT / Claude 专属的 ToolCall 插件能力',
|
14
14
|
title: '插件市场',
|
15
15
|
},
|
16
16
|
welcome: {
|
17
|
-
description: '
|
18
|
-
title: '欢迎使用
|
17
|
+
description: '{{appName}} 带给你最好的 ChatGPT, Claude , Gemini, OLLaMA WebUI 使用体验',
|
18
|
+
title: '欢迎使用 {{appName}}:个人 AI 效能工具,给自己一个更聪明的大脑',
|
19
19
|
},
|
20
20
|
};
|
@@ -11,7 +11,7 @@ export default {
|
|
11
11
|
confirm: '即将清空本地数据(全局设置不受影响),请确认你已经下载了数据备份。',
|
12
12
|
},
|
13
13
|
description:
|
14
|
-
'在新版本中,
|
14
|
+
'在新版本中,{{appName}} 的数据存储有了巨大的飞跃。因此我们要对旧版数据进行升级,进而为你带来更好的使用体验。',
|
15
15
|
features: {
|
16
16
|
capability: {
|
17
17
|
desc: '基于 IndexedDB 技术,足以装下你一生的会话消息',
|
@@ -26,7 +26,7 @@ export default {
|
|
26
26
|
title: '更易用',
|
27
27
|
},
|
28
28
|
},
|
29
|
-
title: '
|
29
|
+
title: '{{appName}} 数据进化',
|
30
30
|
upgrade: {
|
31
31
|
error: {
|
32
32
|
subTitle:
|
@@ -34,11 +34,11 @@ export default {
|
|
34
34
|
title: '数据库升级失败',
|
35
35
|
},
|
36
36
|
success: {
|
37
|
-
subTitle: '
|
37
|
+
subTitle: '{{appName}} 的数据库已经升级到最新版本,立即开始体验吧',
|
38
38
|
title: '数据库升级成功',
|
39
39
|
},
|
40
40
|
},
|
41
|
-
upgradeTip: '升级大致需要 10~20 秒,升级过程中请不要关闭
|
41
|
+
upgradeTip: '升级大致需要 10~20 秒,升级过程中请不要关闭 {{appName}}',
|
42
42
|
},
|
43
43
|
migrateError: {
|
44
44
|
missVersion: '导入数据缺少版本号,请检查文件后重试',
|
@@ -70,7 +70,7 @@ export default {
|
|
70
70
|
pattenErrorMessage: '只能输入英文字符、数字 、- 和_ 这两个符号',
|
71
71
|
},
|
72
72
|
manifest: {
|
73
|
-
desc: '
|
73
|
+
desc: '{{appName}}将会通过该链接安装插件',
|
74
74
|
label: '插件描述文件 (Manifest) URL',
|
75
75
|
preview: '预览 Manifest',
|
76
76
|
refresh: '刷新',
|
@@ -104,7 +104,7 @@ export default {
|
|
104
104
|
edit: '编辑自定义插件',
|
105
105
|
},
|
106
106
|
type: {
|
107
|
-
lobe: '
|
107
|
+
lobe: '{{appName}} 插件',
|
108
108
|
openai: 'OpenAI 插件',
|
109
109
|
},
|
110
110
|
update: '更新',
|
@@ -12,7 +12,7 @@ export default {
|
|
12
12
|
},
|
13
13
|
analytics: {
|
14
14
|
telemetry: {
|
15
|
-
desc: '通过选择发送遥测数据,你可以帮助我们改善
|
15
|
+
desc: '通过选择发送遥测数据,你可以帮助我们改善 {{appName}} 整体用户体验',
|
16
16
|
title: '发送匿名使用数据',
|
17
17
|
},
|
18
18
|
title: '数据统计',
|
@@ -70,13 +70,12 @@ export default {
|
|
70
70
|
title: '模型展示名称',
|
71
71
|
},
|
72
72
|
files: {
|
73
|
-
extra:
|
74
|
-
'当前 LobeChat 的文件上传实现仅为一种 Hack 方案,仅限自行尝试。完整文件上传能力请等待后续实现',
|
73
|
+
extra: '当前文件上传实现仅为一种 Hack 方案,仅限自行尝试。完整文件上传能力请等待后续实现',
|
75
74
|
title: '支持文件上传',
|
76
75
|
},
|
77
76
|
functionCall: {
|
78
77
|
extra:
|
79
|
-
'
|
78
|
+
'此配置将仅开启应用中的函数调用能力,是否支持函数调用完全取决于模型本身,请自行测试该模型的函数调用能力可用性',
|
80
79
|
title: '支持函数调用',
|
81
80
|
},
|
82
81
|
id: {
|
@@ -91,7 +90,7 @@ export default {
|
|
91
90
|
},
|
92
91
|
vision: {
|
93
92
|
extra:
|
94
|
-
'
|
93
|
+
'此配置将仅开启应用中的图片上传配置,是否支持识别完全取决于模型本身,请自行测试该模型的视觉识别能力可用性',
|
95
94
|
title: '支持视觉识别',
|
96
95
|
},
|
97
96
|
},
|
@@ -10,16 +10,16 @@ export default {
|
|
10
10
|
title: '新增助理推荐:',
|
11
11
|
},
|
12
12
|
defaultMessage:
|
13
|
-
'我是您的私人智能助理
|
14
|
-
defaultMessageWithoutCreate: '我是您的私人智能助理
|
13
|
+
'我是您的私人智能助理 {{appName}} ,请问现在能帮您做什么?\n如果需要获得更加专业或定制的助手,可以点击 `+` 创建自定义助手',
|
14
|
+
defaultMessageWithoutCreate: '我是您的私人智能助理 {{appName}} ,请问现在能帮您做什么?',
|
15
15
|
qa: {
|
16
16
|
q01: 'LobeHub 是什么?',
|
17
|
-
q02: '
|
18
|
-
q03: '
|
19
|
-
q04: '
|
20
|
-
q05: '
|
21
|
-
q06: '
|
22
|
-
q07: '
|
17
|
+
q02: '{{appName}} 是什么?',
|
18
|
+
q03: '{{appName}} 是否有社区支持?',
|
19
|
+
q04: '{{appName}} 支持哪些功能?',
|
20
|
+
q05: '{{appName}} 如何部署和使用?',
|
21
|
+
q06: '{{appName}} 的定价是如何的?',
|
22
|
+
q07: '{{appName}} 是否免费?',
|
23
23
|
q08: '是否有云端服务版?',
|
24
24
|
q09: '是否支持本地语言模型?',
|
25
25
|
q10: '是否支持图像识别和生成?',
|
package/src/server/ld.ts
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import urlJoin from 'url-join';
|
2
2
|
|
3
|
+
import { BRANDING_NAME } from '@/const/branding';
|
3
4
|
import { EMAIL_BUSINESS, EMAIL_SUPPORT, OFFICIAL_SITE, OFFICIAL_URL, X } from '@/const/url';
|
4
5
|
|
5
6
|
import pkg from '../../package.json';
|
@@ -205,7 +206,7 @@ class Ld {
|
|
205
206
|
}
|
206
207
|
|
207
208
|
private fixTitle(title: string) {
|
208
|
-
return title.includes(
|
209
|
+
return title.includes(BRANDING_NAME) ? title : `${title} · ${BRANDING_NAME}`;
|
209
210
|
}
|
210
211
|
|
211
212
|
private fixUrl(url: string) {
|
package/src/server/metadata.ts
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import { Metadata } from 'next';
|
2
2
|
|
3
|
+
import { BRANDING_NAME } from '@/const/branding';
|
3
4
|
import { OG_URL, getCanonicalUrl } from '@/const/url';
|
4
5
|
import { formatDescLength, formatTitleLength } from '@/utils/genOG';
|
5
6
|
|
@@ -23,7 +24,7 @@ export class Meta {
|
|
23
24
|
const formatedTitle = formatTitleLength(title, 21);
|
24
25
|
// eslint-disable-next-line no-param-reassign
|
25
26
|
const formatedDescription = formatDescLength(description, tags);
|
26
|
-
const siteTitle = title.includes(
|
27
|
+
const siteTitle = title.includes(BRANDING_NAME) ? title : title + ` · ${BRANDING_NAME}`;
|
27
28
|
return {
|
28
29
|
alternates: { canonical: getCanonicalUrl(url) },
|
29
30
|
description: formatedDescription,
|
@@ -1,10 +1,11 @@
|
|
1
1
|
import { t } from 'i18next';
|
2
2
|
|
3
3
|
import { enableClerk } from '@/const/auth';
|
4
|
+
import { BRANDING_NAME } from '@/const/branding';
|
4
5
|
import { UserStore } from '@/store/user';
|
5
6
|
import { LobeUser } from '@/types/user';
|
6
7
|
|
7
|
-
const DEFAULT_USERNAME =
|
8
|
+
const DEFAULT_USERNAME = BRANDING_NAME;
|
8
9
|
|
9
10
|
const nickName = (s: UserStore) => {
|
10
11
|
if (!s.enableAuth()) return t('userPanel.defaultNickname', { ns: 'common' });
|
package/src/utils/config.ts
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import { notification } from '@/components/AntdStaticMethods';
|
2
|
+
import { BRANDING_NAME } from '@/const/branding';
|
2
3
|
import { CURRENT_CONFIG_VERSION, Migration } from '@/migrations';
|
3
4
|
import {
|
4
5
|
ConfigFile,
|
@@ -12,7 +13,7 @@ import {
|
|
12
13
|
} from '@/types/exportConfig';
|
13
14
|
|
14
15
|
export const exportConfigFile = (config: object, fileName?: string) => {
|
15
|
-
const file =
|
16
|
+
const file = `${BRANDING_NAME}-${fileName || '-config'}-v${CURRENT_CONFIG_VERSION}.json`;
|
16
17
|
|
17
18
|
// 创建一个 Blob 对象
|
18
19
|
const blob = new Blob([JSON.stringify(config)], { type: 'application/json' });
|