@lobehub/lobehub 2.0.0-next.47 → 2.0.0-next.48

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 (228) hide show
  1. package/.env.example +11 -0
  2. package/CHANGELOG.md +17 -0
  3. package/apps/desktop/src/main/controllers/AuthCtr.ts +27 -2
  4. package/apps/desktop/src/main/core/infrastructure/ProtocolManager.ts +9 -4
  5. package/changelog/v1.json +5 -0
  6. package/docs/development/database-schema.dbml +2 -0
  7. package/docs/self-hosting/environment-variables/basic.mdx +49 -3
  8. package/docs/self-hosting/environment-variables/basic.zh-CN.mdx +49 -4
  9. package/locales/ar/discover.json +45 -0
  10. package/locales/ar/marketAuth.json +42 -0
  11. package/locales/ar/setting.json +94 -1
  12. package/locales/bg-BG/discover.json +45 -0
  13. package/locales/bg-BG/marketAuth.json +42 -0
  14. package/locales/bg-BG/setting.json +94 -1
  15. package/locales/de-DE/discover.json +45 -0
  16. package/locales/de-DE/marketAuth.json +42 -0
  17. package/locales/de-DE/setting.json +94 -1
  18. package/locales/en-US/discover.json +45 -0
  19. package/locales/en-US/marketAuth.json +42 -0
  20. package/locales/en-US/setting.json +94 -1
  21. package/locales/es-ES/discover.json +45 -0
  22. package/locales/es-ES/marketAuth.json +42 -0
  23. package/locales/es-ES/setting.json +94 -1
  24. package/locales/fa-IR/discover.json +45 -0
  25. package/locales/fa-IR/marketAuth.json +42 -0
  26. package/locales/fa-IR/setting.json +94 -1
  27. package/locales/fr-FR/discover.json +45 -0
  28. package/locales/fr-FR/marketAuth.json +42 -0
  29. package/locales/fr-FR/setting.json +94 -1
  30. package/locales/it-IT/discover.json +45 -0
  31. package/locales/it-IT/marketAuth.json +42 -0
  32. package/locales/it-IT/setting.json +94 -1
  33. package/locales/ja-JP/discover.json +45 -0
  34. package/locales/ja-JP/marketAuth.json +42 -0
  35. package/locales/ja-JP/setting.json +94 -1
  36. package/locales/ko-KR/discover.json +45 -0
  37. package/locales/ko-KR/marketAuth.json +42 -0
  38. package/locales/ko-KR/setting.json +94 -1
  39. package/locales/nl-NL/discover.json +45 -0
  40. package/locales/nl-NL/marketAuth.json +42 -0
  41. package/locales/nl-NL/setting.json +94 -1
  42. package/locales/pl-PL/discover.json +45 -0
  43. package/locales/pl-PL/marketAuth.json +42 -0
  44. package/locales/pl-PL/setting.json +94 -1
  45. package/locales/pt-BR/discover.json +45 -0
  46. package/locales/pt-BR/marketAuth.json +42 -0
  47. package/locales/pt-BR/setting.json +94 -1
  48. package/locales/ru-RU/discover.json +45 -0
  49. package/locales/ru-RU/marketAuth.json +42 -0
  50. package/locales/ru-RU/setting.json +94 -1
  51. package/locales/tr-TR/discover.json +45 -0
  52. package/locales/tr-TR/marketAuth.json +42 -0
  53. package/locales/tr-TR/setting.json +94 -1
  54. package/locales/vi-VN/discover.json +45 -0
  55. package/locales/vi-VN/marketAuth.json +42 -0
  56. package/locales/vi-VN/setting.json +94 -1
  57. package/locales/zh-CN/discover.json +45 -0
  58. package/locales/zh-CN/marketAuth.json +42 -0
  59. package/locales/zh-CN/setting.json +94 -1
  60. package/locales/zh-TW/discover.json +45 -0
  61. package/locales/zh-TW/marketAuth.json +42 -0
  62. package/locales/zh-TW/setting.json +94 -1
  63. package/package.json +27 -26
  64. package/packages/const/src/url.ts +1 -0
  65. package/packages/database/migrations/0044_add_tool_intervention.sql +1 -0
  66. package/packages/database/migrations/0044_high_toxin.sql +1 -0
  67. package/packages/database/migrations/0045_add_tool_intervention.sql +1 -0
  68. package/packages/database/migrations/meta/0039_snapshot.json +1 -1
  69. package/packages/database/migrations/meta/0044_snapshot.json +7813 -0
  70. package/packages/database/migrations/meta/0045_snapshot.json +8431 -0
  71. package/packages/database/migrations/meta/_journal.json +14 -0
  72. package/packages/database/src/core/migrations.json +36 -7
  73. package/packages/database/src/models/message.ts +1 -1
  74. package/packages/database/src/models/session.ts +42 -1
  75. package/packages/database/src/schemas/agent.ts +1 -0
  76. package/packages/database/src/schemas/message.ts +5 -8
  77. package/packages/electron-client-ipc/src/events/index.ts +6 -1
  78. package/packages/electron-client-ipc/src/events/remoteServer.ts +8 -0
  79. package/packages/fetch-sse/package.json +29 -0
  80. package/packages/{utils/src/fetch → fetch-sse/src}/__tests__/fetchSSE.test.ts +4 -4
  81. package/packages/{utils/src/fetch → fetch-sse/src}/__tests__/parseError.test.ts +7 -4
  82. package/packages/{utils/src/fetch → fetch-sse/src}/fetchSSE.ts +2 -2
  83. package/packages/{utils/src/fetch → fetch-sse/src}/parseError.ts +3 -3
  84. package/packages/model-bank/src/aiModels/mistral.ts +2 -1
  85. package/packages/model-runtime/src/core/contextBuilders/anthropic.test.ts +17 -11
  86. package/packages/model-runtime/src/core/contextBuilders/anthropic.ts +1 -1
  87. package/packages/model-runtime/src/core/contextBuilders/google.test.ts +1 -1
  88. package/packages/model-runtime/src/core/contextBuilders/google.ts +3 -6
  89. package/packages/model-runtime/src/core/contextBuilders/openai.test.ts +4 -2
  90. package/packages/model-runtime/src/core/contextBuilders/openai.ts +1 -1
  91. package/packages/model-runtime/src/core/openaiCompatibleFactory/createImage.test.ts +1 -1
  92. package/packages/model-runtime/src/core/openaiCompatibleFactory/createImage.ts +1 -1
  93. package/packages/model-runtime/src/core/openaiCompatibleFactory/index.test.ts +3 -6
  94. package/packages/model-runtime/src/core/streams/openai/responsesStream.test.ts +1 -1
  95. package/packages/model-runtime/src/helpers/mergeChatMethodOptions.ts +2 -1
  96. package/packages/model-runtime/src/providers/aihubmix/index.test.ts +1 -1
  97. package/packages/model-runtime/src/providers/anthropic/generateObject.test.ts +1 -1
  98. package/packages/model-runtime/src/providers/anthropic/index.test.ts +1 -1
  99. package/packages/model-runtime/src/providers/baichuan/index.test.ts +1 -1
  100. package/packages/model-runtime/src/providers/bedrock/index.test.ts +1 -1
  101. package/packages/model-runtime/src/providers/bfl/createImage.test.ts +4 -4
  102. package/packages/model-runtime/src/providers/bfl/createImage.ts +1 -1
  103. package/packages/model-runtime/src/providers/cloudflare/index.test.ts +1 -1
  104. package/packages/model-runtime/src/providers/cohere/index.test.ts +1 -1
  105. package/packages/model-runtime/src/providers/google/createImage.test.ts +2 -2
  106. package/packages/model-runtime/src/providers/google/createImage.ts +1 -1
  107. package/packages/model-runtime/src/providers/google/generateObject.test.ts +1 -1
  108. package/packages/model-runtime/src/providers/google/index.test.ts +1 -4
  109. package/packages/model-runtime/src/providers/groq/index.test.ts +1 -1
  110. package/packages/model-runtime/src/providers/hunyuan/index.test.ts +1 -1
  111. package/packages/model-runtime/src/providers/minimax/createImage.test.ts +1 -1
  112. package/packages/model-runtime/src/providers/mistral/index.test.ts +1 -1
  113. package/packages/model-runtime/src/providers/moonshot/index.test.ts +1 -1
  114. package/packages/model-runtime/src/providers/novita/index.test.ts +1 -1
  115. package/packages/model-runtime/src/providers/ollama/index.test.ts +43 -32
  116. package/packages/model-runtime/src/providers/ollama/index.ts +31 -7
  117. package/packages/model-runtime/src/providers/openrouter/index.test.ts +1 -1
  118. package/packages/model-runtime/src/providers/perplexity/index.test.ts +1 -1
  119. package/packages/model-runtime/src/providers/ppio/index.test.ts +1 -1
  120. package/packages/model-runtime/src/providers/qwen/createImage.test.ts +1 -1
  121. package/packages/model-runtime/src/providers/search1api/index.test.ts +1 -1
  122. package/packages/model-runtime/src/providers/siliconcloud/createImage.ts +1 -1
  123. package/packages/model-runtime/src/providers/taichu/index.test.ts +1 -1
  124. package/packages/model-runtime/src/providers/wenxin/index.test.ts +1 -1
  125. package/packages/model-runtime/src/providers/zhipu/index.test.ts +1 -1
  126. package/packages/model-runtime/src/utils/errorResponse.test.ts +1 -1
  127. package/packages/ssrf-safe-fetch/index.browser.ts +14 -0
  128. package/packages/ssrf-safe-fetch/package.json +8 -1
  129. package/packages/types/src/discover/assistants.ts +16 -0
  130. package/packages/types/src/index.ts +1 -0
  131. package/packages/types/src/message/common/tools.ts +10 -0
  132. package/packages/types/src/message/db/item.ts +15 -1
  133. package/packages/types/src/message/ui/params.ts +15 -1
  134. package/packages/types/src/meta.ts +4 -0
  135. package/packages/types/src/session/agentSession.ts +2 -0
  136. package/packages/utils/src/imageToBase64.ts +17 -10
  137. package/packages/utils/src/index.ts +1 -1
  138. package/src/app/(backend)/market/agent/[[...segments]]/route.ts +153 -0
  139. package/src/app/(backend)/market/oidc/[[...segments]]/route.ts +207 -0
  140. package/src/app/[variants]/(main)/(mobile)/me/settings/features/useCategory.tsx +1 -0
  141. package/src/app/[variants]/(main)/_layout/Desktop/SideBar/PinList/index.tsx +4 -2
  142. package/src/app/[variants]/(main)/chat/settings/features/AgentInfoDescription/index.tsx +349 -0
  143. package/src/app/[variants]/(main)/chat/settings/features/HeaderContent.tsx +2 -2
  144. package/src/app/[variants]/(main)/chat/settings/features/PublishResultModal/index.tsx +64 -0
  145. package/src/app/[variants]/(main)/chat/settings/features/SmartAgentActionButton/MarketPublishButton.tsx +196 -0
  146. package/src/app/[variants]/(main)/chat/settings/features/SmartAgentActionButton/MarketPublishModal.tsx +358 -0
  147. package/src/app/[variants]/(main)/chat/settings/features/SmartAgentActionButton/index.tsx +75 -0
  148. package/src/app/[variants]/(main)/discover/(detail)/assistant/AssistantDetailPage.tsx +11 -2
  149. package/src/app/[variants]/(main)/discover/(detail)/assistant/[...slugs]/Client.tsx +12 -1
  150. package/src/app/[variants]/(main)/discover/(detail)/assistant/[...slugs]/features/Details/Nav.tsx +19 -12
  151. package/src/app/[variants]/(main)/discover/(detail)/assistant/[...slugs]/features/Details/Overview/TagList.tsx +14 -5
  152. package/src/app/[variants]/(main)/discover/(detail)/assistant/[...slugs]/features/Details/Overview/index.tsx +2 -0
  153. package/src/app/[variants]/(main)/discover/(detail)/assistant/[...slugs]/features/Details/Related/index.tsx +14 -5
  154. package/src/app/[variants]/(main)/discover/(detail)/assistant/[...slugs]/features/Details/SystemRole/TagList.tsx +14 -5
  155. package/src/app/[variants]/(main)/discover/(detail)/assistant/[...slugs]/features/Details/SystemRole/index.tsx +43 -29
  156. package/src/app/[variants]/(main)/discover/(detail)/assistant/[...slugs]/features/Details/Versions/index.tsx +137 -0
  157. package/src/app/[variants]/(main)/discover/(detail)/assistant/[...slugs]/features/Details/index.tsx +2 -0
  158. package/src/app/[variants]/(main)/discover/(detail)/assistant/[...slugs]/features/Header.tsx +9 -10
  159. package/src/app/[variants]/(main)/discover/(detail)/assistant/[...slugs]/features/Sidebar/ActionButton/AddAgent.tsx +105 -14
  160. package/src/app/[variants]/(main)/discover/(detail)/assistant/[...slugs]/features/Sidebar/Related/index.tsx +20 -6
  161. package/src/app/[variants]/(main)/discover/(detail)/assistant/[...slugs]/features/StatusPage/index.tsx +113 -0
  162. package/src/app/[variants]/(main)/discover/(detail)/features/Breadcrumb.tsx +4 -3
  163. package/src/app/[variants]/(main)/discover/(list)/_layout/Desktop/Nav.tsx +3 -1
  164. package/src/app/[variants]/(main)/discover/(list)/assistant/AssistantPage.tsx +4 -1
  165. package/src/app/[variants]/(main)/discover/(list)/assistant/Client.tsx +6 -2
  166. package/src/app/[variants]/(main)/discover/(list)/assistant/features/Category/index.tsx +7 -3
  167. package/src/app/[variants]/(main)/discover/(list)/assistant/features/List/Item.tsx +13 -2
  168. package/src/app/[variants]/(main)/discover/(list)/assistant/features/MarketSourceSwitch.tsx +64 -0
  169. package/src/app/[variants]/(main)/discover/(list)/features/SortButton/index.tsx +26 -7
  170. package/src/app/[variants]/(main)/profile/_layout/Desktop/index.tsx +10 -10
  171. package/src/app/[variants]/(main)/settings/_layout/type.ts +1 -1
  172. package/src/app/[variants]/(main)/settings/agent/index.tsx +11 -10
  173. package/src/app/[variants]/(main)/settings/common/index.tsx +1 -1
  174. package/src/app/[variants]/(main)/settings/page.tsx +13 -10
  175. package/src/app/[variants]/(main)/settings/provider/ProviderMenu/Item.tsx +35 -36
  176. package/src/app/[variants]/(main)/settings/provider/ProviderMenu/SearchResult.tsx +5 -5
  177. package/src/app/[variants]/(main)/settings/provider/_layout/Desktop/Container.tsx +10 -4
  178. package/src/app/market-auth-callback/layout.tsx +15 -0
  179. package/src/app/market-auth-callback/page.tsx +196 -0
  180. package/src/features/AgentSetting/AgentPrompt/TokenTag.tsx +3 -2
  181. package/src/features/AgentSetting/AgentTTS/SelectWithTTSPreview.tsx +1 -1
  182. package/src/features/AgentSetting/store/action.ts +1 -1
  183. package/src/features/ChatInput/ActionBar/STT/browser.tsx +1 -1
  184. package/src/features/ChatInput/ActionBar/STT/openai.tsx +1 -1
  185. package/src/features/Conversation/components/Extras/TTS/InitPlayer.tsx +1 -1
  186. package/src/features/PluginTag/PluginStatus.tsx +1 -1
  187. package/src/hooks/useAgentOwnershipCheck.ts +143 -0
  188. package/src/instrumentation.node.ts +3 -2
  189. package/src/layout/AuthProvider/MarketAuth/MarketAuthProvider.tsx +364 -0
  190. package/src/layout/AuthProvider/MarketAuth/errors.ts +75 -0
  191. package/src/layout/AuthProvider/MarketAuth/index.ts +2 -0
  192. package/src/layout/AuthProvider/MarketAuth/oidc.ts +382 -0
  193. package/src/layout/AuthProvider/MarketAuth/types.ts +64 -0
  194. package/src/layout/AuthProvider/index.tsx +17 -4
  195. package/src/locales/default/discover.ts +46 -0
  196. package/src/locales/default/index.ts +2 -0
  197. package/src/locales/default/marketAuth.ts +42 -0
  198. package/src/locales/default/setting.ts +94 -1
  199. package/src/server/globalConfig/genServerAiProviderConfig.test.ts +5 -5
  200. package/src/server/globalConfig/genServerAiProviderConfig.ts +1 -1
  201. package/src/server/routers/lambda/market/index.ts +36 -14
  202. package/src/server/routers/lambda/message.ts +2 -2
  203. package/src/server/services/discover/index.test.ts +153 -11
  204. package/src/server/services/discover/index.ts +339 -40
  205. package/src/server/sitemap.ts +49 -35
  206. package/src/services/_url.ts +15 -1
  207. package/src/services/chat/chat.test.ts +5 -5
  208. package/src/services/chat/clientModelRuntime.test.ts +1 -1
  209. package/src/services/chat/index.ts +6 -6
  210. package/src/services/chat/types.ts +1 -2
  211. package/src/services/discover.ts +16 -5
  212. package/src/services/electron/remoteServer.ts +8 -1
  213. package/src/services/marketApi.ts +124 -0
  214. package/src/services/models.ts +2 -1
  215. package/src/store/discover/slices/assistant/action.ts +20 -7
  216. package/{packages/utils/src → src/utils}/electron/desktopRemoteRPCFetch.ts +1 -1
  217. package/{packages/utils/src → src/utils/server}/parseModels.ts +1 -2
  218. package/vitest.config.mts +2 -0
  219. package/packages/model-runtime/src/utils/imageToBase64.test.ts +0 -91
  220. package/packages/model-runtime/src/utils/imageToBase64.ts +0 -62
  221. package/src/app/[variants]/(main)/chat/settings/features/SubmitAgentButton/SubmitAgentModal.tsx +0 -98
  222. package/src/app/[variants]/(main)/chat/settings/features/SubmitAgentButton/index.tsx +0 -35
  223. package/src/app/[variants]/(main)/chat/settings/features/SubmitAgentButton/style.ts +0 -47
  224. /package/packages/{utils/src/fetch → fetch-sse/src}/headers.ts +0 -0
  225. /package/packages/{utils/src/fetch → fetch-sse/src}/index.ts +0 -0
  226. /package/packages/{utils/src/fetch → fetch-sse/src}/request.ts +0 -0
  227. /package/{packages/utils/src → src/utils/server}/__snapshots__/parseModels.test.ts.snap +0 -0
  228. /package/{packages/utils/src → src/utils/server}/parseModels.test.ts +0 -0
@@ -41,9 +41,29 @@
41
41
  "openingMessage": "Tin nhắn mở đầu",
42
42
  "openingQuestions": "Câu hỏi mở đầu",
43
43
  "title": "Cài đặt trợ lý"
44
+ },
45
+ "version": {
46
+ "empty": "Chưa có phiên bản lịch sử",
47
+ "status": {
48
+ "archived": "Đã lưu trữ",
49
+ "deprecated": "Đã từ chối",
50
+ "unpublished": "Đang chờ duyệt"
51
+ },
52
+ "table": {
53
+ "isLatest": "Phiên bản mới nhất",
54
+ "isValidated": "Đã xác minh",
55
+ "publishAt": "Ngày phát hành",
56
+ "version": "Số phiên bản"
57
+ },
58
+ "title": "Lịch sử phiên bản"
44
59
  }
45
60
  },
46
61
  "list": "Danh sách trợ lý",
62
+ "marketSource": {
63
+ "label": "Chuyển đổi nguồn thị trường",
64
+ "legacy": "Thị trường cũ",
65
+ "new": "Thị trường mới"
66
+ },
47
67
  "more": "Thêm",
48
68
  "plugins": "Tích hợp plugin",
49
69
  "recentSubmits": "Cập nhật gần đây",
@@ -51,10 +71,35 @@
51
71
  "createdAt": "Mới phát hành",
52
72
  "identifier": "ID trợ lý",
53
73
  "knowledgeCount": "Số kho tri thức",
74
+ "myown": "Xem của tôi",
54
75
  "pluginCount": "Số plugin",
55
76
  "title": "Tên trợ lý",
56
77
  "tokenUsage": "Lượng Token sử dụng"
57
78
  },
79
+ "status": {
80
+ "archived": {
81
+ "reasons": {
82
+ "official": "Trợ lý bị gỡ bỏ do vấn đề an toàn/chính trị bởi cơ quan chính thức",
83
+ "owner": "Chủ sở hữu của trợ lý đã chủ động gỡ bỏ/lưu trữ trợ lý này"
84
+ },
85
+ "subtitle": "Trợ lý bạn đang truy cập đã bị lưu trữ vì một trong các lý do sau:",
86
+ "title": "Trợ lý đã bị lưu trữ"
87
+ },
88
+ "backToMarket": "Quay lại thị trường trợ lý",
89
+ "deprecated": {
90
+ "reasons": {
91
+ "official": "Trợ lý bị gỡ bỏ do vấn đề an toàn/chính trị bởi cơ quan chính thức",
92
+ "owner": "Chủ sở hữu của trợ lý đã chủ động gỡ bỏ/từ chối trợ lý này"
93
+ },
94
+ "subtitle": "Trợ lý bạn đang truy cập đã bị từ chối vì một trong các lý do sau:",
95
+ "title": "Trợ lý đã bị từ chối"
96
+ },
97
+ "support": "Nếu gặp bất kỳ vấn đề nào, vui lòng sao chép liên kết và gửi đến <1>support@lobehub.com</1> để được hỗ trợ.",
98
+ "unpublished": {
99
+ "subtitle": "Trợ lý bạn đang truy cập hiện đang trong quá trình kiểm duyệt phiên bản. Nếu có thắc mắc, vui lòng sao chép liên kết và gửi câu hỏi đến <1>support@lobehub.com</1> để được hỗ trợ.",
100
+ "title": "Trợ lý đang chờ duyệt"
101
+ }
102
+ },
58
103
  "suggestions": "Gợi ý liên quan",
59
104
  "systemRole": "Cài đặt trợ lý",
60
105
  "tokenUsage": "Lượng Token sử dụng cho lời nhắc trợ lý",
@@ -0,0 +1,42 @@
1
+ {
2
+ "callback": {
3
+ "buttons": {
4
+ "close": "Đóng cửa sổ"
5
+ },
6
+ "messages": {
7
+ "authFailed": "Xác thực thất bại: {{error}}",
8
+ "missingParams": "Thiếu tham số xác thực",
9
+ "processing": "Đang xử lý xác thực...",
10
+ "successWithCountdown": "{{message}} Cửa sổ sẽ tự động đóng sau {{countdown}} giây",
11
+ "successWithRedirect": "Xác thực thành công! Đang chuyển hướng..."
12
+ },
13
+ "titles": {
14
+ "error": "Xác thực thất bại",
15
+ "loading": "Xác thực LobeHub Market",
16
+ "success": "Xác thực thành công"
17
+ }
18
+ },
19
+ "errors": {
20
+ "authorizationFailed": "Xác thực thất bại, vui lòng thử lại.",
21
+ "browserOnly": "Quy trình xác thực chỉ có thể bắt đầu trong trình duyệt.",
22
+ "codeConsumed": "Mã xác thực đã được sử dụng, vui lòng thử lại.",
23
+ "codeVerifierMissing": "Phiên xác thực không hợp lệ, vui lòng đăng nhập lại.",
24
+ "general": "Đã xảy ra lỗi xác thực, vui lòng thử lại.",
25
+ "handoffFailed": "Không thể lấy kết quả xác thực, vui lòng thử lại.",
26
+ "handoffTimeout": "Hết thời gian xác thực, vui lòng hoàn tất thao tác trong trình duyệt rồi thử lại.",
27
+ "oidcNotReady": "Dịch vụ xác thực chưa sẵn sàng, vui lòng thử lại sau.",
28
+ "openBrowserFailed": "Không thể mở trình duyệt hệ thống, vui lòng thử lại.",
29
+ "openPopupFailed": "Không thể mở cửa sổ xác thực, vui lòng kiểm tra cài đặt chặn cửa sổ bật lên của trình duyệt.",
30
+ "popupClosed": "Cửa sổ xác thực đã bị đóng trước khi hoàn tất.",
31
+ "sessionExpired": "Phiên xác thực đã hết hạn, vui lòng đăng nhập lại.",
32
+ "stateMismatch": "Trạng thái xác thực không khớp, vui lòng thử lại.",
33
+ "stateMissing": "Không tìm thấy trạng thái xác thực, vui lòng thử lại."
34
+ },
35
+ "messages": {
36
+ "loading": "Đang khởi động quy trình xác thực...",
37
+ "success": {
38
+ "submit": "Xác thực thành công! Bây giờ bạn có thể xuất bản trợ lý.",
39
+ "upload": "Xác thực thành công! Bây giờ bạn có thể xuất bản phiên bản mới."
40
+ }
41
+ }
42
+ }
@@ -2,6 +2,45 @@
2
2
  "about": {
3
3
  "title": "Về chúng tôi"
4
4
  },
5
+ "agentInfoDescription": {
6
+ "basic": {
7
+ "avatar": "Ảnh đại diện",
8
+ "description": "Mô tả",
9
+ "name": "Tên",
10
+ "tags": "Thẻ",
11
+ "title": "Thông tin trợ lý"
12
+ },
13
+ "chat": {
14
+ "displayMode": "Chế độ hiển thị",
15
+ "enableHistoryCount": "Bật đếm tin nhắn lịch sử",
16
+ "historyCount": "Số lượng tin nhắn lịch sử",
17
+ "no": "Không",
18
+ "searchMode": "Chế độ tìm kiếm",
19
+ "title": "Tùy chọn trò chuyện",
20
+ "yes": "Có"
21
+ },
22
+ "model": {
23
+ "maxTokens": "Số lượng Token tối đa",
24
+ "model": "Mô hình",
25
+ "provider": "Nhà cung cấp",
26
+ "temperature": "Nhiệt độ",
27
+ "title": "Cài đặt mô hình",
28
+ "topP": "Giá trị Top P"
29
+ },
30
+ "plugins": {
31
+ "count": "Cài đặt plugin ({{count}})",
32
+ "empty": "Chưa cài đặt plugin nào",
33
+ "title": "Plugin đã cài đặt"
34
+ },
35
+ "role": {
36
+ "systemRole": "Lời nhắc hệ thống",
37
+ "title": "Cài đặt vai trò"
38
+ },
39
+ "value": {
40
+ "unset": "Chưa thiết lập",
41
+ "untitled": "Trợ lý chưa có tên"
42
+ }
43
+ },
5
44
  "agentTab": {
6
45
  "chat": "Tùy chọn Trò chuyện",
7
46
  "meta": "Thông tin Trợ lý",
@@ -18,6 +57,8 @@
18
57
  },
19
58
  "title": "Thống kê dữ liệu"
20
59
  },
60
+ "checking": "Đang kiểm tra...",
61
+ "checkingPermissions": "Đang kiểm tra quyền...",
21
62
  "danger": {
22
63
  "clear": {
23
64
  "action": "Xóa ngay",
@@ -146,6 +187,58 @@
146
187
  },
147
188
  "waitingForMore": "Có thêm mô hình đang <1>được lên kế hoạch tích hợp</1>, hãy chờ đợi"
148
189
  },
190
+ "marketPublish": {
191
+ "modal": {
192
+ "changelog": {
193
+ "extra": "Mô tả những thay đổi và cải tiến chính trong phiên bản này",
194
+ "label": "Nhật ký thay đổi",
195
+ "maxLengthError": "Nhật ký thay đổi không được vượt quá 500 ký tự",
196
+ "placeholder": "Vui lòng nhập nhật ký thay đổi",
197
+ "required": "Vui lòng nhập nhật ký thay đổi"
198
+ },
199
+ "comparison": {
200
+ "local": "Phiên bản hiện tại trên máy",
201
+ "remote": "Phiên bản đã phát hành"
202
+ },
203
+ "identifier": {
204
+ "extra": "Định danh sẽ là mã định danh duy nhất của trợ lý, nên sử dụng chữ thường, số và dấu gạch ngang",
205
+ "label": "Định danh trợ lý",
206
+ "lengthError": "Độ dài định danh phải từ 3 đến 50 ký tự",
207
+ "patternError": "Định danh chỉ được chứa chữ thường, số và dấu gạch ngang",
208
+ "placeholder": "Vui lòng nhập định danh duy nhất cho trợ lý, ví dụ: web-development",
209
+ "required": "Vui lòng nhập định danh trợ lý"
210
+ },
211
+ "loading": {
212
+ "fetchingRemote": "Đang tải dữ liệu từ xa...",
213
+ "submit": "Đang phát hành trợ lý...",
214
+ "upload": "Đang phát hành phiên bản mới..."
215
+ },
216
+ "messages": {
217
+ "createVersionFailed": "Tạo phiên bản thất bại: {{message}}",
218
+ "fetchRemoteFailed": "Không thể lấy dữ liệu trợ lý từ xa",
219
+ "missingIdentifier": "Trợ lý hiện tại chưa có định danh thị trường",
220
+ "notAuthenticated": "Vui lòng đăng nhập tài khoản thị trường trước",
221
+ "publishFailed": "Phát hành thất bại: {{message}}"
222
+ },
223
+ "submitButton": "Phát hành",
224
+ "title": {
225
+ "submit": "Chia sẻ lên thị trường trợ lý",
226
+ "upload": "Phát hành phiên bản mới"
227
+ }
228
+ },
229
+ "resultModal": {
230
+ "message": "Trợ lý đã được gửi để kiểm duyệt, sẽ tự động hiển thị sau khi được phê duyệt. Nhấn “Xem trên thị trường” để xem trợ lý đã phát hành.",
231
+ "view": "Xem trên thị trường"
232
+ },
233
+ "submit": {
234
+ "button": "Chia sẻ lên thị trường",
235
+ "tooltip": "Chia sẻ trợ lý lên thị trường"
236
+ },
237
+ "upload": {
238
+ "button": "Phát hành phiên bản mới",
239
+ "tooltip": "Phát hành phiên bản mới lên thị trường trợ lý"
240
+ }
241
+ },
149
242
  "message": {
150
243
  "success": "Cập nhật thành công"
151
244
  },
@@ -561,7 +654,7 @@
561
654
  },
562
655
  "submitAgentModal": {
563
656
  "button": "Gửi trợ lý",
564
- "identifier": "Nhận dạng trợ lý",
657
+ "identifier": "Định danh trợ lý (identifier)",
565
658
  "metaMiss": "Vui lòng điền đầy đủ thông tin trợ lý trước khi gửi, cần bao gồm tên, mô tả và nhãn",
566
659
  "placeholder": "Vui lòng nhập nhận dạng trợ lý, cần phải duy nhất, ví dụ như phát triển web",
567
660
  "tooltips": "Chia sẻ lên thị trường trợ lý"
@@ -41,9 +41,29 @@
41
41
  "openingMessage": "开场消息",
42
42
  "openingQuestions": "开场问题",
43
43
  "title": "助手设定"
44
+ },
45
+ "version": {
46
+ "empty": "暂无历史版本",
47
+ "status": {
48
+ "archived": "已归档",
49
+ "deprecated": "已拒绝",
50
+ "unpublished": "审核中"
51
+ },
52
+ "table": {
53
+ "isLatest": "最新版本",
54
+ "isValidated": "已验证",
55
+ "publishAt": "发布日期",
56
+ "version": "版本号"
57
+ },
58
+ "title": "版本历史"
44
59
  }
45
60
  },
46
61
  "list": "助手列表",
62
+ "marketSource": {
63
+ "label": "切换市场源",
64
+ "legacy": "旧市场",
65
+ "new": "新市场"
66
+ },
47
67
  "more": "更多",
48
68
  "plugins": "集成插件",
49
69
  "recentSubmits": "最近更新",
@@ -51,11 +71,36 @@
51
71
  "createdAt": "最近发布",
52
72
  "identifier": "助手 ID",
53
73
  "knowledgeCount": "知识库数量",
74
+ "myown": "查看我的",
54
75
  "pluginCount": "插件数量",
55
76
  "title": "助手名称",
56
77
  "tokenUsage": "Token 使用量"
57
78
  },
58
79
  "suggestions": "相关推荐",
80
+ "status": {
81
+ "archived": {
82
+ "reasons": {
83
+ "official": "助手有安全/政治等问题,被官方下架",
84
+ "owner": "开发助手的 owner 主动下架/归档该助手"
85
+ },
86
+ "subtitle": "当前访问的助手已经因为以下可能的原因被归档了:",
87
+ "title": "助手已被归档"
88
+ },
89
+ "backToMarket": "返回助手市场",
90
+ "deprecated": {
91
+ "reasons": {
92
+ "official": "助手有安全/政治等问题,被官方下架",
93
+ "owner": "开发助手的 owner 主动下架/拒绝该助手"
94
+ },
95
+ "subtitle": "当前访问的助手已经因为以下可能的原因被拒绝了:",
96
+ "title": "助手已被拒绝"
97
+ },
98
+ "support": "有各种问题请复制链接发送到 <1>support@lobehub.com</1> 进行咨询。",
99
+ "unpublished": {
100
+ "subtitle": "当前访问的助手正在进行版本审核中,如果有疑问复制链接发送问题到 <1>support@lobehub.com</1> 进行咨询。",
101
+ "title": "助手正在审核中"
102
+ }
103
+ },
59
104
  "systemRole": "助手设定",
60
105
  "tokenUsage": "助手提示词 Token 使用量",
61
106
  "try": "试一下",
@@ -0,0 +1,42 @@
1
+ {
2
+ "callback": {
3
+ "buttons": {
4
+ "close": "关闭窗口"
5
+ },
6
+ "messages": {
7
+ "authFailed": "授权失败: {{error}}",
8
+ "missingParams": "授权参数缺失",
9
+ "processing": "正在处理授权...",
10
+ "successWithCountdown": "{{message}} 窗口将在 {{countdown}} 秒后自动关闭",
11
+ "successWithRedirect": "授权成功!正在跳转..."
12
+ },
13
+ "titles": {
14
+ "error": "授权失败",
15
+ "loading": "LobeHub Market 授权",
16
+ "success": "授权成功"
17
+ }
18
+ },
19
+ "errors": {
20
+ "authorizationFailed": "授权失败,请重试。",
21
+ "browserOnly": "授权流程只能在浏览器中发起。",
22
+ "codeConsumed": "授权码已被使用,请重新尝试。",
23
+ "codeVerifierMissing": "授权会话无效,请重新发起登录流程。",
24
+ "general": "授权出现错误,请重试。",
25
+ "handoffFailed": "无法获取授权结果,请重试。",
26
+ "handoffTimeout": "授权超时,请在浏览器中完成操作后重试。",
27
+ "oidcNotReady": "授权服务尚未就绪,请稍后再试。",
28
+ "openBrowserFailed": "无法打开系统浏览器,请重试。",
29
+ "openPopupFailed": "无法打开授权弹窗,请检查浏览器的弹窗拦截设置。",
30
+ "popupClosed": "授权窗口未完成即被关闭。",
31
+ "sessionExpired": "授权会话已过期,请重新登录。",
32
+ "stateMismatch": "授权状态不匹配,请重试。",
33
+ "stateMissing": "未找到授权状态,请重试。"
34
+ },
35
+ "messages": {
36
+ "loading": "正在启动授权流程...",
37
+ "success": {
38
+ "submit": "授权成功!现在可以发布助手了。",
39
+ "upload": "授权成功!现在可以发布新版本了。"
40
+ }
41
+ }
42
+ }
@@ -2,6 +2,45 @@
2
2
  "about": {
3
3
  "title": "关于"
4
4
  },
5
+ "agentInfoDescription": {
6
+ "basic": {
7
+ "avatar": "头像",
8
+ "description": "描述",
9
+ "name": "名称",
10
+ "tags": "标签",
11
+ "title": "助手信息"
12
+ },
13
+ "chat": {
14
+ "displayMode": "展示模式",
15
+ "enableHistoryCount": "启用历史消息计数",
16
+ "historyCount": "历史消息数量",
17
+ "no": "否",
18
+ "searchMode": "搜索模式",
19
+ "title": "聊天偏好",
20
+ "yes": "是"
21
+ },
22
+ "model": {
23
+ "maxTokens": "最大 Token 数",
24
+ "model": "模型",
25
+ "provider": "服务商",
26
+ "temperature": "温度",
27
+ "title": "模型设置",
28
+ "topP": "Top P 值"
29
+ },
30
+ "plugins": {
31
+ "count": "插件设置({{count}})",
32
+ "empty": "尚未安装插件",
33
+ "title": "已安装插件"
34
+ },
35
+ "role": {
36
+ "systemRole": "系统提示词",
37
+ "title": "角色设置"
38
+ },
39
+ "value": {
40
+ "unset": "未设置",
41
+ "untitled": "未命名助手"
42
+ }
43
+ },
5
44
  "agentTab": {
6
45
  "chat": "聊天偏好",
7
46
  "meta": "助手信息",
@@ -18,6 +57,8 @@
18
57
  },
19
58
  "title": "数据统计"
20
59
  },
60
+ "checking": "检查中...",
61
+ "checkingPermissions": "检查权限中...",
21
62
  "danger": {
22
63
  "clear": {
23
64
  "action": "立即清除",
@@ -146,6 +187,58 @@
146
187
  },
147
188
  "waitingForMore": "更多模型正在 <1>计划接入</1> 中,敬请期待"
148
189
  },
190
+ "marketPublish": {
191
+ "modal": {
192
+ "changelog": {
193
+ "extra": "描述此版本的主要变更和改进",
194
+ "label": "变更日志",
195
+ "maxLengthError": "变更日志不能超过500个字符",
196
+ "placeholder": "请输入变更日志",
197
+ "required": "请输入变更日志"
198
+ },
199
+ "comparison": {
200
+ "local": "本地当前版本",
201
+ "remote": "当前发布版本"
202
+ },
203
+ "identifier": {
204
+ "extra": "标识符将作为助手的唯一标识,建议使用小写字母、数字和连字符",
205
+ "label": "助手标识符",
206
+ "lengthError": "标识符长度应在3-50个字符之间",
207
+ "patternError": "标识符只能包含小写字母、数字和连字符",
208
+ "placeholder": "请输入助手的唯一标识符,如: web-development",
209
+ "required": "请输入助手标识符"
210
+ },
211
+ "loading": {
212
+ "fetchingRemote": "正在加载远程数据...",
213
+ "submit": "正在发布助手...",
214
+ "upload": "正在发布新版本..."
215
+ },
216
+ "messages": {
217
+ "createVersionFailed": "版本创建失败: {{message}}",
218
+ "fetchRemoteFailed": "获取远程助手数据失败",
219
+ "missingIdentifier": "当前助手还没有市场标识符",
220
+ "notAuthenticated": "请先登录市场账户",
221
+ "publishFailed": "发布失败: {{message}}"
222
+ },
223
+ "submitButton": "发布",
224
+ "title": {
225
+ "submit": "分享到助手市场",
226
+ "upload": "发布新版本"
227
+ }
228
+ },
229
+ "resultModal": {
230
+ "message": "助手已提交审核,审核通过后将自动上线。点击「在市场查看」查看已发布的助手。",
231
+ "view": "在市场查看"
232
+ },
233
+ "submit": {
234
+ "button": "分享到市场",
235
+ "tooltip": "分享助手到市场"
236
+ },
237
+ "upload": {
238
+ "button": "发布新版本",
239
+ "tooltip": "发布新版本到助手市场"
240
+ }
241
+ },
149
242
  "message": {
150
243
  "success": "更新成功"
151
244
  },
@@ -561,7 +654,7 @@
561
654
  },
562
655
  "submitAgentModal": {
563
656
  "button": "提交助手",
564
- "identifier": "identifier 助手标识符",
657
+ "identifier": "助手标识符(identifier",
565
658
  "metaMiss": "请补全助手信息后提交,需要包含名称、描述和标签",
566
659
  "placeholder": "请输入助手的标识符,需要是唯一的,比如 web-development",
567
660
  "tooltips": "分享到助手市场"
@@ -41,9 +41,29 @@
41
41
  "openingMessage": "開場訊息",
42
42
  "openingQuestions": "開場問題",
43
43
  "title": "助理設定"
44
+ },
45
+ "version": {
46
+ "empty": "暫無歷史版本",
47
+ "status": {
48
+ "archived": "已封存",
49
+ "deprecated": "已拒絕",
50
+ "unpublished": "審核中"
51
+ },
52
+ "table": {
53
+ "isLatest": "最新版本",
54
+ "isValidated": "已驗證",
55
+ "publishAt": "發佈日期",
56
+ "version": "版本號"
57
+ },
58
+ "title": "版本歷史"
44
59
  }
45
60
  },
46
61
  "list": "助手列表",
62
+ "marketSource": {
63
+ "label": "切換市集來源",
64
+ "legacy": "舊市集",
65
+ "new": "新市集"
66
+ },
47
67
  "more": "更多",
48
68
  "plugins": "集成插件",
49
69
  "recentSubmits": "最近更新",
@@ -51,10 +71,35 @@
51
71
  "createdAt": "最近發布",
52
72
  "identifier": "助理 ID",
53
73
  "knowledgeCount": "知識庫數量",
74
+ "myown": "查看我的",
54
75
  "pluginCount": "外掛數量",
55
76
  "title": "助理名稱",
56
77
  "tokenUsage": "Token 使用量"
57
78
  },
79
+ "status": {
80
+ "archived": {
81
+ "reasons": {
82
+ "official": "助手因安全/政治等問題被官方下架",
83
+ "owner": "開發助手的擁有者主動下架/封存該助手"
84
+ },
85
+ "subtitle": "當前訪問的助手已因以下可能原因被封存:",
86
+ "title": "助手已被封存"
87
+ },
88
+ "backToMarket": "返回助手市集",
89
+ "deprecated": {
90
+ "reasons": {
91
+ "official": "助手因安全/政治等問題被官方下架",
92
+ "owner": "開發助手的擁有者主動下架/拒絕該助手"
93
+ },
94
+ "subtitle": "當前訪問的助手已因以下可能原因被拒絕:",
95
+ "title": "助手已被拒絕"
96
+ },
97
+ "support": "如有任何問題,請複製連結並發送至 <1>support@lobehub.com</1> 進行諮詢。",
98
+ "unpublished": {
99
+ "subtitle": "當前訪問的助手正在進行版本審核中,如有疑問請複製連結並發送問題至 <1>support@lobehub.com</1> 進行諮詢。",
100
+ "title": "助手正在審核中"
101
+ }
102
+ },
58
103
  "suggestions": "相關推薦",
59
104
  "systemRole": "助手設定",
60
105
  "tokenUsage": "助理提示詞 Token 使用量",
@@ -0,0 +1,42 @@
1
+ {
2
+ "callback": {
3
+ "buttons": {
4
+ "close": "關閉視窗"
5
+ },
6
+ "messages": {
7
+ "authFailed": "授權失敗:{{error}}",
8
+ "missingParams": "授權參數缺失",
9
+ "processing": "正在處理授權中⋯⋯",
10
+ "successWithCountdown": "{{message}} 視窗將於 {{countdown}} 秒後自動關閉",
11
+ "successWithRedirect": "授權成功!正在重新導向⋯⋯"
12
+ },
13
+ "titles": {
14
+ "error": "授權失敗",
15
+ "loading": "LobeHub Market 授權中",
16
+ "success": "授權成功"
17
+ }
18
+ },
19
+ "errors": {
20
+ "authorizationFailed": "授權失敗,請重試。",
21
+ "browserOnly": "授權流程僅能在瀏覽器中啟動。",
22
+ "codeConsumed": "授權碼已被使用,請重新嘗試。",
23
+ "codeVerifierMissing": "授權會話無效,請重新啟動登入流程。",
24
+ "general": "授權發生錯誤,請重試。",
25
+ "handoffFailed": "無法取得授權結果,請重試。",
26
+ "handoffTimeout": "授權逾時,請在瀏覽器中完成操作後重試。",
27
+ "oidcNotReady": "授權服務尚未準備就緒,請稍後再試。",
28
+ "openBrowserFailed": "無法開啟系統瀏覽器,請重試。",
29
+ "openPopupFailed": "無法開啟授權彈出視窗,請檢查瀏覽器的彈出視窗封鎖設定。",
30
+ "popupClosed": "授權視窗尚未完成即被關閉。",
31
+ "sessionExpired": "授權會話已過期,請重新登入。",
32
+ "stateMismatch": "授權狀態不符,請重試。",
33
+ "stateMissing": "找不到授權狀態,請重試。"
34
+ },
35
+ "messages": {
36
+ "loading": "正在啟動授權流程⋯⋯",
37
+ "success": {
38
+ "submit": "授權成功!現在可以發佈助手了。",
39
+ "upload": "授權成功!現在可以發佈新版本了。"
40
+ }
41
+ }
42
+ }