@lobehub/chat 0.111.6 → 0.112.0

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 (130) hide show
  1. package/.i18nrc.js +1 -0
  2. package/CHANGELOG.md +59 -0
  3. package/locales/en_US/chat.json +12 -12
  4. package/locales/en_US/common.json +4 -4
  5. package/locales/en_US/error.json +16 -14
  6. package/locales/en_US/market.json +2 -2
  7. package/locales/en_US/migration.json +4 -4
  8. package/locales/en_US/plugin.json +75 -38
  9. package/locales/en_US/setting.json +7 -7
  10. package/locales/fr_FR/chat.json +11 -11
  11. package/locales/fr_FR/common.json +4 -4
  12. package/locales/fr_FR/error.json +12 -10
  13. package/locales/fr_FR/plugin.json +42 -5
  14. package/locales/fr_FR/setting.json +12 -12
  15. package/locales/fr_FR/welcome.json +3 -3
  16. package/locales/ja_JP/chat.json +1 -1
  17. package/locales/ja_JP/common.json +4 -4
  18. package/locales/ja_JP/error.json +16 -14
  19. package/locales/ja_JP/migration.json +4 -4
  20. package/locales/ja_JP/plugin.json +70 -33
  21. package/locales/ja_JP/setting.json +1 -1
  22. package/locales/ko_KR/chat.json +1 -1
  23. package/locales/ko_KR/common.json +4 -4
  24. package/locales/ko_KR/error.json +16 -14
  25. package/locales/ko_KR/migration.json +4 -4
  26. package/locales/ko_KR/plugin.json +71 -34
  27. package/locales/ko_KR/setting.json +1 -1
  28. package/locales/ru_RU/chat.json +1 -1
  29. package/locales/ru_RU/common.json +4 -4
  30. package/locales/ru_RU/error.json +16 -14
  31. package/locales/ru_RU/market.json +2 -2
  32. package/locales/ru_RU/migration.json +4 -4
  33. package/locales/ru_RU/plugin.json +71 -34
  34. package/locales/ru_RU/setting.json +1 -1
  35. package/locales/zh_CN/chat.json +1 -1
  36. package/locales/zh_CN/error.json +2 -0
  37. package/locales/zh_CN/plugin.json +42 -5
  38. package/locales/zh_CN/setting.json +1 -1
  39. package/locales/zh_TW/chat.json +1 -1
  40. package/locales/zh_TW/common.json +4 -4
  41. package/locales/zh_TW/error.json +16 -14
  42. package/locales/zh_TW/market.json +2 -2
  43. package/locales/zh_TW/migration.json +4 -4
  44. package/locales/zh_TW/plugin.json +98 -61
  45. package/locales/zh_TW/setting.json +1 -1
  46. package/package.json +4 -2
  47. package/scripts/i18nWorkflow/genDiff.ts +7 -8
  48. package/scripts/i18nWorkflow/utils.ts +0 -14
  49. package/scripts/readmeWorkflow/syncPluginIndex.ts +9 -11
  50. package/src/app/api/plugins/route.ts +2 -4
  51. package/src/app/api/proxy/route.ts +10 -0
  52. package/src/app/chat/features/ChatInput/ActionBar/Tools/ToolItem.tsx +3 -8
  53. package/src/app/chat/features/ChatInput/ActionBar/Tools/index.tsx +3 -3
  54. package/src/app/chat/features/Conversation/ChatList/Error/index.tsx +6 -0
  55. package/src/app/chat/features/Conversation/ChatList/Messages/Function.tsx +1 -1
  56. package/src/app/chat/features/Conversation/ChatList/Plugins/Inspector/Settings.tsx +7 -5
  57. package/src/app/chat/features/Conversation/ChatList/Plugins/Inspector/index.tsx +2 -2
  58. package/src/app/chat/features/Conversation/ChatList/Plugins/Render/DefaultType/index.tsx +6 -4
  59. package/src/app/chat/features/Conversation/ChatList/Plugins/Render/index.tsx +2 -2
  60. package/src/app/chat/features/Migration/ExportConfigButton.tsx +1 -1
  61. package/src/app/market/features/AgentDetailContent/AgentInfo/index.tsx +1 -0
  62. package/src/app/market/features/AgentDetailContent/AgentInfo/style.ts +1 -9
  63. package/src/app/settings/common/Common.tsx +5 -7
  64. package/src/components/FileList/FileItem.tsx +4 -2
  65. package/src/components/HotKeys/index.tsx +5 -4
  66. package/src/const/plugin.ts +1 -0
  67. package/src/features/AgentSetting/AgentPlugin/AddPluginButton.tsx +2 -2
  68. package/src/features/AgentSetting/AgentPlugin/LocalPluginItem.tsx +19 -53
  69. package/src/features/AgentSetting/AgentPlugin/index.tsx +5 -11
  70. package/src/features/AgentSetting/store/initialState.ts +1 -1
  71. package/src/features/PluginDetailModal/APIs.tsx +44 -0
  72. package/src/features/PluginDetailModal/Meta.tsx +59 -0
  73. package/src/features/PluginDetailModal/index.tsx +79 -0
  74. package/src/features/PluginDevModal/PluginPreview.tsx +8 -10
  75. package/src/features/PluginDevModal/UrlManifestForm.tsx +131 -0
  76. package/src/features/PluginDevModal/index.tsx +31 -32
  77. package/src/features/PluginSettings/index.tsx +1 -1
  78. package/src/features/PluginStore/AddPluginButton.tsx +47 -0
  79. package/src/features/PluginStore/InstalledPluginList.tsx +54 -0
  80. package/src/features/PluginStore/OnlineList.tsx +95 -0
  81. package/src/features/PluginStore/PluginItem/Action.tsx +118 -0
  82. package/src/features/PluginStore/PluginItem/EditCustomPlugin.tsx +50 -0
  83. package/src/features/PluginStore/PluginItem/PluginTag.tsx +58 -0
  84. package/src/features/PluginStore/PluginItem/index.tsx +73 -0
  85. package/src/features/PluginStore/index.tsx +20 -92
  86. package/src/hooks/usePlatform.ts +15 -0
  87. package/src/locales/default/chat.ts +1 -1
  88. package/src/locales/default/error.ts +2 -0
  89. package/src/locales/default/plugin.ts +41 -4
  90. package/src/locales/default/setting.ts +1 -1
  91. package/src/services/__tests__/__snapshots__/plugin.test.ts.snap +154 -0
  92. package/src/services/__tests__/chat.test.ts +1 -1
  93. package/src/services/__tests__/global.test.ts +57 -0
  94. package/src/services/__tests__/openai/OpenAPI_V3.json +245 -0
  95. package/src/services/__tests__/openai/plugin.json +22 -0
  96. package/src/services/__tests__/plugin.test.ts +90 -1
  97. package/src/services/__tests__/share.test.ts +86 -0
  98. package/src/services/_url.ts +2 -0
  99. package/src/services/global.ts +15 -0
  100. package/src/services/plugin.ts +99 -15
  101. package/src/services/share.ts +34 -0
  102. package/src/store/chat/actions/enhance.test.ts +15 -15
  103. package/src/store/chat/actions/message.test.ts +3 -2
  104. package/src/store/chat/actions/plugin.test.ts +281 -0
  105. package/src/store/chat/actions/plugin.ts +22 -3
  106. package/src/store/chat/actions/share.ts +2 -2
  107. package/src/store/chat/actions/topic.test.ts +12 -4
  108. package/src/store/global/slices/common.ts +2 -2
  109. package/src/store/session/selectors.ts +1 -1
  110. package/src/store/session/slices/agent/selectors.ts +1 -1
  111. package/src/store/tool/helpers.ts +8 -1
  112. package/src/store/tool/slices/customPlugin/action.ts +4 -1
  113. package/src/store/tool/slices/plugin/selectors.test.ts +22 -3
  114. package/src/store/tool/slices/plugin/selectors.ts +24 -5
  115. package/src/store/tool/slices/store/selectors.test.ts +18 -1
  116. package/src/store/tool/slices/store/selectors.ts +14 -3
  117. package/src/styles/antdOverride.ts +7 -0
  118. package/src/types/openai/chat.ts +0 -1
  119. package/src/types/openai/plugin.ts +57 -0
  120. package/src/types/tool/index.ts +1 -2
  121. package/src/types/tool/plugin.ts +13 -1
  122. package/src/types/tool/tool.ts +1 -0
  123. package/src/types/translate.ts +0 -1
  124. package/src/utils/platform.ts +8 -5
  125. package/src/features/PluginDevModal/UrlModeForm.tsx +0 -98
  126. package/src/features/PluginSettingsModal/index.tsx +0 -59
  127. package/src/features/PluginStore/PluginItem.tsx +0 -82
  128. package/src/features/PluginStore/PluginSettings.tsx +0 -40
  129. package/src/services/latestVersion.ts +0 -11
  130. package/src/services/shareGPT.ts +0 -28
package/.i18nrc.js CHANGED
@@ -2,6 +2,7 @@ const { defineConfig } = require('@lobehub/i18n-cli');
2
2
 
3
3
  module.exports = defineConfig({
4
4
  entry: 'locales/zh_CN',
5
+ reference: '翻译后的字数尽量和原文一致',
5
6
  entryLocale: 'zh_CN',
6
7
  output: 'locales',
7
8
  outputLocales: ['zh_TW', 'en_US', 'ru_RU', 'ja_JP', 'ko_KR', 'fr_FR'],
package/CHANGELOG.md CHANGED
@@ -2,6 +2,65 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ## [Version 0.112.0](https://github.com/lobehub/lobe-chat/compare/v0.111.6...v0.112.0)
6
+
7
+ <sup>Released on **2023-12-16**</sup>
8
+
9
+ #### ♻ Code Refactoring
10
+
11
+ - **misc**: Refactor global and share service, refactor plugin dev modal and improve plugin store, refactor with OpenAPIConvertor.
12
+
13
+ #### ✨ Features
14
+
15
+ - **misc**: Introduce plugin detail modal, support OpenAI plugin manifest, support OpenAPI Authentication, support OpenAPI schema in lobe plugin, support parse openapi schema.
16
+
17
+ #### 🐛 Bug Fixes
18
+
19
+ - **misc**: Fix function apiName length, try with node mode plugins.
20
+
21
+ #### 💄 Styles
22
+
23
+ - **misc**: Fix function message style, fix mobile padding of plugin dev modal, improve settings display, Update tool style.
24
+
25
+ <br/>
26
+
27
+ <details>
28
+ <summary><kbd>Improvements and Fixes</kbd></summary>
29
+
30
+ #### Code refactoring
31
+
32
+ - **misc**: Refactor global and share service ([dd6f00e](https://github.com/lobehub/lobe-chat/commit/dd6f00e))
33
+ - **misc**: Refactor plugin dev modal and improve plugin store ([4dc5e35](https://github.com/lobehub/lobe-chat/commit/4dc5e35))
34
+ - **misc**: Refactor with OpenAPIConvertor ([605b3bf](https://github.com/lobehub/lobe-chat/commit/605b3bf))
35
+
36
+ #### What's improved
37
+
38
+ - **misc**: Introduce plugin detail modal ([0308783](https://github.com/lobehub/lobe-chat/commit/0308783))
39
+ - **misc**: Support OpenAI plugin manifest ([04ff2d5](https://github.com/lobehub/lobe-chat/commit/04ff2d5))
40
+ - **misc**: Support OpenAPI Authentication ([820c15e](https://github.com/lobehub/lobe-chat/commit/820c15e))
41
+ - **misc**: Support OpenAPI schema in lobe plugin, closes [#614](https://github.com/lobehub/lobe-chat/issues/614) ([5426a54](https://github.com/lobehub/lobe-chat/commit/5426a54))
42
+ - **misc**: Support parse openapi schema ([11a39b1](https://github.com/lobehub/lobe-chat/commit/11a39b1))
43
+
44
+ #### What's fixed
45
+
46
+ - **misc**: Fix function apiName length ([b6f8c16](https://github.com/lobehub/lobe-chat/commit/b6f8c16))
47
+ - **misc**: Try with node mode plugins ([6bb547f](https://github.com/lobehub/lobe-chat/commit/6bb547f))
48
+
49
+ #### Styles
50
+
51
+ - **misc**: Fix function message style ([4fee0b1](https://github.com/lobehub/lobe-chat/commit/4fee0b1))
52
+ - **misc**: Fix mobile padding of plugin dev modal ([7f7070a](https://github.com/lobehub/lobe-chat/commit/7f7070a))
53
+ - **misc**: Improve settings display ([df57cde](https://github.com/lobehub/lobe-chat/commit/df57cde))
54
+ - **misc**: Update tool style ([292a3e1](https://github.com/lobehub/lobe-chat/commit/292a3e1))
55
+
56
+ </details>
57
+
58
+ <div align="right">
59
+
60
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
61
+
62
+ </div>
63
+
5
64
  ### [Version 0.111.6](https://github.com/lobehub/lobe-chat/compare/v0.111.5...v0.111.6)
6
65
 
7
66
  <sup>Released on **2023-12-15**</sup>
@@ -1,28 +1,28 @@
1
1
  {
2
- "agentDefaultMessage": "Hello, I'm **{{name}}**. You can start chatting with me right away, or go to [Assistant Settings](/chat/settings#session={{id}}) to complete my information.",
2
+ "agentDefaultMessage": "Hello, I'm **{{name}}**. You can start chatting with me right away, or go to [Agent Settings](/chat/settings#session={{id}}) to complete my information.",
3
3
  "agentDefaultMessageWithSystemRole": "Hello, I'm **{{name}}**, {{systemRole}}. Let's start chatting!",
4
- "backToBottom": "Back to Bottom",
4
+ "backToBottom": "Back to bottom",
5
5
  "clearCurrentMessages": "Clear current session messages",
6
6
  "confirmClearCurrentMessages": "You are about to clear the current session messages. Once cleared, they cannot be retrieved. Please confirm your action.",
7
- "confirmRemoveSessionItemAlert": "You are about to delete this assistant. Once deleted, it cannot be retrieved. Please confirm your action.",
8
- "defaultAgent": "Default Assistant",
9
- "defaultSession": "Default Assistant",
7
+ "confirmRemoveSessionItemAlert": "You are about to delete this agent. Once deleted, it cannot be retrieved. Please confirm your action.",
8
+ "defaultAgent": "Default Agent",
9
+ "defaultSession": "Default Agent",
10
10
  "historyRange": "History Range",
11
11
  "inbox": {
12
- "defaultMessage": "Hello, I'm your virtual assistant. You can ask me anything, and I'll do my best to answer you. If you need a more professional or customized assistant, click on `+` to create a custom assistant.",
13
- "desc": "Activate the brain cluster and spark creative thinking. Your virtual assistant is here to communicate with you about everything.",
12
+ "defaultMessage": "Hello, I'm your virtual agent. You can ask me anything, and I'll do my best to answer you. If you need a more professional or customized agent, click on `+` to create a custom agent.",
13
+ "desc": "Activate the brain cluster and spark creative thinking. Your virtual agent is here to communicate with you about everything.",
14
14
  "title": "Just Chat"
15
15
  },
16
- "newAgent": "New Assistant",
16
+ "newAgent": "New Agent",
17
17
  "noDescription": "No description available",
18
18
  "pin": "Pin",
19
19
  "pinOff": "Unpin",
20
20
  "regenerate": "Regenerate",
21
21
  "roleAndArchive": "Role and Archive",
22
- "searchAgentPlaceholder": "Search assistants and conversations...",
22
+ "searchAgentPlaceholder": "Search agents and conversations...",
23
23
  "send": "Send",
24
24
  "sendPlaceholder": "Type your message here...",
25
- "sessionList": "Assistant List",
25
+ "sessionList": "Agent List",
26
26
  "shareModal": {
27
27
  "download": "Download Screenshot",
28
28
  "imageType": "Image Format",
@@ -32,7 +32,7 @@
32
32
  "withBackground": "Include Background Image",
33
33
  "withFooter": "Include Footer",
34
34
  "withPluginInfo": "Include Plugin Information",
35
- "withSystemRole": "Include Assistant Role Setting"
35
+ "withSystemRole": "Include Agent Role Setting"
36
36
  },
37
37
  "stop": "Stop",
38
38
  "stt": {
@@ -67,7 +67,7 @@
67
67
  "action": "Text-to-Speech",
68
68
  "clear": "Clear Speech"
69
69
  },
70
- "updateAgent": "Update Assistant Information",
70
+ "updateAgent": "Update Agent Information",
71
71
  "upload": {
72
72
  "actionTooltip": "Upload Image",
73
73
  "dragDesc": "Drag and drop files here, support uploading multiple images. Hold down Shift to send images directly.",
@@ -52,13 +52,13 @@
52
52
  "lang": {
53
53
  "en": "English",
54
54
  "en-US": "English",
55
+ "fr-FR": "French",
55
56
  "ja-JP": "Japanese",
56
57
  "ko-KR": "Korean",
57
58
  "ru-RU": "Russian",
58
59
  "zh": "Simplified Chinese",
59
60
  "zh-CN": "Simplified Chinese",
60
- "zh-TW": "Traditional Chinese",
61
- "fr-FR": "French"
61
+ "zh-TW": "Traditional Chinese"
62
62
  },
63
63
  "layoutInitializing": "Initializing layout...",
64
64
  "noDescription": "No description available",
@@ -82,8 +82,8 @@
82
82
  "temp": "Temporary",
83
83
  "updateAgent": "Update Agent Information",
84
84
  "upgradeVersion": {
85
+ "action": "Upgrade",
85
86
  "hasNew": "New update available",
86
- "newVersion": "New version available: {{version}}",
87
- "action": "Upgrade"
87
+ "newVersion": "New version available: {{version}}"
88
88
  }
89
89
  }
@@ -15,18 +15,20 @@
15
15
  "503": "Sorry, the server is currently unable to process your request, possibly due to overload or maintenance. Please try again later.",
16
16
  "504": "Sorry, the server did not receive a response from the upstream server. Please try again later.",
17
17
  "InvalidAccessCode": "The password is incorrect or empty. Please enter the correct access password or add a custom OpenAI API Key.",
18
+ "NoAPIKey": "OpenAI API Key is empty, please add a custom OpenAI API Key",
18
19
  "OpenAIBizError": "Error requesting OpenAI service. Please troubleshoot or retry based on the following information.",
19
- "PluginMarketIndexNotFound": "Sorry, the server could not find the plugin index. Please check if the index address is correct",
20
- "PluginMarketIndexInvalid": "Sorry, the plugin index validation failed. Please check if the index file format is correct",
21
- "PluginMetaNotFound": "Sorry, the plugin was not found in the index. Please check the plugin's configuration information in the index",
22
- "PluginMetaInvalid": "Sorry, the plugin's metadata validation failed. Please check if the plugin metadata format is correct",
23
- "PluginManifestNotFound": "Sorry, the server could not find the plugin's manifest file (manifest.json). Please check if the plugin manifest file address is correct",
24
- "PluginManifestInvalid": "Sorry, the plugin's manifest validation failed. Please check if the manifest format is correct",
25
20
  "PluginApiNotFound": "Sorry, the API does not exist in the plugin's manifest. Please check if your request method matches the plugin manifest API",
26
21
  "PluginApiParamsError": "Sorry, the input parameter validation for the plugin request failed. Please check if the input parameters match the API description",
27
- "PluginSettingsInvalid": "This plugin needs to be correctly configured before it can be used. Please check if your configuration is correct",
22
+ "PluginGatewayError": "Sorry, there was an error with the plugin gateway. Please check if the plugin gateway configuration is correct.",
23
+ "PluginManifestInvalid": "Sorry, the plugin's manifest validation failed. Please check if the manifest format is correct",
24
+ "PluginManifestNotFound": "Sorry, the server could not find the plugin's manifest file (manifest.json). Please check if the plugin manifest file address is correct",
25
+ "PluginMarketIndexInvalid": "Sorry, the plugin index validation failed. Please check if the index file format is correct",
26
+ "PluginMarketIndexNotFound": "Sorry, the server could not find the plugin index. Please check if the index address is correct",
27
+ "PluginMetaInvalid": "Sorry, the plugin's metadata validation failed. Please check if the plugin metadata format is correct",
28
+ "PluginMetaNotFound": "Sorry, the plugin was not found in the index. Please check the plugin's configuration information in the index",
29
+ "PluginOpenApiInitError": "Sorry, the OpenAPI client failed to initialize. Please check if the OpenAPI configuration information is correct.",
28
30
  "PluginServerError": "Plugin server request returned an error. Please check your plugin manifest file, plugin configuration, or server implementation based on the error information below",
29
- "NoAPIKey": "OpenAI API Key is empty, please add a custom OpenAI API Key"
31
+ "PluginSettingsInvalid": "This plugin needs to be correctly configured before it can be used. Please check if your configuration is correct"
30
32
  },
31
33
  "stt": {
32
34
  "responseError": "Service request failed, please check the configuration or try again"
@@ -36,16 +38,16 @@
36
38
  },
37
39
  "unlock": {
38
40
  "apikey": {
39
- "title": "Use Custom API Key",
41
+ "addProxyUrl": "Add OpenAI Proxy URL (optional)",
40
42
  "description": "Enter your OpenAI API Key to start the conversation. The application will not record your API Key.",
41
- "addProxyUrl": "Add OpenAI Proxy URL (optional)"
43
+ "title": "Use Custom API Key"
42
44
  },
45
+ "closeMessage": "Close message",
43
46
  "confirm": "Confirm and Retry",
44
47
  "password": {
45
48
  "description": "The application encryption has been enabled by the administrator. Enter the application password to unlock the application. The password only needs to be filled in once.",
46
- "title": "Enter Password to Unlock Application",
47
- "placeholder": "Please enter password"
48
- },
49
- "closeMessage": "Close message"
49
+ "placeholder": "Please enter password",
50
+ "title": "Enter Password to Unlock Application"
51
+ }
50
52
  }
51
53
  }
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "submitAgent": "Submit Agent",
26
26
  "title": {
27
- "recentSubmits": "Recent Submits",
28
- "allAgents": "All Agents"
27
+ "allAgents": "All Agents",
28
+ "recentSubmits": "Recent Submits"
29
29
  }
30
30
  }
@@ -17,8 +17,8 @@
17
17
  "title": "High Capacity"
18
18
  },
19
19
  "performance": {
20
- "title": "High Performance",
21
- "desc": "Millions of messages are automatically indexed, and retrieval queries respond in milliseconds."
20
+ "desc": "Millions of messages are automatically indexed, and retrieval queries respond in milliseconds.",
21
+ "title": "High Performance"
22
22
  },
23
23
  "use": {
24
24
  "desc": "Supports searching for titles, descriptions, tags, message content, and even translated text, greatly improving daily search efficiency.",
@@ -28,8 +28,8 @@
28
28
  "title": "LobeChat Data Evolution",
29
29
  "upgrade": {
30
30
  "error": {
31
- "title": "Database Upgrade Failed",
32
- "subTitle": "We are sorry, an error occurred during the database upgrade process. Please try the following solutions: A. Clear local data and re-import backup data; B. Click the 'Retry Upgrade' button.<br><br> If the issue persists, please <1>submit a request</1>, and we will assist you as soon as possible."
31
+ "subTitle": "We are sorry, an error occurred during the database upgrade process. Please try the following solutions: A. Clear local data and re-import backup data; B. Click the 'Retry Upgrade' button.<br><br> If the issue persists, please <1>submit a request</1>, and we will assist you as soon as possible.",
32
+ "title": "Database Upgrade Failed"
33
33
  },
34
34
  "success": {
35
35
  "subTitle": "LobeChat's database has been successfully upgraded to the latest version. Start experiencing it now!",
@@ -2,128 +2,165 @@
2
2
  "debug": {
3
3
  "arguments": "Arguments",
4
4
  "function_call": "Function Call",
5
- "off": "Turn Off Debug",
6
- "on": "View Plugin Call Information",
5
+ "off": "Turn off debug",
6
+ "on": "View plugin invocation information",
7
7
  "response": "Response"
8
8
  },
9
+ "detailModal": {
10
+ "info": {
11
+ "description": "API Description",
12
+ "name": "API Name"
13
+ },
14
+ "tabs": {
15
+ "info": "Plugin Capabilities",
16
+ "manifest": "Installation File",
17
+ "settings": "Settings"
18
+ },
19
+ "title": "Plugin Details"
20
+ },
9
21
  "dev": {
10
22
  "confirmDeleteDevPlugin": "Are you sure you want to delete this local plugin? Once deleted, it cannot be recovered.",
23
+ "customParams": {
24
+ "useProxy": {
25
+ "label": "Install via proxy (if encountering cross-origin access errors, try enabling this option and reinstalling)"
26
+ }
27
+ },
11
28
  "deleteSuccess": "Plugin deleted successfully",
12
29
  "manifest": {
13
30
  "identifier": {
14
- "desc": "Unique identifier for the plugin",
31
+ "desc": "The unique identifier of the plugin",
15
32
  "label": "Identifier"
16
33
  },
17
34
  "mode": {
18
- "local": "Local Configuration",
19
- "local-tooltip": "Local configuration is temporarily not supported",
35
+ "local": "Visual Configuration",
36
+ "local-tooltip": "Visual configuration is not supported at the moment",
20
37
  "url": "Online Link"
21
38
  },
22
39
  "name": {
23
- "desc": "Plugin title",
40
+ "desc": "The title of the plugin",
24
41
  "label": "Title",
25
42
  "placeholder": "Search Engine"
26
43
  }
27
44
  },
28
45
  "meta": {
29
46
  "author": {
30
- "desc": "Author of the plugin",
47
+ "desc": "The author of the plugin",
31
48
  "label": "Author"
32
49
  },
33
50
  "avatar": {
34
- "desc": "Plugin icon, can use Emoji or URL",
51
+ "desc": "The icon of the plugin, can be an Emoji or a URL",
35
52
  "label": "Icon"
36
53
  },
37
54
  "description": {
38
- "desc": "Plugin description",
55
+ "desc": "The description of the plugin",
39
56
  "label": "Description",
40
- "placeholder": "Query search engine for information"
57
+ "placeholder": "Get information from search engines"
41
58
  },
42
59
  "formFieldRequired": "This field is required",
43
60
  "homepage": {
44
- "desc": "Plugin homepage",
61
+ "desc": "The homepage of the plugin",
45
62
  "label": "Homepage"
46
63
  },
47
64
  "identifier": {
48
- "desc": "Unique identifier for the plugin, will be automatically recognized from the manifest",
49
- "errorDuplicate": "Identifier is already used by another plugin, please modify the identifier",
65
+ "desc": "The unique identifier of the plugin, only supports alphanumeric characters, hyphen -, and underscore _",
66
+ "errorDuplicate": "The identifier is already used by another plugin, please modify the identifier",
50
67
  "label": "Identifier",
51
- "pattenErrorMessage": "Only English characters, numbers, - and _ are allowed"
68
+ "pattenErrorMessage": "Only alphanumeric characters, hyphen -, and underscore _ are allowed"
52
69
  },
53
70
  "manifest": {
54
- "desc": "LobeChat will install the plugin through this link",
55
- "label": "Plugin Description File (Manifest) URL",
71
+ "desc": "LobeChat will install the plugin using this link",
72
+ "label": "Plugin Description (Manifest) URL",
56
73
  "preview": "Preview Manifest",
57
74
  "refresh": "Refresh"
58
75
  },
59
76
  "title": {
60
- "desc": "Plugin title",
77
+ "desc": "The title of the plugin",
61
78
  "label": "Title",
62
79
  "placeholder": "Search Engine"
63
80
  }
64
81
  },
65
82
  "metaConfig": "Plugin metadata configuration",
66
- "modalDesc": "After adding a custom plugin, it can be used for plugin development validation or directly in the session. For plugin development, please refer to the <1>development documentation↗</>.",
83
+ "modalDesc": "After adding a custom plugin, it can be used for plugin development verification or directly in the session. Please refer to the <1>development documentation↗</> for plugin development.",
84
+ "openai": {
85
+ "importUrl": "Import from URL link",
86
+ "schema": "Schema"
87
+ },
67
88
  "preview": {
68
- "card": "Preview Plugin Display",
69
- "desc": "Preview Plugin Description",
89
+ "card": "Preview of plugin display",
90
+ "desc": "Preview of plugin description",
70
91
  "title": "Plugin Name Preview"
71
92
  },
72
93
  "save": "Install Plugin",
73
94
  "saveSuccess": "Plugin settings saved successfully",
74
95
  "tabs": {
75
- "manifest": "Manifest Description",
96
+ "manifest": "Function Description Manifest (Manifest)",
76
97
  "meta": "Plugin Metadata"
77
98
  },
78
- "title": "Add Custom Plugin",
99
+ "title": {
100
+ "create": "Add Custom Plugin",
101
+ "edit": "Edit Custom Plugin"
102
+ },
103
+ "type": {
104
+ "lobe": "LobeChat Plugin",
105
+ "openai": "OpenAI Plugin"
106
+ },
79
107
  "update": "Update",
80
108
  "updateSuccess": "Plugin settings updated successfully"
81
109
  },
82
110
  "error": {
83
111
  "fetchError": "Failed to fetch the manifest link. Please ensure the link is valid and allows cross-origin access.",
84
- "installError": "Failed to install plugin {{name}}",
85
- "manifestInvalid": "The manifest does not comply with the specification. Validation result: \n\n {{error}}",
112
+ "installError": "Plugin {{name}} installation failed",
113
+ "manifestInvalid": "The manifest does not conform to the specification. Validation result: \n\n {{error}}",
86
114
  "noManifest": "Manifest file does not exist",
115
+ "openAPIInvalid": "OpenAPI parsing failed. Error: \n\n {{error}}",
87
116
  "reinstallError": "Failed to refresh plugin {{name}}",
88
- "urlError": "The link did not return content in JSON format. Please ensure it is a valid link"
117
+ "urlError": "The link did not return content in JSON format. Please ensure it is a valid link."
89
118
  },
90
119
  "list": {
91
120
  "item": {
92
- "deprecated.title": "Deprecated",
121
+ "deprecated.title": "Deleted",
93
122
  "local.config": "Configuration",
94
- "local.title": "Custom"
123
+ "local.title": "Local"
95
124
  }
96
125
  },
97
126
  "loading": {
98
127
  "content": "Calling plugin...",
99
- "plugin": "Plugin running..."
128
+ "plugin": "Plugin is running..."
100
129
  },
101
130
  "pluginList": "Plugin List",
102
131
  "plugins": {
103
- "loading": "Checking plugins...",
104
- "unknown": "Unknown plugin"
132
+ "loading": "Detecting plugins...",
133
+ "unknown": "Unknown Plugin"
105
134
  },
106
135
  "setting": "Plugin Settings",
107
136
  "settings": {
108
137
  "indexUrl": {
109
138
  "title": "Marketplace Index",
110
- "tooltip": "Online editing is not supported for now. Please set it through environment variables during deployment."
139
+ "tooltip": "Editing is not supported at the moment"
111
140
  },
112
- "modalDesc": "After configuring the address of the plugin marketplace, you can use a custom plugin marketplace.",
113
- "title": "Set Plugin Marketplace"
141
+ "modalDesc": "After configuring the address of the plugin marketplace, you can use a custom plugin marketplace",
142
+ "title": "Configure Plugin Marketplace"
114
143
  },
115
144
  "store": {
145
+ "actions": {
146
+ "confirmUninstall": "The plugin is about to be uninstalled. After uninstalling, the plugin configuration will be cleared. Please confirm your operation.",
147
+ "detail": "Details",
148
+ "install": "Install",
149
+ "manifest": "Edit Installation File",
150
+ "settings": "Settings",
151
+ "uninstall": "Uninstall"
152
+ },
153
+ "communityPlugin": "Third-party",
154
+ "customPlugin": "Custom Plugin",
116
155
  "empty": "No installed plugins yet",
117
- "install": "Install",
118
156
  "installAllPlugins": "Install All",
119
- "networkError": "Failed to fetch the plugin store. Please check your network connection and try again.",
157
+ "networkError": "Failed to fetch plugin store. Please check your network connection and try again",
158
+ "placeholder": "Search for plugin name, description, or keyword...",
120
159
  "releasedAt": "Released at {{createdAt}}",
121
160
  "tabs": {
122
161
  "all": "All",
123
162
  "installed": "Installed"
124
163
  },
125
- "title": "Plugin Store",
126
- "uninstall": "Uninstall",
127
- "placeholder": "Search for plugin name, description, or keywords..."
164
+ "title": "Plugin Store"
128
165
  }
129
166
  }
@@ -3,7 +3,7 @@
3
3
  "clear": {
4
4
  "action": "Clear Now",
5
5
  "confirm": "Confirm to clear all chat data?",
6
- "desc": "This will clear all session data, including assistant, files, messages, plugins, etc.",
6
+ "desc": "This will clear all session data, including agent, files, messages, plugins, etc.",
7
7
  "success": "All session messages have been cleared",
8
8
  "title": "Clear All Session Messages"
9
9
  },
@@ -85,7 +85,7 @@
85
85
  "waitingForMore": "More models are <1>planned to be added</1>, stay tuned ✨"
86
86
  },
87
87
  "plugin": {
88
- "addTooltip": "Add Custom Plugin",
88
+ "addTooltip": "Custom Plugin",
89
89
  "clearDeprecated": "Remove Deprecated Plugins",
90
90
  "empty": "No installed plugins yet, feel free to explore the <1>Plugin Store</1>",
91
91
  "installStatus": {
@@ -106,11 +106,11 @@
106
106
  "title": "Background Color"
107
107
  },
108
108
  "description": {
109
- "placeholder": "Enter assistant description",
110
- "title": "Assistant Description"
109
+ "placeholder": "Enter agent description",
110
+ "title": "Agent Description"
111
111
  },
112
112
  "name": {
113
- "placeholder": "Enter assistant name",
113
+ "placeholder": "Enter agent name",
114
114
  "title": "Name"
115
115
  },
116
116
  "prompt": {
@@ -121,7 +121,7 @@
121
121
  "placeholder": "Enter tag",
122
122
  "title": "Tag"
123
123
  },
124
- "title": "Assistant Information"
124
+ "title": "Agent Information"
125
125
  },
126
126
  "settingChat": {
127
127
  "autoCreateTopicThreshold": {
@@ -240,7 +240,7 @@
240
240
  "title": "Text-to-Speech Service"
241
241
  },
242
242
  "voice": {
243
- "desc": "Select a voice for the current assistant, different TTS services support different voices",
243
+ "desc": "Select a voice for the current agent, different TTS services support different voices",
244
244
  "preview": "Voice Preview",
245
245
  "title": "Text-to-Speech Voice"
246
246
  }
@@ -1,28 +1,28 @@
1
1
  {
2
- "agentDefaultMessage": "Bonjour, je suis **{{name}}**. Vous pouvez commencer à discuter avec moi dès maintenant ou aller dans [Paramètres de l'assistant](/chat/settings#session={{id}}) pour compléter mes informations.",
2
+ "agentDefaultMessage": "Bonjour, je suis **{{name}}**. Vous pouvez commencer à discuter avec moi dès maintenant ou aller dans [Paramètres de l'agent](/chat/settings#session={{id}}) pour compléter mes informations.",
3
3
  "agentDefaultMessageWithSystemRole": "Bonjour, je suis **{{name}}**, {{systemRole}}. Commençons la conversation !",
4
- "backToBottom": "Retourner en bas",
4
+ "backToBottom": "Retour en bas",
5
5
  "clearCurrentMessages": "Effacer les messages actuels",
6
6
  "confirmClearCurrentMessages": "Vous êtes sur le point d'effacer les messages de cette session. Cette action est irréversible. Veuillez confirmer.",
7
- "confirmRemoveSessionItemAlert": "Vous êtes sur le point de supprimer cet assistant. Cette action est irréversible. Veuillez confirmer.",
8
- "defaultAgent": "Assistant par défaut",
7
+ "confirmRemoveSessionItemAlert": "Vous êtes sur le point de supprimer cet agent. Cette action est irréversible. Veuillez confirmer.",
8
+ "defaultAgent": "Agent par défaut",
9
9
  "defaultSession": "Session par défaut",
10
10
  "historyRange": "Plage d'historique",
11
11
  "inbox": {
12
- "defaultMessage": "Bonjour, je suis votre assistant virtuel. Vous pouvez me poser n'importe quelle question et je ferai de mon mieux pour vous répondre. Si vous avez besoin d'un assistant plus professionnel ou personnalisé, cliquez sur le `+` pour créer un assistant personnalisé.",
13
- "desc": "Débloquez le potentiel de votre esprit. Votre assistant intelligent est là pour discuter avec vous de tout et de rien.",
12
+ "defaultMessage": "Bonjour, je suis votre agent virtuel. Vous pouvez me poser n'importe quelle question et je ferai de mon mieux pour vous répondre. Si vous avez besoin d'un agent plus professionnel ou personnalisé, cliquez sur le `+` pour créer un agent personnalisé.",
13
+ "desc": "Débloquez le potentiel de votre esprit. Votre agent intelligent est là pour discuter avec vous de tout et de rien.",
14
14
  "title": "Discutons un peu"
15
15
  },
16
- "newAgent": "Nouvel assistant",
16
+ "newAgent": "Nouvel agent",
17
17
  "noDescription": "Aucune description disponible",
18
18
  "pin": "Épingler",
19
19
  "pinOff": "Désépingler",
20
20
  "regenerate": "Regénérer",
21
21
  "roleAndArchive": "Rôle et archivage",
22
- "searchAgentPlaceholder": "Rechercher des assistants et des conversations...",
22
+ "searchAgentPlaceholder": "Rechercher des agents et des conversations...",
23
23
  "send": "Envoyer",
24
24
  "sendPlaceholder": "Saisissez votre message...",
25
- "sessionList": "Liste des assistants",
25
+ "sessionList": "Liste des agents",
26
26
  "shareModal": {
27
27
  "download": "Télécharger la capture d'écran",
28
28
  "imageType": "Type d'image",
@@ -32,7 +32,7 @@
32
32
  "withBackground": "Avec image de fond",
33
33
  "withFooter": "Avec pied de page",
34
34
  "withPluginInfo": "Avec informations sur le plugin",
35
- "withSystemRole": "Avec rôle de l'assistant"
35
+ "withSystemRole": "Avec rôle de l'agent"
36
36
  },
37
37
  "stop": "Arrêter",
38
38
  "stt": {
@@ -67,7 +67,7 @@
67
67
  "action": "Lecture vocale",
68
68
  "clear": "Effacer la voix"
69
69
  },
70
- "updateAgent": "Mettre à jour les informations de l'assistant",
70
+ "updateAgent": "Mettre à jour les informations de l'agent",
71
71
  "upload": {
72
72
  "actionTooltip": "Télécharger une image",
73
73
  "dragDesc": "Faites glisser les fichiers ici pour télécharger plusieurs images. Maintenez la touche Maj enfoncée pour envoyer directement les images.",
@@ -52,13 +52,13 @@
52
52
  "lang": {
53
53
  "en": "Anglais",
54
54
  "en-US": "Anglais",
55
+ "fr-FR": "français",
55
56
  "ja-JP": "Japonais",
56
57
  "ko-KR": "Coréen",
57
58
  "ru-RU": "Russe",
58
59
  "zh": "Chinois",
59
60
  "zh-CN": "Chinois simplifié",
60
- "zh-TW": "Chinois traditionnel",
61
- "fr-FR": "français"
61
+ "zh-TW": "Chinois traditionnel"
62
62
  },
63
63
  "layoutInitializing": "Initialisation de la mise en page en cours...",
64
64
  "noDescription": "Aucune description disponible",
@@ -82,8 +82,8 @@
82
82
  "temp": "Temporaire",
83
83
  "updateAgent": "Mettre à jour les informations de l'agent",
84
84
  "upgradeVersion": {
85
+ "action": "Mettre à jour",
85
86
  "hasNew": "Nouvelle mise à jour disponible",
86
- "newVersion": "Nouvelle version disponible : {{version}}",
87
- "action": "Mettre à jour"
87
+ "newVersion": "Nouvelle version disponible : {{version}}"
88
88
  }
89
89
  }
@@ -14,19 +14,21 @@
14
14
  "502": "Désolé, le serveur semble perdu et ne peut temporairement pas fournir de service. Veuillez réessayer plus tard",
15
15
  "503": "Désolé, le serveur ne peut actuellement pas traiter votre requête, probablement en raison d'une surcharge ou de travaux de maintenance. Veuillez réessayer plus tard",
16
16
  "504": "Désolé, le serveur n'a pas reçu de réponse de la part du serveur amont. Veuillez réessayer plus tard",
17
- "PluginMarketIndexNotFound": "Désolé, le serveur n'a pas trouvé l'index du plugin. Veuillez vérifier l'adresse de l'index",
18
- "PluginMarketIndexInvalid": "Désolé, la validation de l'index du plugin a échoué. Veuillez vérifier le format du fichier d'index",
19
- "PluginMetaNotFound": "Désolé, aucune métadonnée de plugin n'a été trouvée dans l'index",
20
- "PluginMetaInvalid": "Désolé, la validation des métadonnées de ce plugin a échoué. Veuillez vérifier le format des métadonnées du plugin",
21
- "PluginManifestNotFound": "Désolé, le serveur n'a pas trouvé le manifeste de description de ce plugin (manifest.json). Veuillez vérifier l'adresse du fichier de description du plugin",
22
- "PluginManifestInvalid": "Désolé, la validation du manifeste de ce plugin a échoué. Veuillez vérifier le format du manifeste",
17
+ "InvalidAccessCode": "Mot de passe incorrect ou vide. Veuillez saisir un mot de passe d'accès correct ou ajouter une clé API OpenAI personnalisée",
18
+ "NoAPIKey": "La clé API OpenAI est vide. Veuillez ajouter une clé API OpenAI personnalisée",
19
+ "OpenAIBizError": "Erreur de service OpenAI. Veuillez diagnostiquer ou réessayer en fonction des informations ci-dessous",
23
20
  "PluginApiNotFound": "Désolé, l'API spécifiée n'existe pas dans le manifeste du plugin. Veuillez vérifier que votre méthode de requête correspond à l'API du manifeste du plugin",
24
21
  "PluginApiParamsError": "Désolé, la validation des paramètres d'entrée de la requête de ce plugin a échoué. Veuillez vérifier que les paramètres d'entrée correspondent aux informations de l'API",
25
- "PluginSettingsInvalid": "Ce plugin doit être correctement configuré avant de pouvoir être utilisé. Veuillez vérifier votre configuration",
22
+ "PluginGatewayError": "Désolé, une erreur est survenue avec la passerelle du plugin. Veuillez vérifier la configuration de la passerelle du plugin.",
23
+ "PluginManifestInvalid": "Désolé, la validation du manifeste de ce plugin a échoué. Veuillez vérifier le format du manifeste",
24
+ "PluginManifestNotFound": "Désolé, le serveur n'a pas trouvé le manifeste de description de ce plugin (manifest.json). Veuillez vérifier l'adresse du fichier de description du plugin",
25
+ "PluginMarketIndexInvalid": "Désolé, la validation de l'index du plugin a échoué. Veuillez vérifier le format du fichier d'index",
26
+ "PluginMarketIndexNotFound": "Désolé, le serveur n'a pas trouvé l'index du plugin. Veuillez vérifier l'adresse de l'index",
27
+ "PluginMetaInvalid": "Désolé, la validation des métadonnées de ce plugin a échoué. Veuillez vérifier le format des métadonnées du plugin",
28
+ "PluginMetaNotFound": "Désolé, aucune métadonnée de plugin n'a été trouvée dans l'index",
29
+ "PluginOpenApiInitError": "Désolé, l'initialisation du client OpenAPI a échoué. Veuillez vérifier les informations de configuration d'OpenAPI.",
26
30
  "PluginServerError": "Erreur de réponse du serveur du plugin. Veuillez vérifier le fichier de description du plugin, la configuration du plugin ou la mise en œuvre côté serveur en fonction des informations d'erreur ci-dessous",
27
- "InvalidAccessCode": "Mot de passe incorrect ou vide. Veuillez saisir un mot de passe d'accès correct ou ajouter une clé API OpenAI personnalisée",
28
- "OpenAIBizError": "Erreur de service OpenAI. Veuillez diagnostiquer ou réessayer en fonction des informations ci-dessous",
29
- "NoAPIKey": "La clé API OpenAI est vide. Veuillez ajouter une clé API OpenAI personnalisée"
31
+ "PluginSettingsInvalid": "Ce plugin doit être correctement configuré avant de pouvoir être utilisé. Veuillez vérifier votre configuration"
30
32
  },
31
33
  "stt": {
32
34
  "responseError": "Échec de la requête de service. Veuillez vérifier la configuration ou réessayer"