@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.
Files changed (102) hide show
  1. package/.cursor/rules/desktop-local-tools-implement.mdc +80 -0
  2. package/.env.desktop +2 -1
  3. package/.github/scripts/pr-comment.js +4 -9
  4. package/CHANGELOG.md +51 -0
  5. package/changelog/v1.json +18 -0
  6. package/locales/ar/electron.json +38 -2
  7. package/locales/ar/plugin.json +51 -31
  8. package/locales/bg-BG/electron.json +38 -2
  9. package/locales/bg-BG/plugin.json +51 -31
  10. package/locales/de-DE/electron.json +38 -2
  11. package/locales/de-DE/plugin.json +29 -9
  12. package/locales/en-US/electron.json +38 -2
  13. package/locales/en-US/plugin.json +29 -9
  14. package/locales/es-ES/electron.json +38 -2
  15. package/locales/es-ES/plugin.json +51 -31
  16. package/locales/fa-IR/electron.json +38 -2
  17. package/locales/fa-IR/plugin.json +51 -31
  18. package/locales/fr-FR/electron.json +38 -2
  19. package/locales/fr-FR/plugin.json +51 -31
  20. package/locales/it-IT/electron.json +38 -2
  21. package/locales/it-IT/plugin.json +51 -31
  22. package/locales/ja-JP/electron.json +38 -2
  23. package/locales/ja-JP/plugin.json +51 -31
  24. package/locales/ko-KR/electron.json +38 -2
  25. package/locales/ko-KR/plugin.json +29 -9
  26. package/locales/nl-NL/electron.json +38 -2
  27. package/locales/nl-NL/plugin.json +51 -31
  28. package/locales/pl-PL/electron.json +38 -2
  29. package/locales/pl-PL/plugin.json +29 -9
  30. package/locales/pt-BR/electron.json +38 -2
  31. package/locales/pt-BR/plugin.json +51 -31
  32. package/locales/ru-RU/electron.json +38 -2
  33. package/locales/ru-RU/plugin.json +51 -31
  34. package/locales/tr-TR/electron.json +38 -2
  35. package/locales/tr-TR/plugin.json +51 -31
  36. package/locales/vi-VN/electron.json +38 -2
  37. package/locales/vi-VN/plugin.json +29 -9
  38. package/locales/zh-CN/electron.json +38 -2
  39. package/locales/zh-CN/plugin.json +30 -10
  40. package/locales/zh-TW/electron.json +38 -2
  41. package/locales/zh-TW/plugin.json +51 -31
  42. package/package.json +1 -1
  43. package/packages/electron-client-ipc/src/events/update.ts +3 -3
  44. package/src/app/[variants]/(main)/_layout/Desktop/ElectronTitlebar/Connection/Mode.tsx +222 -0
  45. package/src/app/[variants]/(main)/_layout/Desktop/ElectronTitlebar/Connection/Option.tsx +104 -0
  46. package/src/app/[variants]/(main)/_layout/Desktop/ElectronTitlebar/Connection/Sync.tsx +42 -0
  47. package/src/app/[variants]/(main)/_layout/Desktop/ElectronTitlebar/Connection/Waiting.tsx +203 -0
  48. package/src/app/[variants]/(main)/_layout/Desktop/ElectronTitlebar/Connection/index.tsx +57 -0
  49. package/src/app/[variants]/(main)/_layout/Desktop/ElectronTitlebar/UpdateModal.tsx +242 -0
  50. package/src/app/[variants]/(main)/_layout/Desktop/ElectronTitlebar/UpdateNotification.tsx +193 -0
  51. package/src/app/[variants]/(main)/_layout/Desktop/{Titlebar.tsx → ElectronTitlebar/index.tsx} +15 -1
  52. package/src/app/[variants]/(main)/_layout/Desktop/SideBar/BottomActions.tsx +3 -2
  53. package/src/app/[variants]/(main)/_layout/Desktop/index.tsx +1 -1
  54. package/src/app/[variants]/layout.tsx +2 -1
  55. package/src/config/aiModels/openrouter.ts +6 -6
  56. package/src/features/Conversation/components/MarkdownElements/LocalFile/Render/LocalFile.tsx +65 -0
  57. package/src/features/Conversation/components/MarkdownElements/LocalFile/Render/index.tsx +29 -0
  58. package/src/features/Conversation/components/MarkdownElements/LocalFile/index.ts +16 -0
  59. package/src/features/Conversation/components/MarkdownElements/index.ts +7 -1
  60. package/src/features/Conversation/components/MarkdownElements/remarkPlugins/__snapshots__/createRemarkSelfClosingTagPlugin.test.ts.snap +260 -0
  61. package/src/features/Conversation/components/MarkdownElements/remarkPlugins/createRemarkSelfClosingTagPlugin.test.ts +204 -0
  62. package/src/features/Conversation/components/MarkdownElements/remarkPlugins/createRemarkSelfClosingTagPlugin.ts +133 -0
  63. package/src/features/Conversation/components/MarkdownElements/type.ts +5 -1
  64. package/src/features/PluginDevModal/MCPManifestForm/ArgsInput.tsx +20 -0
  65. package/src/features/PluginDevModal/MCPManifestForm/MCPTypeSelect.tsx +176 -0
  66. package/src/features/PluginDevModal/MCPManifestForm/index.tsx +289 -0
  67. package/src/features/PluginDevModal/MCPManifestForm/utils.test.ts +262 -0
  68. package/src/features/PluginDevModal/MCPManifestForm/utils.ts +151 -0
  69. package/src/features/PluginDevModal/index.tsx +31 -22
  70. package/src/libs/agent-runtime/utils/openaiCompatibleFactory/index.ts +1 -1
  71. package/src/libs/mcp/__tests__/__snapshots__/index.test.ts.snap +0 -56
  72. package/src/locales/default/electron.ts +38 -2
  73. package/src/locales/default/plugin.ts +28 -8
  74. package/src/server/modules/ElectronIPCClient/index.ts +36 -0
  75. package/src/server/routers/lambda/session.ts +2 -6
  76. package/src/server/routers/tools/mcp.ts +6 -0
  77. package/src/server/services/file/impls/index.ts +9 -1
  78. package/src/server/services/file/impls/local.test.ts +299 -0
  79. package/src/server/services/file/impls/local.ts +183 -0
  80. package/src/server/services/mcp/index.ts +26 -0
  81. package/src/services/aiModel/index.ts +5 -1
  82. package/src/services/aiProvider/index.ts +5 -1
  83. package/src/services/electron/autoUpdate.ts +4 -0
  84. package/src/services/file/index.ts +5 -1
  85. package/src/services/mcp.ts +13 -2
  86. package/src/services/message/index.ts +5 -1
  87. package/src/services/plugin/index.ts +5 -1
  88. package/src/services/session/index.ts +5 -1
  89. package/src/services/tableViewer/desktop.ts +15 -0
  90. package/src/services/tableViewer/index.ts +4 -1
  91. package/src/services/thread/index.ts +5 -1
  92. package/src/services/topic/index.ts +5 -1
  93. package/src/services/user/index.ts +5 -1
  94. package/src/store/electron/actions/app.ts +59 -0
  95. package/src/store/electron/actions/sync.ts +5 -1
  96. package/src/store/electron/initialState.ts +3 -1
  97. package/src/store/electron/store.ts +6 -1
  98. package/src/store/tool/slices/customPlugin/action.ts +16 -4
  99. package/src/utils/client/GlobalAgentContextManager.ts +85 -0
  100. package/src/utils/promptTemplate.test.ts +78 -0
  101. package/src/utils/promptTemplate.ts +17 -0
  102. package/src/features/PluginDevModal/MCPManifestForm.tsx +0 -164
@@ -7,6 +7,7 @@
7
7
  "payload": "Plugin-Payload",
8
8
  "pluginState": "Plugin-Zustand",
9
9
  "response": "Antwort",
10
+ "title": "Plugin-Details",
10
11
  "tool_call": "Tool Call Request"
11
12
  },
12
13
  "detailModal": {
@@ -47,15 +48,16 @@
47
48
  },
48
49
  "mcp": {
49
50
  "args": {
50
- "desc": "Liste der Parameter, die an den STDIO-Befehl übergeben werden",
51
+ "desc": "Liste der Parameter, die an den STDIO-Befehl übergeben werden, normalerweise hier den MCP-Servernamen eingeben",
51
52
  "label": "Befehlsparameter",
52
- "placeholder": "z.B.: --port 8080 --debug",
53
- "tooltip": "Drücken Sie die Eingabetaste oder verwenden Sie Kommas/Leerzeichen zur Trennung der Eingabeparameter"
53
+ "placeholder": "Zum Beispiel: mcp-hello-world",
54
+ "required": "Bitte geben Sie die Startparameter ein"
54
55
  },
55
56
  "command": {
56
- "desc": "Die ausführbare Datei oder das Skript zum Starten des MCP STDIO-Plugins",
57
+ "desc": "Die ausführbare Datei oder das Skript zum Starten des MCP STDIO-Servers",
57
58
  "label": "Befehl",
58
- "placeholder": "z.B.: python main.py oder /path/to/executable"
59
+ "placeholder": "Zum Beispiel: npx / uv / docker usw.",
60
+ "required": "Bitte geben Sie den Startbefehl ein"
59
61
  },
60
62
  "endpoint": {
61
63
  "desc": "Geben Sie die Adresse Ihres MCP Streamable HTTP Servers ein",
@@ -65,15 +67,29 @@
65
67
  "desc": "Geben Sie Ihrem MCP-Plugin einen Namen, der englische Zeichen verwenden muss",
66
68
  "invalid": "Es dürfen nur englische Zeichen, Zahlen, - und _ verwendet werden",
67
69
  "label": "MCP-Plugin-Name",
68
- "placeholder": "z.B.: my-mcp-plugin"
70
+ "placeholder": "z.B.: my-mcp-plugin",
71
+ "required": "Bitte geben Sie die MCP-Dienstkennung ein"
69
72
  },
73
+ "previewManifest": "Vorschau auf die Plugin-Beschreibungsdatei",
74
+ "testConnection": "Verbindung testen",
75
+ "testConnectionTip": "Die MCP-Plugins können erst nach erfolgreichem Test der Verbindung normal verwendet werden",
70
76
  "type": {
71
77
  "desc": "Wählen Sie die Kommunikationsart des MCP-Plugins, die Webversion unterstützt nur Streamable HTTP",
72
- "label": "MCP-Plugin-Typ"
78
+ "httpFeature1": "Kompatibel mit Web- und Desktop-Version",
79
+ "httpFeature2": "Verbindung zu einem entfernten MCP-Server, keine zusätzliche Installation oder Konfiguration erforderlich",
80
+ "httpShortDesc": "Kommunikationsprotokoll basierend auf Streaming-HTTP",
81
+ "label": "MCP-Plugin-Typ",
82
+ "stdioFeature1": "Geringere Kommunikationslatenz, geeignet für lokale Ausführung",
83
+ "stdioFeature2": "MCP-Server muss lokal installiert und ausgeführt werden",
84
+ "stdioNotAvailable": "Der STDIO-Modus ist nur in der Desktop-Version verfügbar",
85
+ "stdioShortDesc": "Kommunikationsprotokoll basierend auf Standard-Eingabe und -Ausgabe",
86
+ "title": "MCP-Plugin-Typ"
73
87
  },
74
88
  "url": {
75
- "desc": "Geben Sie die Endpoint-Adresse Ihres MCP HTTP-Plugins ein",
76
- "label": "HTTP Endpoint-URL"
89
+ "desc": "Geben Sie Ihre MCP-Server-Streamable-HTTP-Adresse ein, die nicht mit /sse endet",
90
+ "invalid": "Bitte geben Sie eine gültige URL ein",
91
+ "label": "HTTP Endpoint-URL",
92
+ "required": "Bitte geben Sie die MCP-Dienst-URL ein"
77
93
  }
78
94
  },
79
95
  "meta": {
@@ -101,12 +117,14 @@
101
117
  "label": "Kennung",
102
118
  "pattenErrorMessage": "Es können nur Buchstaben, Zahlen, - und _ eingegeben werden"
103
119
  },
120
+ "lobe": "{{appName}} Plugin",
104
121
  "manifest": {
105
122
  "desc": "{{appName}} wird das Plugin über diesen Link installieren.",
106
123
  "label": "Plugin-Beschreibungsdatei (Manifest) URL",
107
124
  "preview": "Vorschau des Manifests",
108
125
  "refresh": "Aktualisieren"
109
126
  },
127
+ "openai": "OpenAI Plugin",
110
128
  "title": {
111
129
  "desc": "Plugin-Titel",
112
130
  "label": "Titel",
@@ -148,6 +166,7 @@
148
166
  "noManifest": "Manifest nicht vorhanden",
149
167
  "openAPIInvalid": "Fehler beim Parsen von OpenAPI. Fehler: \n\n {{error}}",
150
168
  "reinstallError": "Fehler beim Aktualisieren des Plugins {{name}}.",
169
+ "testConnectionFailed": "Manifest konnte nicht abgerufen werden: {{error}}",
151
170
  "urlError": "Der Link hat keine JSON-Format-Inhalte zurückgegeben. Stellen Sie sicher, dass der Link gültig ist."
152
171
  },
153
172
  "inspector": {
@@ -226,5 +245,6 @@
226
245
  },
227
246
  "title": "Plugin-Shop"
228
247
  },
248
+ "unknownError": "Unbekannter Fehler",
229
249
  "unknownPlugin": "Unbekanntes Plugin"
230
250
  }
@@ -17,16 +17,52 @@
17
17
  "statusDisconnected": "Not connected",
18
18
  "urlRequired": "Please enter the server address"
19
19
  },
20
+ "sync": {
21
+ "continue": "Continue",
22
+ "inCloud": "Currently using cloud sync",
23
+ "inLocalStorage": "Currently using local storage",
24
+ "isIniting": "Initializing...",
25
+ "lobehubCloud": {
26
+ "description": "Officially provided cloud version",
27
+ "title": "LobeHub Cloud"
28
+ },
29
+ "local": {
30
+ "description": "Uses a local database, fully available offline",
31
+ "title": "Local Database"
32
+ },
33
+ "mode": {
34
+ "cloudSync": "Cloud Sync",
35
+ "localStorage": "Local Storage",
36
+ "title": "Select your connection mode",
37
+ "useSelfHosted": "Use a self-hosted instance?"
38
+ },
39
+ "selfHosted": {
40
+ "description": "Community version that you can deploy yourself",
41
+ "title": "Self-Hosted Instance"
42
+ }
43
+ },
20
44
  "updater": {
45
+ "checkingUpdate": "Checking for updates",
46
+ "checkingUpdateDesc": "Retrieving version information...",
47
+ "downloadNewVersion": "Download new version",
21
48
  "downloadingUpdate": "Downloading update",
22
49
  "downloadingUpdateDesc": "The update is downloading, please wait...",
50
+ "installLater": "Update on next launch",
51
+ "isLatestVersion": "You are using the latest version",
52
+ "isLatestVersionDesc": "Great! The version {{version}} you are using is the latest available.",
23
53
  "later": "Update later",
24
54
  "newVersionAvailable": "New version available",
25
55
  "newVersionAvailableDesc": "A new version {{version}} has been found, would you like to download it now?",
26
- "restartAndInstall": "Restart and install",
56
+ "restartAndInstall": "Install updates and restart",
27
57
  "updateError": "Update error",
28
58
  "updateReady": "Update ready",
29
- "updateReadyDesc": "Lobe Chat {{version}} has been downloaded, restart the application to complete the installation.",
59
+ "updateReadyDesc": "The new version {{version}} has been downloaded. Restart the application to complete the installation.",
30
60
  "upgradeNow": "Update now"
61
+ },
62
+ "waitingOAuth": {
63
+ "cancel": "Cancel",
64
+ "description": "The browser has opened the authorization page, please complete the authorization in the browser",
65
+ "helpText": "If the browser did not open automatically, please click cancel and try again",
66
+ "title": "Waiting for Authorization Connection"
31
67
  }
32
68
  }
@@ -7,6 +7,7 @@
7
7
  "payload": "plugin payload",
8
8
  "pluginState": "Plugin State",
9
9
  "response": "Response",
10
+ "title": "Plugin Details",
10
11
  "tool_call": "tool call request"
11
12
  },
12
13
  "detailModal": {
@@ -47,15 +48,16 @@
47
48
  },
48
49
  "mcp": {
49
50
  "args": {
50
- "desc": "List of parameters to pass to the STDIO command",
51
+ "desc": "A list of parameters passed to the STDIO command, typically enter the MCP server name here",
51
52
  "label": "Command Parameters",
52
- "placeholder": "e.g., --port 8080 --debug",
53
- "tooltip": "Press Enter after entering parameters or separate with commas/spaces"
53
+ "placeholder": "For example: mcp-hello-world",
54
+ "required": "Please enter the startup parameters"
54
55
  },
55
56
  "command": {
56
- "desc": "Executable file or script to start the MCP STDIO plugin",
57
+ "desc": "The executable file or script used to start the MCP STDIO Server",
57
58
  "label": "Command",
58
- "placeholder": "e.g., python main.py or /path/to/executable"
59
+ "placeholder": "For example: npx / uv / docker, etc.",
60
+ "required": "Please enter the startup command"
59
61
  },
60
62
  "endpoint": {
61
63
  "desc": "Enter the address of your MCP Streamable HTTP Server",
@@ -65,15 +67,29 @@
65
67
  "desc": "Specify a name for your MCP plugin, using English characters",
66
68
  "invalid": "Only English letters, numbers, - and _ are allowed",
67
69
  "label": "MCP Plugin Name",
68
- "placeholder": "e.g., my-mcp-plugin"
70
+ "placeholder": "e.g., my-mcp-plugin",
71
+ "required": "Please enter the MCP service identifier"
69
72
  },
73
+ "previewManifest": "Preview Plugin Description File",
74
+ "testConnection": "Test Connection",
75
+ "testConnectionTip": "The MCP plugin can only be used normally after a successful connection test",
70
76
  "type": {
71
77
  "desc": "Select the communication method for the MCP plugin; the web version only supports Streamable HTTP",
72
- "label": "MCP Plugin Type"
78
+ "httpFeature1": "Compatible with both web and desktop versions",
79
+ "httpFeature2": "Connect to a remote MCP server without additional installation or configuration",
80
+ "httpShortDesc": "A streaming HTTP-based communication protocol",
81
+ "label": "MCP Plugin Type",
82
+ "stdioFeature1": "Lower communication latency, suitable for local execution",
83
+ "stdioFeature2": "Requires local installation and running of the MCP server",
84
+ "stdioNotAvailable": "STDIO mode is only available in the desktop version",
85
+ "stdioShortDesc": "A communication protocol based on standard input and output",
86
+ "title": "MCP Plugin Type"
73
87
  },
74
88
  "url": {
75
- "desc": "Enter the Endpoint address of your MCP HTTP plugin",
76
- "label": "HTTP Endpoint URL"
89
+ "desc": "Enter your MCP Server Streamable HTTP address, which should not end with /sse",
90
+ "invalid": "Please enter a valid URL",
91
+ "label": "HTTP Endpoint URL",
92
+ "required": "Please enter the MCP service URL"
77
93
  }
78
94
  },
79
95
  "meta": {
@@ -101,12 +117,14 @@
101
117
  "label": "Identifier",
102
118
  "pattenErrorMessage": "Only alphanumeric characters, hyphen -, and underscore _ are allowed"
103
119
  },
120
+ "lobe": "{{appName}} Plugin",
104
121
  "manifest": {
105
122
  "desc": "{{appName}} will install the plugin through this link.",
106
123
  "label": "Plugin Description (Manifest) URL",
107
124
  "preview": "Preview Manifest",
108
125
  "refresh": "Refresh"
109
126
  },
127
+ "openai": "OpenAI Plugin",
110
128
  "title": {
111
129
  "desc": "The title of the plugin",
112
130
  "label": "Title",
@@ -148,6 +166,7 @@
148
166
  "noManifest": "Manifest file does not exist",
149
167
  "openAPIInvalid": "OpenAPI parsing failed. Error: \n\n {{error}}",
150
168
  "reinstallError": "Failed to refresh plugin {{name}}",
169
+ "testConnectionFailed": "Failed to retrieve Manifest: {{error}}",
151
170
  "urlError": "The link did not return content in JSON format. Please ensure it is a valid link."
152
171
  },
153
172
  "inspector": {
@@ -226,5 +245,6 @@
226
245
  },
227
246
  "title": "Plugin Store"
228
247
  },
248
+ "unknownError": "Unknown error",
229
249
  "unknownPlugin": "Unknown plugin"
230
250
  }
@@ -17,16 +17,52 @@
17
17
  "statusDisconnected": "Desconectado",
18
18
  "urlRequired": "Por favor, introduzca la dirección del servidor"
19
19
  },
20
+ "sync": {
21
+ "continue": "Continuar",
22
+ "inCloud": "Actualmente utilizando sincronización en la nube",
23
+ "inLocalStorage": "Actualmente utilizando almacenamiento local",
24
+ "isIniting": "Inicializando...",
25
+ "lobehubCloud": {
26
+ "description": "Versión en la nube proporcionada oficialmente",
27
+ "title": "LobeHub Cloud"
28
+ },
29
+ "local": {
30
+ "description": "Usando base de datos local, completamente disponible sin conexión",
31
+ "title": "Base de datos local"
32
+ },
33
+ "mode": {
34
+ "cloudSync": "Sincronización en la nube",
35
+ "localStorage": "Almacenamiento local",
36
+ "title": "Elige tu modo de conexión",
37
+ "useSelfHosted": "¿Usar instancia autohospedada?"
38
+ },
39
+ "selfHosted": {
40
+ "description": "Versión comunitaria desplegada por uno mismo",
41
+ "title": "Instancia autohospedada"
42
+ }
43
+ },
20
44
  "updater": {
45
+ "checkingUpdate": "Comprobando actualizaciones",
46
+ "checkingUpdateDesc": "Obteniendo información de la versión...",
47
+ "downloadNewVersion": "Descargar nueva versión",
21
48
  "downloadingUpdate": "Descargando actualización",
22
49
  "downloadingUpdateDesc": "La actualización se está descargando, por favor espere...",
50
+ "installLater": "Actualizar en el próximo inicio",
51
+ "isLatestVersion": "Ya tienes la última versión",
52
+ "isLatestVersionDesc": "¡Genial! La versión {{version}} que estás utilizando ya es la más avanzada.",
23
53
  "later": "Actualizar más tarde",
24
54
  "newVersionAvailable": "Nueva versión disponible",
25
55
  "newVersionAvailableDesc": "Se ha encontrado una nueva versión {{version}}, ¿desea descargarla ahora?",
26
- "restartAndInstall": "Reiniciar e instalar",
56
+ "restartAndInstall": "Instalar actualizaciones y reiniciar",
27
57
  "updateError": "Error de actualización",
28
58
  "updateReady": "Actualización lista",
29
- "updateReadyDesc": "Lobe Chat {{version}} se ha descargado, reinicie la aplicación para completar la instalación.",
59
+ "updateReadyDesc": "La nueva versión {{version}} se ha descargado, reinicia la aplicación para completar la instalación.",
30
60
  "upgradeNow": "Actualizar ahora"
61
+ },
62
+ "waitingOAuth": {
63
+ "cancel": "Cancelar",
64
+ "description": "Se ha abierto la página de autorización en el navegador, por favor completa la autorización en el navegador",
65
+ "helpText": "Si el navegador no se abre automáticamente, haz clic en cancelar y vuelve a intentarlo",
66
+ "title": "Esperando conexión de autorización"
31
67
  }
32
68
  }
@@ -7,6 +7,7 @@
7
7
  "payload": "carga del complemento",
8
8
  "pluginState": "Estado del plugin",
9
9
  "response": "Respuesta",
10
+ "title": "Detalles del complemento",
10
11
  "tool_call": "solicitud de llamada de herramienta"
11
12
  },
12
13
  "detailModal": {
@@ -34,37 +35,6 @@
34
35
  "desc": "Identificador único del complemento",
35
36
  "label": "Identificador"
36
37
  },
37
- "mcp": {
38
- "args": {
39
- "desc": "Lista de parámetros a pasar al comando STDIO",
40
- "label": "Parámetros del comando",
41
- "placeholder": "Por ejemplo: --port 8080 --debug",
42
- "tooltip": "Presiona enter después de ingresar los parámetros o usa comas/espacios para separarlos"
43
- },
44
- "command": {
45
- "desc": "Archivo ejecutable o script para iniciar el plugin MCP STDIO",
46
- "label": "Comando",
47
- "placeholder": "Por ejemplo: python main.py o /ruta/al/ejecutable"
48
- },
49
- "endpoint": {
50
- "desc": "Ingresa la dirección de tu servidor HTTP Streamable MCP",
51
- "label": "URL del Endpoint MCP"
52
- },
53
- "identifier": {
54
- "desc": "Especifica un nombre para tu plugin MCP, debe usar caracteres en inglés",
55
- "invalid": "Solo se pueden ingresar caracteres en inglés, números, y los símbolos - y _",
56
- "label": "Nombre del plugin MCP",
57
- "placeholder": "Por ejemplo: my-mcp-plugin"
58
- },
59
- "type": {
60
- "desc": "Selecciona el método de comunicación del plugin MCP, la versión web solo soporta HTTP Streamable",
61
- "label": "Tipo de plugin MCP"
62
- },
63
- "url": {
64
- "desc": "Ingresa la dirección del Endpoint de tu plugin HTTP MCP",
65
- "label": "URL del Endpoint HTTP"
66
- }
67
- },
68
38
  "mode": {
69
39
  "mcp": "Plugin MCP",
70
40
  "mcpExp": "Experimental",
@@ -76,6 +46,52 @@
76
46
  "placeholder": "Buscar motor de búsqueda"
77
47
  }
78
48
  },
49
+ "mcp": {
50
+ "args": {
51
+ "desc": "Lista de parámetros a pasar al comando STDIO",
52
+ "label": "Parámetros del comando",
53
+ "placeholder": "Por ejemplo: --port 8080 --debug",
54
+ "required": "Por favor, introduce los parámetros de inicio"
55
+ },
56
+ "command": {
57
+ "desc": "Archivo ejecutable o script para iniciar el complemento MCP STDIO",
58
+ "label": "Comando",
59
+ "placeholder": "Por ejemplo: python main.py o /ruta/al/ejecutable",
60
+ "required": "Por favor, introduce el comando de inicio"
61
+ },
62
+ "endpoint": {
63
+ "desc": "Ingresa la dirección de tu servidor HTTP Streamable MCP",
64
+ "label": "URL del Endpoint MCP"
65
+ },
66
+ "identifier": {
67
+ "desc": "Especifica un nombre para tu complemento MCP, debe usar caracteres en inglés",
68
+ "invalid": "Solo se pueden ingresar caracteres en inglés, números, y los símbolos - y _",
69
+ "label": "Nombre del complemento MCP",
70
+ "placeholder": "Por ejemplo: my-mcp-plugin",
71
+ "required": "Por favor, introduce el identificador del servicio MCP"
72
+ },
73
+ "previewManifest": "Previsualizar el archivo de descripción del complemento",
74
+ "testConnection": "Probar conexión",
75
+ "testConnectionTip": "El complemento MCP solo se puede utilizar correctamente después de que la prueba de conexión sea exitosa",
76
+ "type": {
77
+ "desc": "Selecciona el método de comunicación del complemento MCP, la versión web solo admite HTTP Streamable",
78
+ "httpFeature1": "Compatible con la versión web y de escritorio",
79
+ "httpFeature2": "Conéctese al servidor MCP remoto sin necesidad de instalación adicional",
80
+ "httpShortDesc": "Protocolo de comunicación basado en HTTP por streaming",
81
+ "label": "Tipo de complemento MCP",
82
+ "stdioFeature1": "Menor latencia de comunicación, adecuado para ejecución local",
83
+ "stdioFeature2": "Se requiere instalar y ejecutar el servidor MCP localmente",
84
+ "stdioNotAvailable": "El modo STDIO solo está disponible en la versión de escritorio",
85
+ "stdioShortDesc": "Protocolo de comunicación basado en entrada y salida estándar",
86
+ "title": "Tipo de complemento MCP"
87
+ },
88
+ "url": {
89
+ "desc": "Introduce la dirección HTTP transmitible de tu servidor MCP, que no debe terminar con /sse",
90
+ "invalid": "Por favor, introduce una URL válida",
91
+ "label": "URL del Endpoint HTTP",
92
+ "required": "Por favor, introduce la URL del servicio MCP"
93
+ }
94
+ },
79
95
  "meta": {
80
96
  "author": {
81
97
  "desc": "Autor del complemento",
@@ -101,12 +117,14 @@
101
117
  "label": "Identificador",
102
118
  "pattenErrorMessage": "Solo se pueden ingresar caracteres alfanuméricos, - y _"
103
119
  },
120
+ "lobe": "Complemento de {{appName}}",
104
121
  "manifest": {
105
122
  "desc": "{{appName}} se instalará el complemento a través de este enlace.",
106
123
  "label": "URL del archivo de descripción del complemento (Manifest)",
107
124
  "preview": "Vista previa del Manifest",
108
125
  "refresh": "Actualizar"
109
126
  },
127
+ "openai": "Complemento de OpenAI",
110
128
  "title": {
111
129
  "desc": "Título del complemento",
112
130
  "label": "Título",
@@ -148,6 +166,7 @@
148
166
  "noManifest": "No se encontró el archivo de descripción",
149
167
  "openAPIInvalid": "Error al analizar OpenAPI. Error: \n\n {{error}}",
150
168
  "reinstallError": "Error al volver a instalar el complemento {{name}}.",
169
+ "testConnectionFailed": "Error al obtener el Manifest: {{error}}",
151
170
  "urlError": "El enlace no devuelve contenido en formato JSON. Asegúrese de que sea un enlace válido."
152
171
  },
153
172
  "inspector": {
@@ -226,5 +245,6 @@
226
245
  },
227
246
  "title": "Tienda de complementos"
228
247
  },
248
+ "unknownError": "Error desconocido",
229
249
  "unknownPlugin": "Plugin desconocido"
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": "Lobe Chat {{version}} دانلود شده است، با راه‌اندازی مجدد برنامه می‌توانید نصب را کامل کنید.",
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": "آدرس سرور HTTP Streamable MCP خود را وارد کنید",
51
- "label": "آدرس URL Endpoint MCP"
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 افزونه HTTP MCP خود را وارد کنید",
65
- "label": "آدرس URL Endpoint HTTP"
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": "آدرس سرور HTTP Streamable MCP خود را وارد کنید",
64
+ "label": "آدرس URL نقطه پایانی MCP"
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 را انتخاب کنید، نسخه وب فقط از HTTP Streamable پشتیبانی می‌کند",
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": "آدرس HTTP قابل پخش سرور MCP خود را وارد کنید، که با /sse پایان نمی‌یابد",
90
+ "invalid": "لطفاً یک آدرس URL معتبر وارد کنید",
91
+ "label": "آدرس URL نقطه پایانی HTTP",
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 فایل توضیحات افزونه (Manifest)",
107
124
  "preview": "پیش‌نمایش Manifest",
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": "دریافت Manifest ناموفق بود: {{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
  }