@lobehub/chat 1.0.7 → 1.0.8
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/.env.example +52 -0
- package/CHANGELOG.md +33 -0
- package/README.md +48 -7
- package/README.zh-CN.md +48 -7
- package/docs/self-hosting/advanced/feature-flags.mdx +13 -11
- package/docs/self-hosting/advanced/feature-flags.zh-CN.mdx +1 -1
- package/docs/self-hosting/advanced/server-database.mdx +387 -0
- package/docs/self-hosting/advanced/server-database.zh-CN.mdx +376 -0
- package/docs/self-hosting/advanced/upstream-sync.zh-CN.mdx +15 -15
- package/docs/usage/features/auth.mdx +44 -0
- package/docs/usage/features/auth.zh-CN.mdx +58 -0
- package/docs/usage/features/database.mdx +54 -0
- package/docs/usage/features/database.zh-CN.mdx +54 -0
- package/locales/ar/common.json +1 -1
- package/locales/bg-BG/common.json +1 -1
- package/locales/de-DE/common.json +1 -1
- package/locales/en-US/chat.json +14 -14
- package/locales/en-US/common.json +12 -12
- package/locales/en-US/market.json +6 -6
- package/locales/en-US/metadata.json +2 -2
- package/locales/en-US/setting.json +16 -16
- package/locales/en-US/welcome.json +2 -2
- package/locales/es-ES/common.json +1 -1
- package/locales/fr-FR/common.json +1 -1
- package/locales/it-IT/common.json +1 -1
- package/locales/ja-JP/common.json +1 -1
- package/locales/ko-KR/common.json +1 -1
- package/locales/nl-NL/common.json +1 -1
- package/locales/pl-PL/common.json +1 -1
- package/locales/pt-BR/common.json +1 -1
- package/locales/ru-RU/common.json +1 -1
- package/locales/tr-TR/common.json +1 -1
- package/locales/vi-VN/common.json +1 -1
- package/locales/zh-CN/common.json +1 -1
- package/locales/zh-TW/common.json +1 -1
- package/package.json +2 -2
- package/scripts/i18nWorkflow/utils.ts +1 -4
- package/scripts/migrateServerDB/index.ts +2 -0
- package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/SendMore.tsx +3 -5
- package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/index.tsx +15 -6
- package/src/app/(main)/chat/(workspace)/features/ShareButton/Preview.tsx +3 -2
- package/src/app/(main)/chat/@session/_layout/Desktop/SessionHeader.tsx +3 -2
- package/src/app/(main)/chat/@session/_layout/Mobile/SessionHeader.tsx +3 -2
- package/src/app/(main)/market/_layout/Desktop/Header.tsx +3 -2
- package/src/app/(main)/market/_layout/Desktop/Hero.tsx +1 -1
- package/src/app/(main)/welcome/_layout/Desktop.tsx +3 -2
- package/src/app/layout.tsx +2 -1
- package/src/components/BrandWatermark/index.tsx +2 -2
- package/src/components/FullscreenLoading/index.tsx +3 -2
- package/src/config/featureFlags/schema.ts +1 -1
- package/src/locales/default/common.ts +1 -1
- package/src/store/serverConfig/selectors.test.ts +1 -1
package/locales/en-US/chat.json
CHANGED
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
"ModelSwitch": {
|
|
3
3
|
"title": "Model"
|
|
4
4
|
},
|
|
5
|
-
"agentDefaultMessage": "Hello, I'm **{{name}}**. You can start chatting with me right away, or go to [
|
|
5
|
+
"agentDefaultMessage": "Hello, I'm **{{name}}**. You can start chatting with me right away, or go to [Assistant Settings](/chat/settings#session={{id}}) to complete my information.",
|
|
6
6
|
"agentDefaultMessageWithSystemRole": "Hello, I'm **{{name}}**, {{systemRole}}. Let's start chatting!",
|
|
7
|
-
"agentsAndConversations": "
|
|
7
|
+
"agentsAndConversations": "Assistants and Conversations",
|
|
8
8
|
"backToBottom": "Back to bottom",
|
|
9
9
|
"clearCurrentMessages": "Clear current session messages",
|
|
10
10
|
"confirmClearCurrentMessages": "You are about to clear the current session messages. Once cleared, they cannot be retrieved. Please confirm your action.",
|
|
11
|
-
"confirmRemoveSessionItemAlert": "You are about to delete this
|
|
12
|
-
"confirmRemoveSessionSuccess": "
|
|
13
|
-
"defaultAgent": "Default
|
|
11
|
+
"confirmRemoveSessionItemAlert": "You are about to delete this assistant. Once deleted, it cannot be retrieved. Please confirm your action.",
|
|
12
|
+
"confirmRemoveSessionSuccess": "Assistant removed successfully",
|
|
13
|
+
"defaultAgent": "Default Assistant",
|
|
14
14
|
"defaultList": "Default List",
|
|
15
|
-
"defaultSession": "Default
|
|
15
|
+
"defaultSession": "Default Assistant",
|
|
16
16
|
"duplicateSession": {
|
|
17
17
|
"loading": "Copying...",
|
|
18
18
|
"success": "Copy successful",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"emptyAgent": "No assistant available",
|
|
23
23
|
"historyRange": "History Range",
|
|
24
24
|
"inbox": {
|
|
25
|
-
"desc": "Activate the brain cluster and spark creative thinking. Your virtual
|
|
25
|
+
"desc": "Activate the brain cluster and spark creative thinking. Your virtual assistant is here to communicate with you about everything.",
|
|
26
26
|
"title": "Just Chat"
|
|
27
27
|
},
|
|
28
28
|
"input": {
|
|
@@ -39,20 +39,20 @@
|
|
|
39
39
|
"delAndRegenerate": "Delete and Regenerate",
|
|
40
40
|
"regenerate": "Regenerate"
|
|
41
41
|
},
|
|
42
|
-
"newAgent": "New
|
|
42
|
+
"newAgent": "New Assistant",
|
|
43
43
|
"pin": "Pin",
|
|
44
44
|
"pinOff": "Unpin",
|
|
45
45
|
"regenerate": "Regenerate",
|
|
46
46
|
"roleAndArchive": "Role and Archive",
|
|
47
|
-
"searchAgentPlaceholder": "Search
|
|
47
|
+
"searchAgentPlaceholder": "Search assistants and conversations...",
|
|
48
48
|
"sendPlaceholder": "Type your message here...",
|
|
49
49
|
"sessionGroup": {
|
|
50
50
|
"config": "Group Management",
|
|
51
|
-
"confirmRemoveGroupAlert": "This group is about to be deleted. After deletion, the
|
|
52
|
-
"createAgentSuccess": "
|
|
51
|
+
"confirmRemoveGroupAlert": "This group is about to be deleted. After deletion, the assistants in this group will be moved to the default list. Please confirm your operation.",
|
|
52
|
+
"createAgentSuccess": "Assistant created successfully",
|
|
53
53
|
"createGroup": "Add New Group",
|
|
54
54
|
"createSuccess": "Created successfully",
|
|
55
|
-
"creatingAgent": "Creating
|
|
55
|
+
"creatingAgent": "Creating assistant...",
|
|
56
56
|
"inputPlaceholder": "Please enter group name...",
|
|
57
57
|
"moveGroup": "Move to Group",
|
|
58
58
|
"newGroup": "New Group",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"withBackground": "Include Background Image",
|
|
72
72
|
"withFooter": "Include Footer",
|
|
73
73
|
"withPluginInfo": "Include Plugin Information",
|
|
74
|
-
"withSystemRole": "Include
|
|
74
|
+
"withSystemRole": "Include Assistant Role Setting"
|
|
75
75
|
},
|
|
76
76
|
"stt": {
|
|
77
77
|
"action": "Voice Input",
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
"action": "Text-to-Speech",
|
|
125
125
|
"clear": "Clear Speech"
|
|
126
126
|
},
|
|
127
|
-
"updateAgent": "Update
|
|
127
|
+
"updateAgent": "Update Assistant Information",
|
|
128
128
|
"upload": {
|
|
129
129
|
"actionFiletip": "Update File",
|
|
130
130
|
"actionTooltip": "Upload Image",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"about": "About",
|
|
3
3
|
"advanceSettings": "Advanced Settings",
|
|
4
|
-
"appInitializing": "
|
|
4
|
+
"appInitializing": "The application is initializing, please wait patiently...",
|
|
5
5
|
"autoGenerate": "Auto Generate",
|
|
6
|
-
"autoGenerateTooltip": "Auto-generate
|
|
6
|
+
"autoGenerateTooltip": "Auto-generate assistant description based on prompts",
|
|
7
7
|
"autoGenerateTooltipDisabled": "Please enter a tooltip before using the autocomplete feature",
|
|
8
8
|
"blog": "Product Blog",
|
|
9
9
|
"cancel": "Cancel",
|
|
@@ -15,23 +15,23 @@
|
|
|
15
15
|
"copySuccess": "Copied successfully",
|
|
16
16
|
"dataStatistics": {
|
|
17
17
|
"messages": "Messages",
|
|
18
|
-
"sessions": "
|
|
18
|
+
"sessions": "Assistants",
|
|
19
19
|
"today": "Today's New",
|
|
20
20
|
"topics": "Topics"
|
|
21
21
|
},
|
|
22
|
-
"defaultAgent": "Default
|
|
23
|
-
"defaultSession": "Default
|
|
22
|
+
"defaultAgent": "Default Assistant",
|
|
23
|
+
"defaultSession": "Default Assistant",
|
|
24
24
|
"delete": "Delete",
|
|
25
25
|
"document": "User Manual",
|
|
26
26
|
"duplicate": "Create Duplicate",
|
|
27
27
|
"edit": "Edit",
|
|
28
28
|
"export": "Export Configuration",
|
|
29
29
|
"exportType": {
|
|
30
|
-
"agent": "Export
|
|
31
|
-
"agentWithMessage": "Export
|
|
32
|
-
"all": "Export Global Settings and All
|
|
33
|
-
"allAgent": "Export All
|
|
34
|
-
"allAgentWithMessage": "Export All
|
|
30
|
+
"agent": "Export Assistant Settings",
|
|
31
|
+
"agentWithMessage": "Export Assistant and Messages",
|
|
32
|
+
"all": "Export Global Settings and All Assistant Data",
|
|
33
|
+
"allAgent": "Export All Assistant Settings",
|
|
34
|
+
"allAgentWithMessage": "Export All Assistants and Messages",
|
|
35
35
|
"globalSetting": "Export Global Settings"
|
|
36
36
|
},
|
|
37
37
|
"feedback": "Feedback",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"errors": "Import errors",
|
|
77
77
|
"messages": "Messages",
|
|
78
78
|
"sessionGroups": "Groups",
|
|
79
|
-
"sessions": "
|
|
79
|
+
"sessions": "Assistants",
|
|
80
80
|
"skips": "Duplicates skipped",
|
|
81
81
|
"topics": "Topics",
|
|
82
82
|
"type": "Data Type"
|
|
@@ -196,7 +196,7 @@
|
|
|
196
196
|
},
|
|
197
197
|
"temp": "Temporary",
|
|
198
198
|
"terms": "Terms of Service",
|
|
199
|
-
"updateAgent": "Update
|
|
199
|
+
"updateAgent": "Update Assistant Information",
|
|
200
200
|
"upgradeVersion": {
|
|
201
201
|
"action": "Upgrade",
|
|
202
202
|
"hasNew": "New update available",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"addAgent": "Add
|
|
3
|
-
"addAgentAndConverse": "Add
|
|
2
|
+
"addAgent": "Add Assistant",
|
|
3
|
+
"addAgentAndConverse": "Add Assistant and Converse",
|
|
4
4
|
"addAgentSuccess": "Successfully Added",
|
|
5
5
|
"guide": {
|
|
6
6
|
"func1": {
|
|
@@ -17,16 +17,16 @@
|
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
19
|
"search": {
|
|
20
|
-
"placeholder": "Search
|
|
20
|
+
"placeholder": "Search assistant name, description or keywords..."
|
|
21
21
|
},
|
|
22
22
|
"sidebar": {
|
|
23
23
|
"comment": "Comments",
|
|
24
24
|
"prompt": "Prompts",
|
|
25
|
-
"title": "
|
|
25
|
+
"title": "Assistant Details"
|
|
26
26
|
},
|
|
27
|
-
"submitAgent": "Submit
|
|
27
|
+
"submitAgent": "Submit Assistant",
|
|
28
28
|
"title": {
|
|
29
|
-
"allAgents": "All
|
|
29
|
+
"allAgents": "All Assistants",
|
|
30
30
|
"recentSubmits": "Recent Submits"
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
"title": "LobeChat: Personal LLM Productivity Tool, Give Yourself a Smarter Brain"
|
|
5
5
|
},
|
|
6
6
|
"market": {
|
|
7
|
-
"description": "Content creation, copywriting, Q&A, image generation, video generation, voice generation, smart
|
|
8
|
-
"title": "
|
|
7
|
+
"description": "Content creation, copywriting, Q&A, image generation, video generation, voice generation, smart assistants, automation workflows, customize your own AI / GPTs / OLLaMA intelligent assistant",
|
|
8
|
+
"title": "Assistant Market"
|
|
9
9
|
},
|
|
10
10
|
"plugins": {
|
|
11
11
|
"description": "Search, chart generation, academic, image generation, video generation, voice generation, automation workflows, customize ChatGPT / OLLaMA exclusive ToolCall plugin capabilities",
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
},
|
|
5
5
|
"agentTab": {
|
|
6
6
|
"chat": "Chat Preferences",
|
|
7
|
-
"meta": "
|
|
7
|
+
"meta": "Assistant Info",
|
|
8
8
|
"modal": "Model Settings",
|
|
9
9
|
"plugin": "Plugin Settings",
|
|
10
10
|
"prompt": "Role Configuration",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"clear": {
|
|
22
22
|
"action": "Clear Now",
|
|
23
23
|
"confirm": "Confirm to clear all chat data?",
|
|
24
|
-
"desc": "This will clear all session data, including
|
|
24
|
+
"desc": "This will clear all session data, including assistant, files, messages, plugins, etc.",
|
|
25
25
|
"success": "All session messages have been cleared",
|
|
26
26
|
"title": "Clear All Session Messages"
|
|
27
27
|
},
|
|
@@ -136,11 +136,11 @@
|
|
|
136
136
|
"title": "Background Color"
|
|
137
137
|
},
|
|
138
138
|
"description": {
|
|
139
|
-
"placeholder": "Enter
|
|
140
|
-
"title": "
|
|
139
|
+
"placeholder": "Enter assistant description",
|
|
140
|
+
"title": "Assistant Description"
|
|
141
141
|
},
|
|
142
142
|
"name": {
|
|
143
|
-
"placeholder": "Enter
|
|
143
|
+
"placeholder": "Enter assistant name",
|
|
144
144
|
"title": "Name"
|
|
145
145
|
},
|
|
146
146
|
"prompt": {
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
"placeholder": "Enter tag",
|
|
152
152
|
"title": "Tag"
|
|
153
153
|
},
|
|
154
|
-
"title": "
|
|
154
|
+
"title": "Assistant Information"
|
|
155
155
|
},
|
|
156
156
|
"settingChat": {
|
|
157
157
|
"autoCreateTopicThreshold": {
|
|
@@ -288,7 +288,7 @@
|
|
|
288
288
|
"title": "Text-to-Speech Service"
|
|
289
289
|
},
|
|
290
290
|
"voice": {
|
|
291
|
-
"desc": "Select a voice for the current
|
|
291
|
+
"desc": "Select a voice for the current assistant, different TTS services support different voices",
|
|
292
292
|
"preview": "Voice Preview",
|
|
293
293
|
"title": "Text-to-Speech Voice"
|
|
294
294
|
}
|
|
@@ -325,11 +325,11 @@
|
|
|
325
325
|
"title": "Theme Settings"
|
|
326
326
|
},
|
|
327
327
|
"submitAgentModal": {
|
|
328
|
-
"button": "Submit
|
|
329
|
-
"identifier": "
|
|
330
|
-
"metaMiss": "Please complete the
|
|
331
|
-
"placeholder": "Enter a unique identifier for the
|
|
332
|
-
"tooltips": "Share to the
|
|
328
|
+
"button": "Submit Assistant",
|
|
329
|
+
"identifier": "Assistant Identifier",
|
|
330
|
+
"metaMiss": "Please complete the assistant information before submitting. It should include name, description, and tags",
|
|
331
|
+
"placeholder": "Enter a unique identifier for the assistant, e.g. web-development",
|
|
332
|
+
"tooltips": "Share to the assistant marketplace"
|
|
333
333
|
},
|
|
334
334
|
"sync": {
|
|
335
335
|
"device": {
|
|
@@ -366,26 +366,26 @@
|
|
|
366
366
|
}
|
|
367
367
|
},
|
|
368
368
|
"systemAgent": {
|
|
369
|
-
"title": "System
|
|
369
|
+
"title": "System Assistants",
|
|
370
370
|
"topic": {
|
|
371
371
|
"label": "Topic Naming Model",
|
|
372
372
|
"modelDesc": "Model designated for automatic topic renaming",
|
|
373
373
|
"title": "Automatic Topic Naming"
|
|
374
374
|
},
|
|
375
375
|
"translation": {
|
|
376
|
-
"label": "Translation
|
|
376
|
+
"label": "Translation Assistant",
|
|
377
377
|
"modelDesc": "Specific model for translate message",
|
|
378
378
|
"title": "Translation Settings"
|
|
379
379
|
}
|
|
380
380
|
},
|
|
381
381
|
"tab": {
|
|
382
382
|
"about": "About",
|
|
383
|
-
"agent": "Default
|
|
383
|
+
"agent": "Default Assistant",
|
|
384
384
|
"common": "Common Settings",
|
|
385
385
|
"experiment": "Experiment",
|
|
386
386
|
"llm": "Language Model",
|
|
387
387
|
"sync": "Cloud Sync",
|
|
388
|
-
"system-agent": "System
|
|
388
|
+
"system-agent": "System Assistant",
|
|
389
389
|
"tts": "Text-to-Speech"
|
|
390
390
|
},
|
|
391
391
|
"tools": {
|
|
@@ -39,11 +39,11 @@
|
|
|
39
39
|
}
|
|
40
40
|
},
|
|
41
41
|
"header": "Welcome",
|
|
42
|
-
"pickAgent": "Or choose from the following
|
|
42
|
+
"pickAgent": "Or choose from the following assistant templates",
|
|
43
43
|
"skip": "Skip Creation",
|
|
44
44
|
"slogan": {
|
|
45
45
|
"desc1": "Pioneering the new age of thinking and creating. Built for you, the Super Individual.",
|
|
46
|
-
"desc2": "Create your first
|
|
46
|
+
"desc2": "Create your first assistant and let's get started~",
|
|
47
47
|
"title": "Unlock the superpower of your brain"
|
|
48
48
|
}
|
|
49
49
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"about": "Acerca de",
|
|
3
3
|
"advanceSettings": "Configuración avanzada",
|
|
4
|
-
"appInitializing": "
|
|
4
|
+
"appInitializing": "Iniciando la aplicación, por favor espere...",
|
|
5
5
|
"autoGenerate": "Generación automática",
|
|
6
6
|
"autoGenerateTooltip": "Completar automáticamente la descripción del asistente basándose en las sugerencias",
|
|
7
7
|
"autoGenerateTooltipDisabled": "Por favor, complete la palabra clave antes de usar la función de autocompletar",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"about": "À propos",
|
|
3
3
|
"advanceSettings": "Paramètres avancés",
|
|
4
|
-
"appInitializing": "
|
|
4
|
+
"appInitializing": "L'application est en cours de démarrage, veuillez patienter...",
|
|
5
5
|
"autoGenerate": "Générer automatiquement",
|
|
6
6
|
"autoGenerateTooltip": "Générer automatiquement la description de l'agent basée sur les suggestions",
|
|
7
7
|
"autoGenerateTooltipDisabled": "Veuillez saisir un mot-clé avant d'activer la fonction de complétion automatique",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"about": "Informazioni",
|
|
3
3
|
"advanceSettings": "Impostazioni avanzate",
|
|
4
|
-
"appInitializing": "
|
|
4
|
+
"appInitializing": "Inizializzazione dell'app in corso, attendere pazientemente...",
|
|
5
5
|
"autoGenerate": "Generazione automatica",
|
|
6
6
|
"autoGenerateTooltip": "Completamento automatico basato su suggerimenti",
|
|
7
7
|
"autoGenerateTooltipDisabled": "Si prega di compilare il campo suggerimento per abilitare la funzione di completamento automatico",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"about": "概要",
|
|
3
3
|
"advanceSettings": "高度な設定",
|
|
4
|
-
"appInitializing": "
|
|
4
|
+
"appInitializing": "アプリケーションを初期化しています。しばらくお待ちください...",
|
|
5
5
|
"autoGenerate": "自動生成",
|
|
6
6
|
"autoGenerateTooltip": "ヒントに基づいてエージェントの説明を自動生成します",
|
|
7
7
|
"autoGenerateTooltipDisabled": "ツールチップを入力してから自動生成機能を使用してください",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"about": "소개",
|
|
3
3
|
"advanceSettings": "고급 설정",
|
|
4
|
-
"appInitializing": "
|
|
4
|
+
"appInitializing": "앱을 시작하는 중입니다. 잠시 기다려주세요...",
|
|
5
5
|
"autoGenerate": "자동 생성",
|
|
6
6
|
"autoGenerateTooltip": "힌트 단어를 기반으로 에이전트 설명을 자동으로 완성합니다",
|
|
7
7
|
"autoGenerateTooltipDisabled": "자동 완성 기능을 사용하려면 툴팁을 입력하십시오",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"about": "Over",
|
|
3
3
|
"advanceSettings": "Geavanceerde instellingen",
|
|
4
|
-
"appInitializing": "
|
|
4
|
+
"appInitializing": "Applicatie wordt gestart, gelieve geduld te hebben...",
|
|
5
5
|
"autoGenerate": "Automatisch genereren",
|
|
6
6
|
"autoGenerateTooltip": "Automatisch assistentbeschrijving genereren op basis van suggesties",
|
|
7
7
|
"autoGenerateTooltipDisabled": "Schakel de automatische aanvulling in nadat u een suggestiewoord heeft ingevoerd",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"about": "O nas",
|
|
3
3
|
"advanceSettings": "Zaawansowane ustawienia",
|
|
4
|
-
"appInitializing": "
|
|
4
|
+
"appInitializing": "Inicjowanie aplikacji, prosimy o cierpliwość...",
|
|
5
5
|
"autoGenerate": "Automatyczne generowanie",
|
|
6
6
|
"autoGenerateTooltip": "Automatyczne uzupełnianie opisu asystenta na podstawie sugestii",
|
|
7
7
|
"autoGenerateTooltipDisabled": "Proszę wprowadzić słowo kluczowe przed użyciem funkcji automatycznego uzupełniania",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"about": "Sobre",
|
|
3
3
|
"advanceSettings": "Configurações avançadas",
|
|
4
|
-
"appInitializing": "
|
|
4
|
+
"appInitializing": "Inicializando o aplicativo, por favor, aguarde...",
|
|
5
5
|
"autoGenerate": "Auto completar",
|
|
6
6
|
"autoGenerateTooltip": "Auto completar descrição do assistente com base em sugestões",
|
|
7
7
|
"autoGenerateTooltipDisabled": "Por favor, preencha a dica antes de usar a função de preenchimento automático",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"about": "О нас",
|
|
3
3
|
"advanceSettings": "Расширенные настройки",
|
|
4
|
-
"appInitializing": "
|
|
4
|
+
"appInitializing": "Приложение запускается, пожалуйста, подождите...",
|
|
5
5
|
"autoGenerate": "Автозаполнение",
|
|
6
6
|
"autoGenerateTooltip": "Автоматическое дополнение описания агента на основе подсказок",
|
|
7
7
|
"autoGenerateTooltipDisabled": "Пожалуйста, введите подсказку перед использованием функции автозаполнения",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"about": "Hakkında",
|
|
3
3
|
"advanceSettings": "Gelişmiş Ayarlar",
|
|
4
|
-
"appInitializing": "
|
|
4
|
+
"appInitializing": "Uygulama başlatılıyor, lütfen bekleyin...",
|
|
5
5
|
"autoGenerate": "Otomatik Oluştur",
|
|
6
6
|
"autoGenerateTooltip": "Auto-generate agent description based on prompts",
|
|
7
7
|
"autoGenerateTooltipDisabled": "Otomatik tamamlama işlevini kullanmadan önce ipucu kelimesini girin",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"about": "Giới thiệu",
|
|
3
3
|
"advanceSettings": "Cài đặt nâng cao",
|
|
4
|
-
"appInitializing": "
|
|
4
|
+
"appInitializing": "Ứng dụng đang khởi động, vui lòng chờ...",
|
|
5
5
|
"autoGenerate": "Tự động tạo",
|
|
6
6
|
"autoGenerateTooltip": "Tự động hoàn thành mô tả trợ lý dựa trên từ gợi ý",
|
|
7
7
|
"autoGenerateTooltipDisabled": "Vui lòng nhập từ gợi ý trước khi sử dụng tính năng tự động hoàn thành",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lobehub/chat",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
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",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"@lobehub/chat-plugins-gateway": "^1.9.0",
|
|
110
110
|
"@lobehub/icons": "^1.23.0",
|
|
111
111
|
"@lobehub/tts": "^1.24.1",
|
|
112
|
-
"@lobehub/ui": "^1.
|
|
112
|
+
"@lobehub/ui": "^1.143.3",
|
|
113
113
|
"@microsoft/fetch-event-source": "^2.0.1",
|
|
114
114
|
"@neondatabase/serverless": "^0.9.3",
|
|
115
115
|
"@next/third-parties": "^14.2.3",
|
|
@@ -10,12 +10,9 @@ export const readJSON = (filePath: string) => {
|
|
|
10
10
|
return JSON.parse(data);
|
|
11
11
|
};
|
|
12
12
|
|
|
13
|
-
export const replaceAssistantToAgent = (text: string) =>
|
|
14
|
-
text.replaceAll('assistant', 'agent').replaceAll('Assistant', 'Agent');
|
|
15
|
-
|
|
16
13
|
export const writeJSON = (filePath: string, data: any) => {
|
|
17
14
|
const jsonStr = JSON.stringify(data, null, 2);
|
|
18
|
-
writeFileSync(filePath,
|
|
15
|
+
writeFileSync(filePath, jsonStr, 'utf8');
|
|
19
16
|
};
|
|
20
17
|
|
|
21
18
|
export const genResourcesContent = (locales: string[]) => {
|
package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/SendMore.tsx
CHANGED
|
@@ -13,7 +13,6 @@ import { useSendMessage } from '@/features/ChatInput/useSend';
|
|
|
13
13
|
import { useChatStore } from '@/store/chat';
|
|
14
14
|
import { useUserStore } from '@/store/user';
|
|
15
15
|
import { preferenceSelectors } from '@/store/user/selectors';
|
|
16
|
-
import { isMacOS } from '@/utils/platform';
|
|
17
16
|
|
|
18
17
|
const useStyles = createStyles(({ css, prefixCls }) => {
|
|
19
18
|
return {
|
|
@@ -25,13 +24,12 @@ const useStyles = createStyles(({ css, prefixCls }) => {
|
|
|
25
24
|
};
|
|
26
25
|
});
|
|
27
26
|
|
|
28
|
-
const isMac = isMacOS();
|
|
29
|
-
|
|
30
27
|
interface SendMoreProps {
|
|
31
28
|
disabled?: boolean;
|
|
29
|
+
isMac?: boolean;
|
|
32
30
|
}
|
|
33
31
|
|
|
34
|
-
const SendMore = memo<SendMoreProps>(({ disabled }) => {
|
|
32
|
+
const SendMore = memo<SendMoreProps>(({ disabled, isMac }) => {
|
|
35
33
|
const { t } = useTranslation('chat');
|
|
36
34
|
|
|
37
35
|
const { styles } = useStyles();
|
|
@@ -74,7 +72,7 @@ const SendMore = memo<SendMoreProps>(({ disabled }) => {
|
|
|
74
72
|
icon: useCmdEnterToSend ? <Icon icon={LucideCheck} /> : <div />,
|
|
75
73
|
key: 'sendWithCmdEnter',
|
|
76
74
|
label: t('input.sendWithCmdEnter', {
|
|
77
|
-
meta: isMac ? '
|
|
75
|
+
meta: typeof isMac === 'boolean' ? (isMac ? '⌘' : 'Ctrl') : '…',
|
|
78
76
|
}),
|
|
79
77
|
onClick: () => {
|
|
80
78
|
updatePreference({ useCmdEnterToSend: true });
|
package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/index.tsx
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Icon } from '@lobehub/ui';
|
|
2
|
-
import { Button, Space } from 'antd';
|
|
2
|
+
import { Button, Skeleton, Space } from 'antd';
|
|
3
3
|
import { createStyles } from 'antd-style';
|
|
4
4
|
import { ChevronUp, CornerDownLeft, LucideCommand } from 'lucide-react';
|
|
5
5
|
import { rgba } from 'polished';
|
|
6
|
-
import { memo } from 'react';
|
|
6
|
+
import { memo, useEffect, useState } from 'react';
|
|
7
7
|
import { useTranslation } from 'react-i18next';
|
|
8
8
|
import { Center, Flexbox } from 'react-layout-kit';
|
|
9
9
|
|
|
@@ -50,8 +50,6 @@ const useStyles = createStyles(({ css, prefixCls, token }) => {
|
|
|
50
50
|
};
|
|
51
51
|
});
|
|
52
52
|
|
|
53
|
-
const isMac = isMacOS();
|
|
54
|
-
|
|
55
53
|
interface FooterProps {
|
|
56
54
|
setExpand?: (expand: boolean) => void;
|
|
57
55
|
}
|
|
@@ -86,9 +84,20 @@ const Footer = memo<FooterProps>(({ setExpand }) => {
|
|
|
86
84
|
|
|
87
85
|
const sendMessage = useSendMessage();
|
|
88
86
|
|
|
87
|
+
const [isMac, setIsMac] = useState<boolean>();
|
|
88
|
+
useEffect(() => {
|
|
89
|
+
setIsMac(isMacOS());
|
|
90
|
+
}, [setIsMac]);
|
|
91
|
+
|
|
89
92
|
const cmdEnter = (
|
|
90
93
|
<Flexbox gap={2} horizontal>
|
|
91
|
-
|
|
94
|
+
{typeof isMac === 'boolean' ? (
|
|
95
|
+
<Icon icon={isMac ? LucideCommand : ChevronUp} />
|
|
96
|
+
) : (
|
|
97
|
+
<Skeleton.Node active style={{ height: '100%', width: 12 }}>
|
|
98
|
+
{' '}
|
|
99
|
+
</Skeleton.Node>
|
|
100
|
+
)}
|
|
92
101
|
<Icon icon={CornerDownLeft} />
|
|
93
102
|
</Flexbox>
|
|
94
103
|
);
|
|
@@ -159,7 +168,7 @@ const Footer = memo<FooterProps>(({ setExpand }) => {
|
|
|
159
168
|
>
|
|
160
169
|
{t('input.send')}
|
|
161
170
|
</Button>
|
|
162
|
-
<SendMore disabled={buttonDisabled} />
|
|
171
|
+
<SendMore disabled={buttonDisabled} isMac={isMac} />
|
|
163
172
|
</Space.Compact>
|
|
164
173
|
)}
|
|
165
174
|
</Flexbox>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Avatar, ChatHeaderTitle,
|
|
1
|
+
import { Avatar, ChatHeaderTitle, Markdown } from '@lobehub/ui';
|
|
2
|
+
import { LobeChat } from '@lobehub/ui/brand';
|
|
2
3
|
import { memo } from 'react';
|
|
3
4
|
import { useTranslation } from 'react-i18next';
|
|
4
5
|
import { Flexbox } from 'react-layout-kit';
|
|
@@ -62,7 +63,7 @@ const Preview = memo<FieldType & { title?: string }>(
|
|
|
62
63
|
<ChatList />
|
|
63
64
|
{withFooter ? (
|
|
64
65
|
<Flexbox align={'center'} className={styles.footer} gap={4}>
|
|
65
|
-
<
|
|
66
|
+
<LobeChat type={'combine'} />
|
|
66
67
|
<div className={styles.url}>{pkg.homepage}</div>
|
|
67
68
|
</Flexbox>
|
|
68
69
|
) : (
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { ActionIcon
|
|
3
|
+
import { ActionIcon } from '@lobehub/ui';
|
|
4
|
+
import { LobeChat } from '@lobehub/ui/brand';
|
|
4
5
|
import { createStyles } from 'antd-style';
|
|
5
6
|
import { MessageSquarePlus } from 'lucide-react';
|
|
6
7
|
import { memo } from 'react';
|
|
@@ -37,7 +38,7 @@ const Header = memo(() => {
|
|
|
37
38
|
<Flexbox className={styles.top} gap={16} padding={16}>
|
|
38
39
|
<Flexbox distribution={'space-between'} horizontal>
|
|
39
40
|
<Flexbox align={'center'} gap={4} horizontal>
|
|
40
|
-
<
|
|
41
|
+
<LobeChat className={styles.logo} size={36} type={'text'} />
|
|
41
42
|
{enableWebrtc && <SyncStatusTag />}
|
|
42
43
|
</Flexbox>
|
|
43
44
|
{showCreateSession && (
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { ActionIcon,
|
|
3
|
+
import { ActionIcon, MobileNavBar } from '@lobehub/ui';
|
|
4
|
+
import { LobeChat } from '@lobehub/ui/brand';
|
|
4
5
|
import { MessageSquarePlus } from 'lucide-react';
|
|
5
6
|
import { useRouter } from 'next/navigation';
|
|
6
7
|
import { memo } from 'react';
|
|
@@ -23,7 +24,7 @@ const Header = memo(() => {
|
|
|
23
24
|
left={
|
|
24
25
|
<Flexbox align={'center'} gap={8} horizontal style={{ marginLeft: 8 }}>
|
|
25
26
|
<UserAvatar onClick={() => router.push('/me')} size={32} />
|
|
26
|
-
<
|
|
27
|
+
<LobeChat type={'text'} />
|
|
27
28
|
{enableWebrtc && <SyncStatusInspector placement={'bottom'} />}
|
|
28
29
|
</Flexbox>
|
|
29
30
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { ChatHeader
|
|
3
|
+
import { ChatHeader } from '@lobehub/ui';
|
|
4
|
+
import { LobeChat } from '@lobehub/ui/brand';
|
|
4
5
|
import { createStyles } from 'antd-style';
|
|
5
6
|
import { memo } from 'react';
|
|
6
7
|
|
|
@@ -18,7 +19,7 @@ const Header = memo(() => {
|
|
|
18
19
|
|
|
19
20
|
return (
|
|
20
21
|
<ChatHeader
|
|
21
|
-
left={<
|
|
22
|
+
left={<LobeChat className={styles.logo} extra={'Discover'} size={36} type={'text'} />}
|
|
22
23
|
right={<ShareAgentButton />}
|
|
23
24
|
/>
|
|
24
25
|
);
|
|
@@ -30,7 +30,7 @@ const Hero = memo(() => {
|
|
|
30
30
|
const { theme, styles } = useStyles();
|
|
31
31
|
return (
|
|
32
32
|
<Center>
|
|
33
|
-
<h1 className={styles.title}>Find & Use The Best
|
|
33
|
+
<h1 className={styles.title}>Find & Use The Best Assistants</h1>
|
|
34
34
|
<GridBackground animation className={styles.background} colorFront={theme.colorText} random />
|
|
35
35
|
</Center>
|
|
36
36
|
);
|