@lobehub/chat 1.82.0 → 1.82.2
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/.cursor/rules/desktop-local-tools-implement.mdc +80 -0
- package/.env.desktop +2 -1
- package/.github/scripts/pr-comment.js +4 -9
- package/CHANGELOG.md +51 -0
- package/changelog/v1.json +18 -0
- package/locales/ar/electron.json +38 -2
- package/locales/ar/plugin.json +51 -31
- package/locales/bg-BG/electron.json +38 -2
- package/locales/bg-BG/plugin.json +51 -31
- package/locales/de-DE/electron.json +38 -2
- package/locales/de-DE/plugin.json +29 -9
- package/locales/en-US/electron.json +38 -2
- package/locales/en-US/plugin.json +29 -9
- package/locales/es-ES/electron.json +38 -2
- package/locales/es-ES/plugin.json +51 -31
- package/locales/fa-IR/electron.json +38 -2
- package/locales/fa-IR/plugin.json +51 -31
- package/locales/fr-FR/electron.json +38 -2
- package/locales/fr-FR/plugin.json +51 -31
- package/locales/it-IT/electron.json +38 -2
- package/locales/it-IT/plugin.json +51 -31
- package/locales/ja-JP/electron.json +38 -2
- package/locales/ja-JP/plugin.json +51 -31
- package/locales/ko-KR/electron.json +38 -2
- package/locales/ko-KR/plugin.json +29 -9
- package/locales/nl-NL/electron.json +38 -2
- package/locales/nl-NL/plugin.json +51 -31
- package/locales/pl-PL/electron.json +38 -2
- package/locales/pl-PL/plugin.json +29 -9
- package/locales/pt-BR/electron.json +38 -2
- package/locales/pt-BR/plugin.json +51 -31
- package/locales/ru-RU/electron.json +38 -2
- package/locales/ru-RU/plugin.json +51 -31
- package/locales/tr-TR/electron.json +38 -2
- package/locales/tr-TR/plugin.json +51 -31
- package/locales/vi-VN/electron.json +38 -2
- package/locales/vi-VN/plugin.json +29 -9
- package/locales/zh-CN/electron.json +38 -2
- package/locales/zh-CN/plugin.json +30 -10
- package/locales/zh-TW/electron.json +38 -2
- package/locales/zh-TW/plugin.json +51 -31
- package/package.json +1 -1
- package/packages/electron-client-ipc/src/events/update.ts +3 -3
- package/src/app/[variants]/(main)/_layout/Desktop/ElectronTitlebar/Connection/Mode.tsx +222 -0
- package/src/app/[variants]/(main)/_layout/Desktop/ElectronTitlebar/Connection/Option.tsx +104 -0
- package/src/app/[variants]/(main)/_layout/Desktop/ElectronTitlebar/Connection/Sync.tsx +42 -0
- package/src/app/[variants]/(main)/_layout/Desktop/ElectronTitlebar/Connection/Waiting.tsx +203 -0
- package/src/app/[variants]/(main)/_layout/Desktop/ElectronTitlebar/Connection/index.tsx +57 -0
- package/src/app/[variants]/(main)/_layout/Desktop/ElectronTitlebar/UpdateModal.tsx +242 -0
- package/src/app/[variants]/(main)/_layout/Desktop/ElectronTitlebar/UpdateNotification.tsx +193 -0
- package/src/app/[variants]/(main)/_layout/Desktop/{Titlebar.tsx → ElectronTitlebar/index.tsx} +15 -1
- package/src/app/[variants]/(main)/_layout/Desktop/SideBar/BottomActions.tsx +3 -2
- package/src/app/[variants]/(main)/_layout/Desktop/index.tsx +1 -1
- package/src/app/[variants]/layout.tsx +2 -1
- package/src/config/aiModels/openrouter.ts +6 -6
- package/src/features/Conversation/components/MarkdownElements/LocalFile/Render/LocalFile.tsx +65 -0
- package/src/features/Conversation/components/MarkdownElements/LocalFile/Render/index.tsx +29 -0
- package/src/features/Conversation/components/MarkdownElements/LocalFile/index.ts +16 -0
- package/src/features/Conversation/components/MarkdownElements/index.ts +7 -1
- package/src/features/Conversation/components/MarkdownElements/remarkPlugins/__snapshots__/createRemarkSelfClosingTagPlugin.test.ts.snap +260 -0
- package/src/features/Conversation/components/MarkdownElements/remarkPlugins/createRemarkSelfClosingTagPlugin.test.ts +204 -0
- package/src/features/Conversation/components/MarkdownElements/remarkPlugins/createRemarkSelfClosingTagPlugin.ts +133 -0
- package/src/features/Conversation/components/MarkdownElements/type.ts +5 -1
- package/src/features/PluginDevModal/MCPManifestForm/ArgsInput.tsx +20 -0
- package/src/features/PluginDevModal/MCPManifestForm/MCPTypeSelect.tsx +176 -0
- package/src/features/PluginDevModal/MCPManifestForm/index.tsx +289 -0
- package/src/features/PluginDevModal/MCPManifestForm/utils.test.ts +262 -0
- package/src/features/PluginDevModal/MCPManifestForm/utils.ts +151 -0
- package/src/features/PluginDevModal/index.tsx +31 -22
- package/src/libs/agent-runtime/utils/openaiCompatibleFactory/index.ts +1 -1
- package/src/libs/mcp/__tests__/__snapshots__/index.test.ts.snap +0 -56
- package/src/locales/default/electron.ts +38 -2
- package/src/locales/default/plugin.ts +28 -8
- package/src/server/modules/ElectronIPCClient/index.ts +36 -0
- package/src/server/routers/lambda/session.ts +2 -6
- package/src/server/routers/tools/mcp.ts +6 -0
- package/src/server/services/file/impls/index.ts +9 -1
- package/src/server/services/file/impls/local.test.ts +299 -0
- package/src/server/services/file/impls/local.ts +183 -0
- package/src/server/services/mcp/index.ts +26 -0
- package/src/services/aiModel/index.ts +5 -1
- package/src/services/aiProvider/index.ts +5 -1
- package/src/services/electron/autoUpdate.ts +4 -0
- package/src/services/file/index.ts +5 -1
- package/src/services/mcp.ts +13 -2
- package/src/services/message/index.ts +5 -1
- package/src/services/plugin/index.ts +5 -1
- package/src/services/session/index.ts +5 -1
- package/src/services/tableViewer/desktop.ts +15 -0
- package/src/services/tableViewer/index.ts +4 -1
- package/src/services/thread/index.ts +5 -1
- package/src/services/topic/index.ts +5 -1
- package/src/services/user/index.ts +5 -1
- package/src/store/electron/actions/app.ts +59 -0
- package/src/store/electron/actions/sync.ts +5 -1
- package/src/store/electron/initialState.ts +3 -1
- package/src/store/electron/store.ts +6 -1
- package/src/store/tool/slices/customPlugin/action.ts +16 -4
- package/src/utils/client/GlobalAgentContextManager.ts +85 -0
- package/src/utils/promptTemplate.test.ts +78 -0
- package/src/utils/promptTemplate.ts +17 -0
- package/src/features/PluginDevModal/MCPManifestForm.tsx +0 -164
@@ -17,16 +17,52 @@
|
|
17
17
|
"statusDisconnected": "Не подключено",
|
18
18
|
"urlRequired": "Пожалуйста, введите адрес сервера"
|
19
19
|
},
|
20
|
+
"sync": {
|
21
|
+
"continue": "Продолжить",
|
22
|
+
"inCloud": "Текущий режим синхронизации с облаком",
|
23
|
+
"inLocalStorage": "Текущий режим локального хранения",
|
24
|
+
"isIniting": "Инициализация...",
|
25
|
+
"lobehubCloud": {
|
26
|
+
"description": "Облачная версия, предоставленная официально",
|
27
|
+
"title": "LobeHub Cloud"
|
28
|
+
},
|
29
|
+
"local": {
|
30
|
+
"description": "Использует локальную базу данных, полностью доступна в оффлайн-режиме",
|
31
|
+
"title": "Локальная база данных"
|
32
|
+
},
|
33
|
+
"mode": {
|
34
|
+
"cloudSync": "Синхронизация с облаком",
|
35
|
+
"localStorage": "Локальное хранилище",
|
36
|
+
"title": "Выберите режим подключения",
|
37
|
+
"useSelfHosted": "Использовать самоуправляемый экземпляр?"
|
38
|
+
},
|
39
|
+
"selfHosted": {
|
40
|
+
"description": "Сообщество, развернутое самостоятельно",
|
41
|
+
"title": "Самоуправляемый экземпляр"
|
42
|
+
}
|
43
|
+
},
|
20
44
|
"updater": {
|
45
|
+
"checkingUpdate": "Проверка обновлений",
|
46
|
+
"checkingUpdateDesc": "Получение информации о версии...",
|
47
|
+
"downloadNewVersion": "Скачать новую версию",
|
21
48
|
"downloadingUpdate": "Загрузка обновления",
|
22
49
|
"downloadingUpdateDesc": "Обновление загружается, пожалуйста, подождите...",
|
50
|
+
"installLater": "Обновить при следующем запуске",
|
51
|
+
"isLatestVersion": "Вы используете последнюю версию",
|
52
|
+
"isLatestVersionDesc": "Отлично, вы используете версию {{version}}, которая является самой последней.",
|
23
53
|
"later": "Обновить позже",
|
24
54
|
"newVersionAvailable": "Доступна новая версия",
|
25
55
|
"newVersionAvailableDesc": "Обнаружена новая версия {{version}}, хотите скачать сейчас?",
|
26
|
-
"restartAndInstall": "
|
56
|
+
"restartAndInstall": "Установить обновление и перезагрузить",
|
27
57
|
"updateError": "Ошибка обновления",
|
28
58
|
"updateReady": "Обновление готово",
|
29
|
-
"updateReadyDesc": "
|
59
|
+
"updateReadyDesc": "Новая версия {{version}} загружена, установка завершится после перезагрузки приложения.",
|
30
60
|
"upgradeNow": "Обновить сейчас"
|
61
|
+
},
|
62
|
+
"waitingOAuth": {
|
63
|
+
"cancel": "Отмена",
|
64
|
+
"description": "Браузер открыл страницу авторизации, пожалуйста, завершите авторизацию в браузере",
|
65
|
+
"helpText": "Если браузер не открылся автоматически, нажмите отмену и попробуйте снова",
|
66
|
+
"title": "Ожидание авторизации"
|
31
67
|
}
|
32
68
|
}
|
@@ -7,6 +7,7 @@
|
|
7
7
|
"payload": "полезная нагрузка",
|
8
8
|
"pluginState": "Состояние плагина",
|
9
9
|
"response": "Ответ",
|
10
|
+
"title": "Детали плагина",
|
10
11
|
"tool_call": "запрос на вызов инструмента"
|
11
12
|
},
|
12
13
|
"detailModal": {
|
@@ -34,37 +35,6 @@
|
|
34
35
|
"desc": "Уникальный идентификатор плагина",
|
35
36
|
"label": "Идентификатор"
|
36
37
|
},
|
37
|
-
"mcp": {
|
38
|
-
"args": {
|
39
|
-
"desc": "Список параметров, передаваемых в команду STDIO",
|
40
|
-
"label": "Параметры команды",
|
41
|
-
"placeholder": "Например: --port 8080 --debug",
|
42
|
-
"tooltip": "Нажмите Enter после ввода параметров или используйте запятую/пробел для разделения"
|
43
|
-
},
|
44
|
-
"command": {
|
45
|
-
"desc": "Исполняемый файл или скрипт для запуска MCP STDIO плагина",
|
46
|
-
"label": "Команда",
|
47
|
-
"placeholder": "Например: python main.py или /path/to/executable"
|
48
|
-
},
|
49
|
-
"endpoint": {
|
50
|
-
"desc": "Введите адрес вашего MCP Streamable HTTP сервера",
|
51
|
-
"label": "MCP Endpoint URL"
|
52
|
-
},
|
53
|
-
"identifier": {
|
54
|
-
"desc": "Укажите имя для вашего MCP плагина, необходимо использовать английские символы",
|
55
|
-
"invalid": "Можно вводить только английские буквы, цифры, символы - и _",
|
56
|
-
"label": "Имя MCP плагина",
|
57
|
-
"placeholder": "Например: my-mcp-plugin"
|
58
|
-
},
|
59
|
-
"type": {
|
60
|
-
"desc": "Выберите способ связи для MCP плагина, веб-версия поддерживает только Streamable HTTP",
|
61
|
-
"label": "Тип MCP плагина"
|
62
|
-
},
|
63
|
-
"url": {
|
64
|
-
"desc": "Введите адрес Endpoint вашего MCP HTTP плагина",
|
65
|
-
"label": "HTTP Endpoint URL"
|
66
|
-
}
|
67
|
-
},
|
68
38
|
"mode": {
|
69
39
|
"mcp": "MCP плагин",
|
70
40
|
"mcpExp": "Экспериментальный",
|
@@ -76,6 +46,52 @@
|
|
76
46
|
"placeholder": "Поиск в поисковике"
|
77
47
|
}
|
78
48
|
},
|
49
|
+
"mcp": {
|
50
|
+
"args": {
|
51
|
+
"desc": "Список параметров, передаваемых команде STDIO",
|
52
|
+
"label": "Параметры команды",
|
53
|
+
"placeholder": "Например: --port 8080 --debug",
|
54
|
+
"required": "Пожалуйста, введите параметры запуска"
|
55
|
+
},
|
56
|
+
"command": {
|
57
|
+
"desc": "Исполняемый файл или скрипт для запуска плагина MCP STDIO",
|
58
|
+
"label": "Команда",
|
59
|
+
"placeholder": "Например: python main.py или /path/to/executable",
|
60
|
+
"required": "Пожалуйста, введите команду запуска"
|
61
|
+
},
|
62
|
+
"endpoint": {
|
63
|
+
"desc": "Введите адрес вашего MCP Streamable HTTP Server",
|
64
|
+
"label": "URL-адрес MCP Endpoint"
|
65
|
+
},
|
66
|
+
"identifier": {
|
67
|
+
"desc": "Укажите имя для вашего MCP плагина, необходимо использовать английские символы",
|
68
|
+
"invalid": "Можно вводить только английские буквы, цифры, символы - и _",
|
69
|
+
"label": "Имя MCP плагина",
|
70
|
+
"placeholder": "Например: my-mcp-plugin",
|
71
|
+
"required": "Пожалуйста, введите идентификатор службы MCP"
|
72
|
+
},
|
73
|
+
"previewManifest": "Предварительный просмотр файла описания плагина",
|
74
|
+
"testConnection": "Проверить соединение",
|
75
|
+
"testConnectionTip": "Плагин MCP может быть использован только после успешной проверки соединения",
|
76
|
+
"type": {
|
77
|
+
"desc": "Выберите способ связи для MCP плагина, веб-версия поддерживает только Streamable HTTP",
|
78
|
+
"httpFeature1": "Совместимость с веб-версией и настольной версией",
|
79
|
+
"httpFeature2": "Подключение к удаленному серверу MCP без дополнительной установки и настройки",
|
80
|
+
"httpShortDesc": "Протокол связи на основе потокового HTTP",
|
81
|
+
"label": "Тип MCP плагина",
|
82
|
+
"stdioFeature1": "Низкая задержка связи, подходит для локального выполнения",
|
83
|
+
"stdioFeature2": "Необходимо установить и запустить сервер MCP локально",
|
84
|
+
"stdioNotAvailable": "Режим STDIO доступен только в настольной версии",
|
85
|
+
"stdioShortDesc": "Протокол связи на основе стандартного ввода-вывода",
|
86
|
+
"title": "Тип плагина MCP"
|
87
|
+
},
|
88
|
+
"url": {
|
89
|
+
"desc": "Введите адрес вашего MCP Server Streamable HTTP, который не заканчивается на /sse",
|
90
|
+
"invalid": "Пожалуйста, введите действительный URL-адрес",
|
91
|
+
"label": "URL-адрес HTTP Endpoint",
|
92
|
+
"required": "Пожалуйста, введите URL службы MCP"
|
93
|
+
}
|
94
|
+
},
|
79
95
|
"meta": {
|
80
96
|
"author": {
|
81
97
|
"desc": "Автор плагина",
|
@@ -101,12 +117,14 @@
|
|
101
117
|
"label": "Идентификатор",
|
102
118
|
"pattenErrorMessage": "Допустимы только латинские буквы, цифры, дефис и подчеркивание"
|
103
119
|
},
|
120
|
+
"lobe": "{{appName}} плагин",
|
104
121
|
"manifest": {
|
105
122
|
"desc": "{{appName}} будет устанавливать плагин по этой ссылке",
|
106
123
|
"label": "URL манифеста плагина",
|
107
124
|
"preview": "Предпросмотр манифеста",
|
108
125
|
"refresh": "Обновить"
|
109
126
|
},
|
127
|
+
"openai": "Плагин OpenAI",
|
110
128
|
"title": {
|
111
129
|
"desc": "Название плагина",
|
112
130
|
"label": "Название",
|
@@ -148,6 +166,7 @@
|
|
148
166
|
"noManifest": "Отсутствует манифест",
|
149
167
|
"openAPIInvalid": "Ошибка разбора OpenAPI: \n\n {{error}}",
|
150
168
|
"reinstallError": "Ошибка при обновлении плагина {{name}}",
|
169
|
+
"testConnectionFailed": "Не удалось получить манифест: {{error}}",
|
151
170
|
"urlError": "Ссылка не возвращает данные в формате JSON. Проверьте правильность ссылки"
|
152
171
|
},
|
153
172
|
"inspector": {
|
@@ -226,5 +245,6 @@
|
|
226
245
|
},
|
227
246
|
"title": "Магазин плагинов"
|
228
247
|
},
|
248
|
+
"unknownError": "Неизвестная ошибка",
|
229
249
|
"unknownPlugin": "Неизвестный плагин"
|
230
250
|
}
|
@@ -17,16 +17,52 @@
|
|
17
17
|
"statusDisconnected": "Bağlı değil",
|
18
18
|
"urlRequired": "Lütfen sunucu adresini girin"
|
19
19
|
},
|
20
|
+
"sync": {
|
21
|
+
"continue": "Devam et",
|
22
|
+
"inCloud": "Şu anda bulut senkronizasyonu kullanılıyor",
|
23
|
+
"inLocalStorage": "Şu anda yerel depolama kullanılıyor",
|
24
|
+
"isIniting": "Başlatılıyor...",
|
25
|
+
"lobehubCloud": {
|
26
|
+
"description": "Resmi olarak sağlanan bulut versiyonu",
|
27
|
+
"title": "LobeHub Bulut"
|
28
|
+
},
|
29
|
+
"local": {
|
30
|
+
"description": "Yerel veritabanı kullanarak tamamen çevrimdışı kullanılabilir",
|
31
|
+
"title": "Yerel Veritabanı"
|
32
|
+
},
|
33
|
+
"mode": {
|
34
|
+
"cloudSync": "Bulut Senkronizasyonu",
|
35
|
+
"localStorage": "Yerel Depolama",
|
36
|
+
"title": "Bağlantı modunuzu seçin",
|
37
|
+
"useSelfHosted": "Kendi barındırdığınız örneği mi kullanmak istiyorsunuz?"
|
38
|
+
},
|
39
|
+
"selfHosted": {
|
40
|
+
"description": "Kendi başınıza dağıttığınız topluluk versiyonu",
|
41
|
+
"title": "Kendi Barındırdığınız Örnek"
|
42
|
+
}
|
43
|
+
},
|
20
44
|
"updater": {
|
45
|
+
"checkingUpdate": "Yeni sürüm kontrol ediliyor",
|
46
|
+
"checkingUpdateDesc": "Sürüm bilgileri alınıyor...",
|
47
|
+
"downloadNewVersion": "Yeni sürümü indir",
|
21
48
|
"downloadingUpdate": "Güncelleme indiriliyor",
|
22
49
|
"downloadingUpdateDesc": "Güncelleme indiriliyor, lütfen bekleyin...",
|
50
|
+
"installLater": "Gelecek başlatmada güncelle",
|
51
|
+
"isLatestVersion": "Şu anda en son sürümdesiniz",
|
52
|
+
"isLatestVersionDesc": "Harika, kullandığınız sürüm {{version}} en güncel sürüm. ",
|
23
53
|
"later": "Güncellemeyi daha sonra yap",
|
24
54
|
"newVersionAvailable": "Yeni sürüm mevcut",
|
25
55
|
"newVersionAvailableDesc": "Yeni sürüm {{version}} bulundu, hemen indirmek ister misiniz?",
|
26
|
-
"restartAndInstall": "
|
56
|
+
"restartAndInstall": "Güncellemeyi yükle ve yeniden başlat",
|
27
57
|
"updateError": "Güncelleme hatası",
|
28
58
|
"updateReady": "Güncelleme hazır",
|
29
|
-
"updateReadyDesc": "
|
59
|
+
"updateReadyDesc": "Yeni sürüm {{version}} indirildi, uygulamayı yeniden başlattığınızda yükleme tamamlanacaktır.",
|
30
60
|
"upgradeNow": "Şimdi güncelle"
|
61
|
+
},
|
62
|
+
"waitingOAuth": {
|
63
|
+
"cancel": "İptal",
|
64
|
+
"description": "Tarayıcıda yetkilendirme sayfası açıldı, lütfen tarayıcıda yetkilendirmeyi tamamlayın",
|
65
|
+
"helpText": "Tarayıcı otomatik olarak açılmadıysa, lütfen iptal'e tıklayıp yeniden deneyin",
|
66
|
+
"title": "Yetkilendirme bağlantısını bekliyor"
|
31
67
|
}
|
32
68
|
}
|
@@ -7,6 +7,7 @@
|
|
7
7
|
"payload": "eklenti yükü",
|
8
8
|
"pluginState": "Eklenti Durumu",
|
9
9
|
"response": "Yanıt",
|
10
|
+
"title": "Eklenti Detayları",
|
10
11
|
"tool_call": "aracı çağrı"
|
11
12
|
},
|
12
13
|
"detailModal": {
|
@@ -34,37 +35,6 @@
|
|
34
35
|
"desc": "Eklenti için benzersiz tanımlayıcı",
|
35
36
|
"label": "Tanımlayıcı"
|
36
37
|
},
|
37
|
-
"mcp": {
|
38
|
-
"args": {
|
39
|
-
"desc": "STDIO komutuna iletilen parametreler listesi",
|
40
|
-
"label": "Komut Parametreleri",
|
41
|
-
"placeholder": "Örneğin: --port 8080 --debug",
|
42
|
-
"tooltip": "Parametreleri girdikten sonra enter tuşuna basın veya virgül/boşluk ile ayırın"
|
43
|
-
},
|
44
|
-
"command": {
|
45
|
-
"desc": "MCP STDIO eklentisini başlatmak için kullanılacak yürütülebilir dosya veya betik",
|
46
|
-
"label": "Komut",
|
47
|
-
"placeholder": "Örneğin: python main.py veya /path/to/executable"
|
48
|
-
},
|
49
|
-
"endpoint": {
|
50
|
-
"desc": "MCP Streamable HTTP Sunucunuzun adresini girin",
|
51
|
-
"label": "MCP Endpoint URL"
|
52
|
-
},
|
53
|
-
"identifier": {
|
54
|
-
"desc": "MCP eklentinize bir ad verin, İngilizce karakterler kullanmalısınız",
|
55
|
-
"invalid": "Sadece İngilizce karakterler, rakamlar, - ve _ bu iki sembolü girebilirsiniz",
|
56
|
-
"label": "MCP Eklenti Adı",
|
57
|
-
"placeholder": "Örneğin: my-mcp-plugin"
|
58
|
-
},
|
59
|
-
"type": {
|
60
|
-
"desc": "MCP eklentisinin iletişim yöntemini seçin, web sürümü yalnızca Streamable HTTP'yi destekler",
|
61
|
-
"label": "MCP Eklenti Türü"
|
62
|
-
},
|
63
|
-
"url": {
|
64
|
-
"desc": "MCP HTTP eklentinizin Endpoint adresini girin",
|
65
|
-
"label": "HTTP Endpoint URL"
|
66
|
-
}
|
67
|
-
},
|
68
38
|
"mode": {
|
69
39
|
"mcp": "MCP Eklentisi",
|
70
40
|
"mcpExp": "Deneysel",
|
@@ -76,6 +46,52 @@
|
|
76
46
|
"placeholder": "Arama Motoru"
|
77
47
|
}
|
78
48
|
},
|
49
|
+
"mcp": {
|
50
|
+
"args": {
|
51
|
+
"desc": "STDIO komutuna iletilecek parametreler listesi",
|
52
|
+
"label": "Komut Parametreleri",
|
53
|
+
"placeholder": "Örneğin: --port 8080 --debug",
|
54
|
+
"required": "Lütfen başlatma parametrelerini girin"
|
55
|
+
},
|
56
|
+
"command": {
|
57
|
+
"desc": "MCP STDIO eklentisini başlatmak için kullanılacak yürütülebilir dosya veya betik",
|
58
|
+
"label": "Komut",
|
59
|
+
"placeholder": "Örneğin: python main.py veya /path/to/executable",
|
60
|
+
"required": "Lütfen başlatma komutunu girin"
|
61
|
+
},
|
62
|
+
"endpoint": {
|
63
|
+
"desc": "MCP Streamable HTTP Sunucunuzun adresini girin",
|
64
|
+
"label": "MCP Endpoint URL"
|
65
|
+
},
|
66
|
+
"identifier": {
|
67
|
+
"desc": "MCP eklentiniz için bir ad belirleyin, İngilizce karakterler kullanmalısınız",
|
68
|
+
"invalid": "Sadece İngilizce karakterler, rakamlar, - ve _ bu iki sembolü girebilirsiniz",
|
69
|
+
"label": "MCP Eklenti Adı",
|
70
|
+
"placeholder": "Örneğin: my-mcp-plugin",
|
71
|
+
"required": "Lütfen MCP hizmet tanımlayıcısını girin"
|
72
|
+
},
|
73
|
+
"previewManifest": "Eklenti tanım dosyasını önizle",
|
74
|
+
"testConnection": "Bağlantıyı test et",
|
75
|
+
"testConnectionTip": "Bağlantı başarılı olduktan sonra MCP eklentisi normal şekilde kullanılabilir",
|
76
|
+
"type": {
|
77
|
+
"desc": "MCP eklentisinin iletişim yöntemini seçin, web sürümü yalnızca Streamable HTTP'yi destekler",
|
78
|
+
"httpFeature1": "Web ve masaüstü sürümü ile uyumlu",
|
79
|
+
"httpFeature2": "Ekstra kurulum ve yapılandırma gerektirmeden uzak MCP sunucusuna bağlanma",
|
80
|
+
"httpShortDesc": "Akış tabanlı HTTP iletişim protokolü",
|
81
|
+
"label": "MCP Eklenti Türü",
|
82
|
+
"stdioFeature1": "Daha düşük iletişim gecikmesi, yerel çalıştırma için uygundur",
|
83
|
+
"stdioFeature2": "Yerel olarak MCP sunucusunun kurulması ve çalıştırılması gerekir",
|
84
|
+
"stdioNotAvailable": "STDIO modu yalnızca masaüstü sürümünde mevcuttur",
|
85
|
+
"stdioShortDesc": "Standart giriş çıkış tabanlı iletişim protokolü",
|
86
|
+
"title": "MCP Eklenti Türü"
|
87
|
+
},
|
88
|
+
"url": {
|
89
|
+
"desc": "MCP Sunucu Akış HTTP adresinizi girin, /sse ile bitmemelidir",
|
90
|
+
"invalid": "Lütfen geçerli bir URL adresi girin",
|
91
|
+
"label": "HTTP Endpoint URL",
|
92
|
+
"required": "Lütfen MCP hizmet URL'sini girin"
|
93
|
+
}
|
94
|
+
},
|
79
95
|
"meta": {
|
80
96
|
"author": {
|
81
97
|
"desc": "Eklentinin yazarı",
|
@@ -101,12 +117,14 @@
|
|
101
117
|
"label": "Tanımlayıcı",
|
102
118
|
"pattenErrorMessage": "Sadece İngilizce karakterler, sayılar, - ve _ kullanılabilir"
|
103
119
|
},
|
120
|
+
"lobe": "{{appName}} eklentisi",
|
104
121
|
"manifest": {
|
105
122
|
"desc": "{{appName}} bu bağlantı aracılığıyla eklentiyi yükleyecektir.",
|
106
123
|
"label": "Eklenti Tanım Dosyası (Manifest) URL'si",
|
107
124
|
"preview": "Manifesti Önizle",
|
108
125
|
"refresh": "Yenile"
|
109
126
|
},
|
127
|
+
"openai": "OpenAI eklentisi",
|
110
128
|
"title": {
|
111
129
|
"desc": "Eklenti başlığı",
|
112
130
|
"label": "Başlık",
|
@@ -148,6 +166,7 @@
|
|
148
166
|
"noManifest": "Manifest dosyası mevcut değil",
|
149
167
|
"openAPIInvalid": "OpenAPI ayrıştırma hatası, hata: \n\n {{error}}",
|
150
168
|
"reinstallError": "{{name}} eklentisi yenilenemedi",
|
169
|
+
"testConnectionFailed": "Manifest alınamadı: {{error}}",
|
151
170
|
"urlError": "Bağlantı JSON formatında içerik döndürmedi. Lütfen geçerli bir bağlantı olduğundan emin olun"
|
152
171
|
},
|
153
172
|
"inspector": {
|
@@ -226,5 +245,6 @@
|
|
226
245
|
},
|
227
246
|
"title": "Eklenti Mağazası"
|
228
247
|
},
|
248
|
+
"unknownError": "Bilinmeyen hata",
|
229
249
|
"unknownPlugin": "Bilinmeyen eklenti"
|
230
250
|
}
|
@@ -17,16 +17,52 @@
|
|
17
17
|
"statusDisconnected": "Chưa kết nối",
|
18
18
|
"urlRequired": "Vui lòng nhập địa chỉ máy chủ"
|
19
19
|
},
|
20
|
+
"sync": {
|
21
|
+
"continue": "Tiếp tục",
|
22
|
+
"inCloud": "Hiện đang sử dụng đồng bộ đám mây",
|
23
|
+
"inLocalStorage": "Hiện đang sử dụng lưu trữ cục bộ",
|
24
|
+
"isIniting": "Đang khởi tạo...",
|
25
|
+
"lobehubCloud": {
|
26
|
+
"description": "Phiên bản đám mây do chính thức cung cấp",
|
27
|
+
"title": "LobeHub Cloud"
|
28
|
+
},
|
29
|
+
"local": {
|
30
|
+
"description": "Sử dụng cơ sở dữ liệu cục bộ, hoàn toàn có thể sử dụng ngoại tuyến",
|
31
|
+
"title": "Cơ sở dữ liệu cục bộ"
|
32
|
+
},
|
33
|
+
"mode": {
|
34
|
+
"cloudSync": "Đồng bộ đám mây",
|
35
|
+
"localStorage": "Lưu trữ cục bộ",
|
36
|
+
"title": "Chọn chế độ kết nối của bạn",
|
37
|
+
"useSelfHosted": "Sử dụng phiên bản tự lưu trữ?"
|
38
|
+
},
|
39
|
+
"selfHosted": {
|
40
|
+
"description": "Phiên bản cộng đồng tự triển khai",
|
41
|
+
"title": "Phiên bản tự lưu trữ"
|
42
|
+
}
|
43
|
+
},
|
20
44
|
"updater": {
|
45
|
+
"checkingUpdate": "Kiểm tra phiên bản mới",
|
46
|
+
"checkingUpdateDesc": "Đang lấy thông tin phiên bản...",
|
47
|
+
"downloadNewVersion": "Tải phiên bản mới",
|
21
48
|
"downloadingUpdate": "Đang tải bản cập nhật",
|
22
49
|
"downloadingUpdateDesc": "Bản cập nhật đang được tải xuống, vui lòng chờ...",
|
50
|
+
"installLater": "Cập nhật khi khởi động lần sau",
|
51
|
+
"isLatestVersion": "Hiện tại đã là phiên bản mới nhất",
|
52
|
+
"isLatestVersionDesc": "Rất tuyệt, phiên bản {{version}} bạn đang sử dụng đã là phiên bản tiên tiến nhất.",
|
23
53
|
"later": "Cập nhật sau",
|
24
54
|
"newVersionAvailable": "Có phiên bản mới",
|
25
55
|
"newVersionAvailableDesc": "Đã phát hiện phiên bản mới {{version}}, có muốn tải xuống ngay không?",
|
26
|
-
"restartAndInstall": "
|
56
|
+
"restartAndInstall": "Cài đặt cập nhật và khởi động lại",
|
27
57
|
"updateError": "Lỗi cập nhật",
|
28
58
|
"updateReady": "Cập nhật đã sẵn sàng",
|
29
|
-
"updateReadyDesc": "
|
59
|
+
"updateReadyDesc": "Phiên bản mới {{version}} đã tải xong, khởi động lại ứng dụng để hoàn tất cài đặt.",
|
30
60
|
"upgradeNow": "Cập nhật ngay"
|
61
|
+
},
|
62
|
+
"waitingOAuth": {
|
63
|
+
"cancel": "Hủy",
|
64
|
+
"description": "Trình duyệt đã mở trang ủy quyền, vui lòng hoàn tất ủy quyền trong trình duyệt",
|
65
|
+
"helpText": "Nếu trình duyệt không tự động mở, vui lòng nhấp vào hủy và thử lại",
|
66
|
+
"title": "Đang chờ kết nối ủy quyền"
|
31
67
|
}
|
32
68
|
}
|
@@ -7,6 +7,7 @@
|
|
7
7
|
"payload": "Dữ liệu cắm",
|
8
8
|
"pluginState": "Trạng thái plugin",
|
9
9
|
"response": "Kết quả trả về",
|
10
|
+
"title": "Chi tiết plugin",
|
10
11
|
"tool_call": "Yêu cầu công cụ"
|
11
12
|
},
|
12
13
|
"detailModal": {
|
@@ -47,15 +48,16 @@
|
|
47
48
|
},
|
48
49
|
"mcp": {
|
49
50
|
"args": {
|
50
|
-
"desc": "Danh sách
|
51
|
+
"desc": "Danh sách tham số được truyền cho lệnh STDIO, thường nhập tên máy chủ MCP ở đây",
|
51
52
|
"label": "Tham số lệnh",
|
52
|
-
"placeholder": "Ví dụ:
|
53
|
-
"
|
53
|
+
"placeholder": "Ví dụ: mcp-hello-world",
|
54
|
+
"required": "Vui lòng nhập tham số khởi động"
|
54
55
|
},
|
55
56
|
"command": {
|
56
|
-
"desc": "
|
57
|
+
"desc": "Tập tin thực thi hoặc kịch bản dùng để khởi động Máy chủ MCP STDIO",
|
57
58
|
"label": "Lệnh",
|
58
|
-
"placeholder": "Ví dụ:
|
59
|
+
"placeholder": "Ví dụ: npx / uv / docker v.v.",
|
60
|
+
"required": "Vui lòng nhập lệnh khởi động"
|
59
61
|
},
|
60
62
|
"endpoint": {
|
61
63
|
"desc": "Nhập địa chỉ của máy chủ HTTP Streamable MCP của bạn",
|
@@ -65,15 +67,29 @@
|
|
65
67
|
"desc": "Chỉ định một tên cho plugin MCP của bạn, cần sử dụng ký tự tiếng Anh",
|
66
68
|
"invalid": "Chỉ có thể nhập ký tự tiếng Anh, số, và hai ký hiệu - và _",
|
67
69
|
"label": "Tên plugin MCP",
|
68
|
-
"placeholder": "Ví dụ: my-mcp-plugin"
|
70
|
+
"placeholder": "Ví dụ: my-mcp-plugin",
|
71
|
+
"required": "Vui lòng nhập định danh dịch vụ MCP"
|
69
72
|
},
|
73
|
+
"previewManifest": "Xem trước tệp mô tả plugin",
|
74
|
+
"testConnection": "Kiểm tra kết nối",
|
75
|
+
"testConnectionTip": "Chỉ sau khi kiểm tra kết nối thành công, plugin MCP mới có thể được sử dụng bình thường",
|
70
76
|
"type": {
|
71
77
|
"desc": "Chọn phương thức giao tiếp của plugin MCP, phiên bản web chỉ hỗ trợ Streamable HTTP",
|
72
|
-
"
|
78
|
+
"httpFeature1": "Tương thích với phiên bản web và desktop",
|
79
|
+
"httpFeature2": "Kết nối với máy chủ MCP từ xa, không cần cài đặt cấu hình thêm",
|
80
|
+
"httpShortDesc": "Giao thức truyền thông dựa trên HTTP theo dòng",
|
81
|
+
"label": "Loại plugin MCP",
|
82
|
+
"stdioFeature1": "Độ trễ truyền thông thấp hơn, phù hợp cho thực thi cục bộ",
|
83
|
+
"stdioFeature2": "Cần cài đặt và chạy máy chủ MCP cục bộ",
|
84
|
+
"stdioNotAvailable": "Chế độ STDIO chỉ khả dụng trên phiên bản desktop",
|
85
|
+
"stdioShortDesc": "Giao thức truyền thông dựa trên đầu vào và đầu ra tiêu chuẩn",
|
86
|
+
"title": "Loại plugin MCP"
|
73
87
|
},
|
74
88
|
"url": {
|
75
|
-
"desc": "Nhập địa chỉ
|
76
|
-
"
|
89
|
+
"desc": "Nhập địa chỉ HTTP Streamable của máy chủ MCP của bạn, không kết thúc bằng /sse",
|
90
|
+
"invalid": "Vui lòng nhập địa chỉ URL hợp lệ",
|
91
|
+
"label": "URL Điểm cuối HTTP",
|
92
|
+
"required": "Vui lòng nhập URL dịch vụ MCP"
|
77
93
|
}
|
78
94
|
},
|
79
95
|
"meta": {
|
@@ -101,12 +117,14 @@
|
|
101
117
|
"label": "Định danh",
|
102
118
|
"pattenErrorMessage": "Chỉ có thể nhập ký tự tiếng Anh, số, - và _"
|
103
119
|
},
|
120
|
+
"lobe": "Plugin {{appName}}",
|
104
121
|
"manifest": {
|
105
122
|
"desc": "{{appName}} sẽ cài đặt plugin qua liên kết này",
|
106
123
|
"label": "Tệp mô tả plugin (Manifest) URL",
|
107
124
|
"preview": "Xem trước Manifest",
|
108
125
|
"refresh": "Làm mới"
|
109
126
|
},
|
127
|
+
"openai": "Plugin OpenAI",
|
110
128
|
"title": {
|
111
129
|
"desc": "Tiêu đề plugin",
|
112
130
|
"label": "Tiêu đề",
|
@@ -148,6 +166,7 @@
|
|
148
166
|
"noManifest": "Tệp mô tả không tồn tại",
|
149
167
|
"openAPIInvalid": "OpenAPI phân tích thất bại, lỗi: \n\n {{error}}",
|
150
168
|
"reinstallError": "Làm mới plugin {{name}} thất bại",
|
169
|
+
"testConnectionFailed": "Lấy Manifest thất bại: {{error}}",
|
151
170
|
"urlError": "Liên kết này không trả về nội dung dạng JSON, vui lòng đảm bảo rằng đó là một liên kết hợp lệ"
|
152
171
|
},
|
153
172
|
"inspector": {
|
@@ -226,5 +245,6 @@
|
|
226
245
|
},
|
227
246
|
"title": "Cửa hàng plugin"
|
228
247
|
},
|
248
|
+
"unknownError": "Lỗi không xác định",
|
229
249
|
"unknownPlugin": "Plugin không xác định"
|
230
250
|
}
|
@@ -17,16 +17,52 @@
|
|
17
17
|
"statusDisconnected": "未连接",
|
18
18
|
"urlRequired": "请输入服务器地址"
|
19
19
|
},
|
20
|
+
"sync": {
|
21
|
+
"continue": "继续",
|
22
|
+
"inCloud": "当前使用云端同步",
|
23
|
+
"inLocalStorage": "当前使用本地存储",
|
24
|
+
"isIniting": "正在初始化...",
|
25
|
+
"lobehubCloud": {
|
26
|
+
"description": "官方提供的云版本",
|
27
|
+
"title": "LobeHub Cloud"
|
28
|
+
},
|
29
|
+
"local": {
|
30
|
+
"description": "使用本地数据库,完全离线可用",
|
31
|
+
"title": "本地数据库"
|
32
|
+
},
|
33
|
+
"mode": {
|
34
|
+
"cloudSync": "云端同步",
|
35
|
+
"localStorage": "本地存储",
|
36
|
+
"title": "选择你的连接模式",
|
37
|
+
"useSelfHosted": "使用自托管实例?"
|
38
|
+
},
|
39
|
+
"selfHosted": {
|
40
|
+
"description": "自行部署的社区版本",
|
41
|
+
"title": "自托管实例"
|
42
|
+
}
|
43
|
+
},
|
20
44
|
"updater": {
|
45
|
+
"checkingUpdate": "检查新版本",
|
46
|
+
"checkingUpdateDesc": "正在获取版本信息...",
|
47
|
+
"downloadNewVersion": "下载新版本",
|
21
48
|
"downloadingUpdate": "正在下载更新",
|
22
49
|
"downloadingUpdateDesc": "更新正在下载中,请稍候...",
|
50
|
+
"installLater": "下次启动时更新",
|
51
|
+
"isLatestVersion": "当前已是最新版本",
|
52
|
+
"isLatestVersionDesc": "非常棒,使用的版本 {{version}} 已是最前沿的版本。",
|
23
53
|
"later": "稍后更新",
|
24
54
|
"newVersionAvailable": "新版本可用",
|
25
55
|
"newVersionAvailableDesc": "发现新版本 {{version}},是否立即下载?",
|
26
|
-
"restartAndInstall": "
|
56
|
+
"restartAndInstall": "安装更新并重启",
|
27
57
|
"updateError": "更新错误",
|
28
58
|
"updateReady": "更新已就绪",
|
29
|
-
"updateReadyDesc": "
|
59
|
+
"updateReadyDesc": "新版本 {{version}} 已下载完成,重启应用后即可完成安装。",
|
30
60
|
"upgradeNow": "立即更新"
|
61
|
+
},
|
62
|
+
"waitingOAuth": {
|
63
|
+
"cancel": "取消",
|
64
|
+
"description": "浏览器已打开授权页面,请在浏览器中完成授权",
|
65
|
+
"helpText": "如果浏览器没有自动打开,请点击取消后重新尝试",
|
66
|
+
"title": "等待授权连接"
|
31
67
|
}
|
32
68
|
}
|