@lobehub/chat 1.109.1 → 1.110.1
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/i18n.mdc +1 -2
- package/CHANGELOG.md +50 -0
- package/README.md +1 -1
- package/README.zh-CN.md +1 -1
- package/apps/desktop/electron-builder.js +22 -0
- package/apps/desktop/src/main/controllers/McpInstallCtr.ts +153 -0
- package/apps/desktop/src/main/controllers/index.ts +19 -0
- package/apps/desktop/src/main/core/App.ts +46 -0
- package/apps/desktop/src/main/core/infrastructure/IoCContainer.ts +4 -0
- package/apps/desktop/src/main/core/infrastructure/ProtocolManager.ts +256 -0
- package/apps/desktop/src/main/types/protocol.ts +60 -0
- package/apps/desktop/src/main/utils/__tests__/protocol.test.ts +203 -0
- package/apps/desktop/src/main/utils/protocol.ts +210 -0
- package/changelog/v1.json +18 -0
- package/locales/ar/plugin.json +196 -136
- package/locales/bg-BG/plugin.json +204 -144
- package/locales/de-DE/plugin.json +176 -116
- package/locales/en-US/plugin.json +192 -132
- package/locales/es-ES/plugin.json +203 -143
- package/locales/fa-IR/plugin.json +155 -95
- package/locales/fr-FR/plugin.json +161 -101
- package/locales/it-IT/plugin.json +193 -133
- package/locales/ja-JP/plugin.json +195 -135
- package/locales/ko-KR/plugin.json +163 -103
- package/locales/nl-NL/plugin.json +211 -151
- package/locales/pl-PL/plugin.json +171 -111
- package/locales/pt-BR/plugin.json +180 -120
- package/locales/ru-RU/plugin.json +191 -131
- package/locales/tr-TR/plugin.json +187 -127
- package/locales/vi-VN/plugin.json +152 -92
- package/locales/zh-CN/plugin.json +60 -0
- package/locales/zh-TW/plugin.json +157 -97
- package/package.json +2 -1
- package/packages/electron-client-ipc/src/events/index.ts +5 -2
- package/packages/electron-client-ipc/src/events/protocol.ts +29 -0
- package/packages/electron-client-ipc/src/types/index.ts +1 -0
- package/packages/electron-client-ipc/src/types/mcpInstall.ts +19 -0
- package/packages/types/src/plugins/mcp.ts +38 -1
- package/packages/types/src/plugins/protocol.ts +166 -0
- package/src/app/[variants]/(main)/chat/_layout/Desktop/index.tsx +4 -1
- package/src/app/[variants]/(main)/discover/(detail)/mcp/[slug]/features/Sidebar/ActionButton/index.tsx +1 -2
- package/src/components/KeyValueEditor/index.tsx +4 -2
- package/src/features/ChatItem/index.tsx +25 -2
- package/src/features/MCP/MCPInstallProgress/index.tsx +1 -1
- package/src/features/PluginDevModal/MCPManifestForm/index.tsx +30 -36
- package/src/features/PluginStore/McpList/List/Item.tsx +1 -1
- package/src/features/ProtocolUrlHandler/InstallPlugin/ConfigDisplay.tsx +211 -0
- package/src/features/ProtocolUrlHandler/InstallPlugin/CustomPluginInstallModal.tsx +228 -0
- package/src/features/ProtocolUrlHandler/InstallPlugin/OfficialPluginInstallModal/Detail.tsx +44 -0
- package/src/features/ProtocolUrlHandler/InstallPlugin/OfficialPluginInstallModal/index.tsx +105 -0
- package/src/features/ProtocolUrlHandler/InstallPlugin/index.tsx +55 -0
- package/src/features/ProtocolUrlHandler/InstallPlugin/types.ts +45 -0
- package/src/features/ProtocolUrlHandler/index.tsx +30 -0
- package/src/locales/default/plugin.ts +60 -0
- package/src/store/tool/slices/mcpStore/action.ts +127 -1
- package/src/store/tool/slices/mcpStore/initialState.ts +8 -13
- package/src/store/tool/slices/mcpStore/selectors.ts +13 -0
@@ -1,19 +1,19 @@
|
|
1
1
|
{
|
2
2
|
"confirm": "Confirm",
|
3
3
|
"debug": {
|
4
|
-
"arguments": "Arguments",
|
4
|
+
"arguments": "Call Arguments",
|
5
5
|
"function_call": "Function Call",
|
6
|
-
"off": "Turn
|
7
|
-
"on": "View
|
8
|
-
"payload": "
|
6
|
+
"off": "Turn Off Debug",
|
7
|
+
"on": "View Plugin Call Info",
|
8
|
+
"payload": "Plugin Payload",
|
9
9
|
"pluginState": "Plugin State",
|
10
10
|
"response": "Response",
|
11
11
|
"title": "Plugin Details",
|
12
|
-
"tool_call": "
|
12
|
+
"tool_call": "Tool Call Request"
|
13
13
|
},
|
14
14
|
"detailModal": {
|
15
15
|
"customPlugin": {
|
16
|
-
"description": "Please
|
16
|
+
"description": "Please go to the edit page to view details",
|
17
17
|
"editBtn": "Edit Now",
|
18
18
|
"title": "This is a Custom Plugin"
|
19
19
|
},
|
@@ -33,16 +33,16 @@
|
|
33
33
|
"title": "Plugin Details"
|
34
34
|
},
|
35
35
|
"dev": {
|
36
|
-
"confirmDeleteDevPlugin": "
|
36
|
+
"confirmDeleteDevPlugin": "This local plugin will be deleted and cannot be recovered. Do you want to delete this plugin?",
|
37
37
|
"customParams": {
|
38
38
|
"useProxy": {
|
39
|
-
"label": "Install via
|
39
|
+
"label": "Install via Proxy (If you encounter cross-origin access errors, try enabling this option and reinstalling)"
|
40
40
|
}
|
41
41
|
},
|
42
42
|
"deleteSuccess": "Plugin deleted successfully",
|
43
43
|
"manifest": {
|
44
44
|
"identifier": {
|
45
|
-
"desc": "
|
45
|
+
"desc": "Unique identifier of the plugin",
|
46
46
|
"label": "Identifier"
|
47
47
|
},
|
48
48
|
"mode": {
|
@@ -51,7 +51,7 @@
|
|
51
51
|
"url": "Online Link"
|
52
52
|
},
|
53
53
|
"name": {
|
54
|
-
"desc": "
|
54
|
+
"desc": "Plugin title",
|
55
55
|
"label": "Title",
|
56
56
|
"placeholder": "Search Engine"
|
57
57
|
}
|
@@ -61,50 +61,50 @@
|
|
61
61
|
"title": "Advanced Settings"
|
62
62
|
},
|
63
63
|
"args": {
|
64
|
-
"desc": "
|
65
|
-
"label": "Command
|
66
|
-
"placeholder": "
|
67
|
-
"required": "Please enter
|
64
|
+
"desc": "List of parameters passed to the execution command, usually the MCP server name or startup script path",
|
65
|
+
"label": "Command Arguments",
|
66
|
+
"placeholder": "e.g., mcp-hello-world",
|
67
|
+
"required": "Please enter startup parameters"
|
68
68
|
},
|
69
69
|
"auth": {
|
70
70
|
"bear": "API Key",
|
71
71
|
"desc": "Select the authentication method for the MCP server",
|
72
72
|
"label": "Authentication Type",
|
73
73
|
"none": "No Authentication Required",
|
74
|
-
"placeholder": "Please select
|
74
|
+
"placeholder": "Please select authentication type",
|
75
75
|
"token": {
|
76
76
|
"desc": "Enter your API Key or Bearer Token",
|
77
77
|
"label": "API Key",
|
78
78
|
"placeholder": "sk-xxxxx",
|
79
|
-
"required": "Please enter
|
79
|
+
"required": "Please enter authentication token"
|
80
80
|
}
|
81
81
|
},
|
82
82
|
"avatar": {
|
83
83
|
"label": "Plugin Icon"
|
84
84
|
},
|
85
85
|
"command": {
|
86
|
-
"desc": "
|
86
|
+
"desc": "Executable file or script used to start the MCP STDIO Server",
|
87
87
|
"label": "Command",
|
88
|
-
"placeholder": "
|
89
|
-
"required": "Please enter
|
88
|
+
"placeholder": "e.g., npx / uv / docker etc.",
|
89
|
+
"required": "Please enter startup command"
|
90
90
|
},
|
91
91
|
"desc": {
|
92
92
|
"desc": "Add a description for the plugin",
|
93
93
|
"label": "Plugin Description",
|
94
|
-
"placeholder": "
|
94
|
+
"placeholder": "Supplement usage instructions and scenarios for this plugin"
|
95
95
|
},
|
96
96
|
"endpoint": {
|
97
97
|
"desc": "Enter the address of your MCP Streamable HTTP Server",
|
98
98
|
"label": "MCP Endpoint URL"
|
99
99
|
},
|
100
100
|
"env": {
|
101
|
-
"add": "Add a
|
102
|
-
"desc": "Enter
|
101
|
+
"add": "Add a Row",
|
102
|
+
"desc": "Enter environment variables required by your MCP Server",
|
103
103
|
"duplicateKeyError": "Field keys must be unique",
|
104
|
-
"formValidationFailed": "Form validation failed, please check
|
104
|
+
"formValidationFailed": "Form validation failed, please check parameter format",
|
105
105
|
"keyRequired": "Field key cannot be empty",
|
106
106
|
"label": "MCP Server Environment Variables",
|
107
|
-
"stringifyError": "Unable to serialize parameters, please check
|
107
|
+
"stringifyError": "Unable to serialize parameters, please check parameter format"
|
108
108
|
},
|
109
109
|
"headers": {
|
110
110
|
"add": "Add a Row",
|
@@ -112,230 +112,290 @@
|
|
112
112
|
"label": "HTTP Headers"
|
113
113
|
},
|
114
114
|
"identifier": {
|
115
|
-
"desc": "Specify a name for your MCP plugin,
|
116
|
-
"invalid": "
|
115
|
+
"desc": "Specify a name for your MCP plugin, must use English characters",
|
116
|
+
"invalid": "Identifier can only contain letters, numbers, hyphens, and underscores",
|
117
117
|
"label": "MCP Plugin Name",
|
118
118
|
"placeholder": "e.g., my-mcp-plugin",
|
119
|
-
"required": "Please enter
|
119
|
+
"required": "Please enter MCP service identifier"
|
120
120
|
},
|
121
|
-
"previewManifest": "Preview Plugin
|
121
|
+
"previewManifest": "Preview Plugin Manifest",
|
122
122
|
"quickImport": "Quick Import JSON Configuration",
|
123
123
|
"quickImportError": {
|
124
|
-
"empty": "Input cannot be empty",
|
124
|
+
"empty": "Input content cannot be empty",
|
125
125
|
"invalidJson": "Invalid JSON format",
|
126
126
|
"invalidStructure": "Invalid JSON structure"
|
127
127
|
},
|
128
|
-
"stdioNotSupported": "
|
128
|
+
"stdioNotSupported": "Current environment does not support stdio type MCP plugins",
|
129
129
|
"testConnection": "Test Connection",
|
130
|
-
"testConnectionTip": "
|
130
|
+
"testConnectionTip": "MCP plugin can only be used normally after successful connection test",
|
131
131
|
"type": {
|
132
|
-
"desc": "Select
|
133
|
-
"httpFeature1": "Compatible with
|
134
|
-
"httpFeature2": "Connect to
|
135
|
-
"httpShortDesc": "
|
132
|
+
"desc": "Select MCP plugin communication method, web version only supports Streamable HTTP",
|
133
|
+
"httpFeature1": "Compatible with web and desktop versions",
|
134
|
+
"httpFeature2": "Connect to remote MCP server without extra installation or configuration",
|
135
|
+
"httpShortDesc": "Streamable HTTP based communication protocol",
|
136
136
|
"label": "MCP Plugin Type",
|
137
137
|
"stdioFeature1": "Lower communication latency, suitable for local execution",
|
138
|
-
"stdioFeature2": "Requires local installation and running of
|
139
|
-
"stdioNotAvailable": "STDIO mode is only available in
|
140
|
-
"stdioShortDesc": "
|
138
|
+
"stdioFeature2": "Requires local installation and running of MCP server",
|
139
|
+
"stdioNotAvailable": "STDIO mode is only available in desktop version",
|
140
|
+
"stdioShortDesc": "Communication protocol based on standard input/output",
|
141
141
|
"title": "MCP Plugin Type"
|
142
142
|
},
|
143
143
|
"url": {
|
144
|
-
"desc": "Enter your MCP Server Streamable HTTP address, SSE mode
|
144
|
+
"desc": "Enter your MCP Server Streamable HTTP address, SSE mode not supported",
|
145
145
|
"invalid": "Please enter a valid URL",
|
146
|
-
"label": "HTTP Endpoint URL",
|
147
|
-
"required": "Please enter
|
146
|
+
"label": "Streamable HTTP Endpoint URL",
|
147
|
+
"required": "Please enter MCP service URL"
|
148
148
|
}
|
149
149
|
},
|
150
150
|
"meta": {
|
151
151
|
"author": {
|
152
|
-
"desc": "
|
152
|
+
"desc": "Author of the plugin",
|
153
153
|
"label": "Author"
|
154
154
|
},
|
155
155
|
"avatar": {
|
156
|
-
"desc": "
|
156
|
+
"desc": "Plugin icon, can use Emoji or URL",
|
157
157
|
"label": "Icon"
|
158
158
|
},
|
159
159
|
"description": {
|
160
|
-
"desc": "
|
160
|
+
"desc": "Plugin description",
|
161
161
|
"label": "Description",
|
162
|
-
"placeholder": "
|
162
|
+
"placeholder": "Search search engines for information"
|
163
163
|
},
|
164
164
|
"formFieldRequired": "This field is required",
|
165
165
|
"homepage": {
|
166
|
-
"desc": "
|
166
|
+
"desc": "Plugin homepage",
|
167
167
|
"label": "Homepage"
|
168
168
|
},
|
169
169
|
"identifier": {
|
170
|
-
"desc": "
|
171
|
-
"errorDuplicate": "
|
170
|
+
"desc": "Unique identifier of the plugin, automatically recognized from manifest",
|
171
|
+
"errorDuplicate": "Identifier duplicates an existing plugin, please modify the identifier",
|
172
172
|
"label": "Identifier",
|
173
|
-
"pattenErrorMessage": "Only
|
173
|
+
"pattenErrorMessage": "Only English letters, numbers, - and _ are allowed"
|
174
174
|
},
|
175
175
|
"lobe": "{{appName}} Plugin",
|
176
176
|
"manifest": {
|
177
|
-
"desc": "{{appName}} will install the plugin
|
178
|
-
"label": "Plugin
|
177
|
+
"desc": "{{appName}} will install the plugin via this link",
|
178
|
+
"label": "Plugin Manifest URL",
|
179
179
|
"preview": "Preview Manifest",
|
180
180
|
"refresh": "Refresh"
|
181
181
|
},
|
182
182
|
"openai": "OpenAI Plugin",
|
183
183
|
"title": {
|
184
|
-
"desc": "
|
184
|
+
"desc": "Plugin title",
|
185
185
|
"label": "Title",
|
186
186
|
"placeholder": "Search Engine"
|
187
187
|
}
|
188
188
|
},
|
189
|
-
"metaConfig": "Plugin
|
190
|
-
"modalDesc": "After adding a custom plugin, it can be used for plugin development verification or directly in
|
189
|
+
"metaConfig": "Plugin Meta Information Configuration",
|
190
|
+
"modalDesc": "After adding a custom plugin, it can be used for plugin development verification or directly in conversations. For plugin development, please refer to the <1>Development Documentation↗</>.",
|
191
191
|
"openai": {
|
192
|
-
"importUrl": "Import from URL
|
192
|
+
"importUrl": "Import from URL",
|
193
193
|
"schema": "Schema"
|
194
194
|
},
|
195
195
|
"preview": {
|
196
196
|
"api": {
|
197
197
|
"noParams": "This tool has no parameters",
|
198
|
-
"noResults": "No APIs
|
198
|
+
"noResults": "No APIs matching the search criteria found",
|
199
199
|
"params": "Parameters:",
|
200
200
|
"searchPlaceholder": "Search tools..."
|
201
201
|
},
|
202
|
-
"card": "Preview
|
203
|
-
"desc": "Preview
|
202
|
+
"card": "Preview Plugin Display",
|
203
|
+
"desc": "Preview Plugin Description",
|
204
204
|
"empty": {
|
205
|
-
"desc": "
|
206
|
-
"title": "Start
|
205
|
+
"desc": "After configuration, you can preview the supported tool capabilities here",
|
206
|
+
"title": "Start Preview After Configuring Plugin"
|
207
207
|
},
|
208
208
|
"title": "Plugin Name Preview"
|
209
209
|
},
|
210
210
|
"save": "Install Plugin",
|
211
211
|
"saveSuccess": "Plugin settings saved successfully",
|
212
212
|
"tabs": {
|
213
|
-
"manifest": "
|
214
|
-
"meta": "Plugin
|
213
|
+
"manifest": "Feature Manifest",
|
214
|
+
"meta": "Plugin Meta Information"
|
215
215
|
},
|
216
216
|
"title": {
|
217
217
|
"create": "Add Custom Plugin",
|
218
218
|
"edit": "Edit Custom Plugin"
|
219
219
|
},
|
220
220
|
"type": {
|
221
|
-
"lobe": "
|
221
|
+
"lobe": "{{appName}} Plugin",
|
222
222
|
"openai": "OpenAI Plugin"
|
223
223
|
},
|
224
224
|
"update": "Update",
|
225
225
|
"updateSuccess": "Plugin settings updated successfully"
|
226
226
|
},
|
227
227
|
"error": {
|
228
|
-
"fetchError": "Failed to
|
228
|
+
"fetchError": "Failed to request the manifest link, please ensure the link is valid and allows cross-origin access",
|
229
229
|
"installError": "Plugin {{name}} installation failed",
|
230
|
-
"manifestInvalid": "
|
230
|
+
"manifestInvalid": "Manifest does not comply with specifications, validation result: \n\n {{error}}",
|
231
231
|
"noManifest": "Manifest file does not exist",
|
232
|
-
"openAPIInvalid": "OpenAPI parsing failed
|
233
|
-
"reinstallError": "
|
234
|
-
"testConnectionFailed": "Failed to
|
235
|
-
"urlError": "The link did not return
|
232
|
+
"openAPIInvalid": "OpenAPI parsing failed, error: \n\n {{error}}",
|
233
|
+
"reinstallError": "Plugin {{name}} refresh failed",
|
234
|
+
"testConnectionFailed": "Failed to get Manifest: {{error}}",
|
235
|
+
"urlError": "The link did not return JSON content, please ensure it is a valid link"
|
236
236
|
},
|
237
237
|
"inspector": {
|
238
|
-
"args": "View
|
239
|
-
"pluginRender": "View
|
238
|
+
"args": "View Argument List",
|
239
|
+
"pluginRender": "View Plugin Interface"
|
240
240
|
},
|
241
241
|
"list": {
|
242
242
|
"item": {
|
243
243
|
"deprecated.title": "Deleted",
|
244
244
|
"local.config": "Configuration",
|
245
|
-
"local.title": "
|
245
|
+
"local.title": "Custom"
|
246
246
|
}
|
247
247
|
},
|
248
248
|
"loading": {
|
249
249
|
"content": "Calling plugin...",
|
250
|
-
"plugin": "Plugin
|
250
|
+
"plugin": "Plugin running..."
|
251
251
|
},
|
252
252
|
"localSystem": {
|
253
253
|
"apiName": {
|
254
254
|
"listLocalFiles": "View File List",
|
255
|
-
"moveLocalFiles": "Move
|
255
|
+
"moveLocalFiles": "Move Files",
|
256
256
|
"readLocalFile": "Read File Content",
|
257
257
|
"renameLocalFile": "Rename",
|
258
258
|
"searchLocalFiles": "Search Files",
|
259
|
-
"writeLocalFile": "Write
|
259
|
+
"writeLocalFile": "Write File"
|
260
260
|
},
|
261
261
|
"title": "Local Files"
|
262
262
|
},
|
263
263
|
"mcpInstall": {
|
264
264
|
"CHECKING_INSTALLATION": "Checking installation environment...",
|
265
265
|
"COMPLETED": "Installation completed",
|
266
|
-
"CONFIGURATION_REQUIRED": "Please complete the
|
266
|
+
"CONFIGURATION_REQUIRED": "Please complete the relevant configuration before continuing installation",
|
267
267
|
"ERROR": "Installation error",
|
268
268
|
"FETCHING_MANIFEST": "Fetching plugin manifest...",
|
269
269
|
"GETTING_SERVER_MANIFEST": "Initializing MCP server...",
|
270
270
|
"INSTALLING_PLUGIN": "Installing plugin...",
|
271
|
-
"configurationDescription": "This MCP plugin requires configuration parameters to function properly
|
272
|
-
"configurationRequired": "Configure
|
273
|
-
"continueInstall": "Continue
|
274
|
-
"dependenciesDescription": "This plugin requires the following system dependencies to work properly. Please install the missing dependencies as instructed, then click recheck to continue
|
271
|
+
"configurationDescription": "This MCP plugin requires configuration parameters to function properly, please fill in the necessary information",
|
272
|
+
"configurationRequired": "Configure Plugin Parameters",
|
273
|
+
"continueInstall": "Continue Installation",
|
274
|
+
"dependenciesDescription": "This plugin requires the following system dependencies to work properly. Please install the missing dependencies as instructed, then click recheck to continue installation.",
|
275
275
|
"dependenciesRequired": "Please install the plugin's system dependencies",
|
276
276
|
"dependencyStatus": {
|
277
277
|
"installed": "Installed",
|
278
|
-
"notInstalled": "Not
|
279
|
-
"requiredVersion": "Required
|
278
|
+
"notInstalled": "Not Installed",
|
279
|
+
"requiredVersion": "Required Version: {{version}}"
|
280
280
|
},
|
281
281
|
"errorDetails": {
|
282
282
|
"args": "Arguments",
|
283
283
|
"command": "Command",
|
284
|
-
"connectionParams": "Connection
|
285
|
-
"env": "Environment
|
286
|
-
"errorOutput": "Error
|
287
|
-
"exitCode": "Exit
|
288
|
-
"hideDetails": "Hide
|
289
|
-
"originalError": "Original
|
290
|
-
"showDetails": "Show
|
284
|
+
"connectionParams": "Connection Parameters",
|
285
|
+
"env": "Environment Variables",
|
286
|
+
"errorOutput": "Error Log",
|
287
|
+
"exitCode": "Exit Code",
|
288
|
+
"hideDetails": "Hide Details",
|
289
|
+
"originalError": "Original Error",
|
290
|
+
"showDetails": "Show Details"
|
291
291
|
},
|
292
292
|
"errorTypes": {
|
293
|
-
"AUTHORIZATION_ERROR": "Authorization
|
294
|
-
"CONNECTION_FAILED": "Connection
|
295
|
-
"INITIALIZATION_TIMEOUT": "Initialization
|
296
|
-
"PROCESS_SPAWN_ERROR": "Process
|
297
|
-
"UNKNOWN_ERROR": "Unknown
|
298
|
-
"VALIDATION_ERROR": "Parameter
|
299
|
-
},
|
300
|
-
"installError": "MCP plugin installation failed
|
293
|
+
"AUTHORIZATION_ERROR": "Authorization Error",
|
294
|
+
"CONNECTION_FAILED": "Connection Failed",
|
295
|
+
"INITIALIZATION_TIMEOUT": "Initialization Timeout",
|
296
|
+
"PROCESS_SPAWN_ERROR": "Process Spawn Failed",
|
297
|
+
"UNKNOWN_ERROR": "Unknown Error",
|
298
|
+
"VALIDATION_ERROR": "Parameter Validation Failed"
|
299
|
+
},
|
300
|
+
"installError": "MCP plugin installation failed, reason: {{detail}}",
|
301
301
|
"installMethods": {
|
302
|
-
"manual": "Manual
|
303
|
-
"recommended": "Recommended
|
302
|
+
"manual": "Manual Installation:",
|
303
|
+
"recommended": "Recommended Installation Method:"
|
304
304
|
},
|
305
305
|
"recheckDependencies": "Recheck",
|
306
|
-
"skipDependencies": "Skip
|
306
|
+
"skipDependencies": "Skip Check"
|
307
307
|
},
|
308
308
|
"pluginList": "Plugin List",
|
309
|
+
"protocolInstall": {
|
310
|
+
"actions": {
|
311
|
+
"install": "Install",
|
312
|
+
"installAnyway": "Install Anyway",
|
313
|
+
"installed": "Installed"
|
314
|
+
},
|
315
|
+
"config": {
|
316
|
+
"args": "Arguments",
|
317
|
+
"command": "Command",
|
318
|
+
"env": "Environment Variables",
|
319
|
+
"headers": "Request Headers",
|
320
|
+
"title": "Configuration Information",
|
321
|
+
"type": {
|
322
|
+
"http": "Type: HTTP",
|
323
|
+
"label": "Type",
|
324
|
+
"stdio": "Type: Stdio"
|
325
|
+
},
|
326
|
+
"url": "Service Address"
|
327
|
+
},
|
328
|
+
"custom": {
|
329
|
+
"badge": "Custom Plugin",
|
330
|
+
"security": {
|
331
|
+
"description": "This plugin is not officially verified, installation may pose security risks! Please ensure you trust the plugin source.",
|
332
|
+
"title": "⚠️ Security Risk Warning"
|
333
|
+
},
|
334
|
+
"title": "Install Custom Plugin"
|
335
|
+
},
|
336
|
+
"marketplace": {
|
337
|
+
"title": "Install Third-Party Plugin",
|
338
|
+
"trustedBy": "Provided by {{name}}",
|
339
|
+
"unverified": {
|
340
|
+
"title": "Unverified Third-Party Plugin",
|
341
|
+
"warning": "This plugin comes from an unverified third-party marketplace. Please confirm you trust the source before installation."
|
342
|
+
},
|
343
|
+
"verified": "Verified"
|
344
|
+
},
|
345
|
+
"messages": {
|
346
|
+
"connectionTestFailed": "Connection test failed",
|
347
|
+
"installError": "Plugin installation failed, please try again",
|
348
|
+
"installSuccess": "Plugin {{name}} installed successfully!",
|
349
|
+
"manifestError": "Failed to get plugin details, please check network connection and try again",
|
350
|
+
"manifestNotFound": "Failed to retrieve plugin manifest"
|
351
|
+
},
|
352
|
+
"meta": {
|
353
|
+
"author": "Author",
|
354
|
+
"homepage": "Homepage",
|
355
|
+
"identifier": "Identifier",
|
356
|
+
"source": "Source",
|
357
|
+
"version": "Version"
|
358
|
+
},
|
359
|
+
"official": {
|
360
|
+
"badge": "LobeHub Official Plugin",
|
361
|
+
"description": "This plugin is developed and maintained by LobeHub official team, has undergone strict security review, safe to use.",
|
362
|
+
"loadingMessage": "Fetching plugin details...",
|
363
|
+
"loadingTitle": "Loading",
|
364
|
+
"title": "Install Official Plugin"
|
365
|
+
},
|
366
|
+
"title": "Install MCP Plugin",
|
367
|
+
"warning": "⚠️ Please confirm you trust the source of this plugin. Malicious plugins may harm your system security."
|
368
|
+
},
|
309
369
|
"search": {
|
310
370
|
"apiName": {
|
311
|
-
"crawlMultiPages": "Read
|
371
|
+
"crawlMultiPages": "Read Multiple Pages Content",
|
312
372
|
"crawlSinglePage": "Read Page Content",
|
313
|
-
"search": "Search
|
373
|
+
"search": "Search Pages"
|
314
374
|
},
|
315
375
|
"config": {
|
316
376
|
"addKey": "Add Key",
|
317
377
|
"close": "Delete",
|
318
|
-
"confirm": "Configuration
|
378
|
+
"confirm": "Configuration Completed and Retry"
|
319
379
|
},
|
320
380
|
"crawPages": {
|
321
|
-
"crawling": "
|
381
|
+
"crawling": "Link Recognition in Progress",
|
322
382
|
"detail": {
|
323
383
|
"preview": "Preview",
|
324
|
-
"raw": "Raw
|
325
|
-
"tooLong": "
|
384
|
+
"raw": "Raw Text",
|
385
|
+
"tooLong": "Text content is too long, only the first {{characters}} characters are kept in the conversation context, the rest are excluded"
|
326
386
|
},
|
327
387
|
"meta": {
|
328
388
|
"crawler": "Crawling Mode",
|
329
|
-
"words": "Character
|
389
|
+
"words": "Character Count"
|
330
390
|
}
|
331
391
|
},
|
332
392
|
"searchxng": {
|
333
393
|
"baseURL": "Please enter",
|
334
|
-
"description": "Enter the URL
|
394
|
+
"description": "Enter the URL of SearchXNG to start online search",
|
335
395
|
"keyPlaceholder": "Please enter key",
|
336
396
|
"title": "Configure SearchXNG Search Engine",
|
337
|
-
"unconfiguredDesc": "Please contact
|
338
|
-
"unconfiguredTitle": "SearchXNG
|
397
|
+
"unconfiguredDesc": "Please contact administrator to complete SearchXNG search engine configuration to start online search",
|
398
|
+
"unconfiguredTitle": "SearchXNG Search Engine Not Configured"
|
339
399
|
},
|
340
400
|
"title": "Online Search"
|
341
401
|
},
|
@@ -351,18 +411,18 @@
|
|
351
411
|
"title": "Plugin Configuration"
|
352
412
|
},
|
353
413
|
"connection": {
|
354
|
-
"args": "Startup
|
355
|
-
"command": "Startup
|
414
|
+
"args": "Startup Arguments",
|
415
|
+
"command": "Startup Command",
|
356
416
|
"title": "Connection Information",
|
357
|
-
"type": "Connection
|
358
|
-
"url": "Service
|
417
|
+
"type": "Connection Type",
|
418
|
+
"url": "Service Address"
|
359
419
|
},
|
360
420
|
"edit": "Edit",
|
361
|
-
"envConfigDescription": "These configurations will be passed as environment variables to the
|
362
|
-
"httpTypeNotice": "
|
421
|
+
"envConfigDescription": "These configurations will be passed as environment variables to the MCP server process at startup",
|
422
|
+
"httpTypeNotice": "HTTP type MCP plugins currently have no environment variables to configure",
|
363
423
|
"indexUrl": {
|
364
424
|
"title": "Marketplace Index",
|
365
|
-
"tooltip": "
|
425
|
+
"tooltip": "Online editing is not supported yet, please set via environment variables during deployment"
|
366
426
|
},
|
367
427
|
"messages": {
|
368
428
|
"connectionUpdateFailed": "Failed to update connection information",
|
@@ -370,34 +430,34 @@
|
|
370
430
|
"envUpdateFailed": "Failed to save environment variables",
|
371
431
|
"envUpdateSuccess": "Environment variables saved successfully"
|
372
432
|
},
|
373
|
-
"modalDesc": "After configuring the
|
433
|
+
"modalDesc": "After configuring the plugin marketplace address, you can use a custom plugin marketplace",
|
374
434
|
"rules": {
|
375
435
|
"argsRequired": "Please enter startup arguments",
|
376
|
-
"commandRequired": "Please enter
|
377
|
-
"urlRequired": "Please enter
|
436
|
+
"commandRequired": "Please enter startup command",
|
437
|
+
"urlRequired": "Please enter service address"
|
378
438
|
},
|
379
|
-
"saveSettings": "Save
|
439
|
+
"saveSettings": "Save Settings",
|
380
440
|
"title": "Configure Plugin Marketplace"
|
381
441
|
},
|
382
|
-
"showInPortal": "Please
|
442
|
+
"showInPortal": "Please view details in the workspace",
|
383
443
|
"store": {
|
384
444
|
"actions": {
|
385
|
-
"cancel": "Cancel
|
386
|
-
"confirmUninstall": "
|
445
|
+
"cancel": "Cancel Installation",
|
446
|
+
"confirmUninstall": "This plugin will be uninstalled and its configuration cleared. Please confirm your action.",
|
387
447
|
"detail": "Details",
|
388
448
|
"install": "Install",
|
389
449
|
"manifest": "Edit Installation File",
|
390
450
|
"settings": "Settings",
|
391
451
|
"uninstall": "Uninstall"
|
392
452
|
},
|
393
|
-
"communityPlugin": "Third-
|
394
|
-
"customPlugin": "Custom
|
395
|
-
"empty": "No installed plugins
|
453
|
+
"communityPlugin": "Third-Party Community",
|
454
|
+
"customPlugin": "Custom",
|
455
|
+
"empty": "No installed plugins",
|
396
456
|
"emptySelectHint": "Select a plugin to preview detailed information",
|
397
457
|
"installAllPlugins": "Install All",
|
398
|
-
"networkError": "Failed to fetch plugin store
|
399
|
-
"placeholder": "Search
|
400
|
-
"releasedAt": "Released
|
458
|
+
"networkError": "Failed to fetch plugin store, please check network connection and try again",
|
459
|
+
"placeholder": "Search plugin name, description or keywords...",
|
460
|
+
"releasedAt": "Released on {{createdAt}}",
|
401
461
|
"tabs": {
|
402
462
|
"installed": "Installed",
|
403
463
|
"mcp": "MCP Plugins",
|
@@ -405,6 +465,6 @@
|
|
405
465
|
},
|
406
466
|
"title": "Plugin Store"
|
407
467
|
},
|
408
|
-
"unknownError": "Unknown
|
409
|
-
"unknownPlugin": "Unknown
|
468
|
+
"unknownError": "Unknown Error",
|
469
|
+
"unknownPlugin": "Unknown Plugin"
|
410
470
|
}
|