@lobehub/chat 1.43.6 → 1.44.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 (298) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/changelog/v1.json +9 -0
  3. package/docs/self-hosting/server-database/docker-compose.mdx +2 -2
  4. package/locales/ar/common.json +1 -0
  5. package/locales/ar/modelProvider.json +176 -0
  6. package/locales/ar/setting.json +1 -0
  7. package/locales/bg-BG/common.json +1 -0
  8. package/locales/bg-BG/modelProvider.json +176 -0
  9. package/locales/bg-BG/setting.json +1 -0
  10. package/locales/de-DE/common.json +1 -0
  11. package/locales/de-DE/modelProvider.json +176 -0
  12. package/locales/de-DE/setting.json +1 -0
  13. package/locales/en-US/common.json +1 -0
  14. package/locales/en-US/modelProvider.json +176 -0
  15. package/locales/en-US/setting.json +1 -0
  16. package/locales/es-ES/common.json +1 -0
  17. package/locales/es-ES/modelProvider.json +176 -0
  18. package/locales/es-ES/setting.json +1 -0
  19. package/locales/fa-IR/common.json +1 -0
  20. package/locales/fa-IR/modelProvider.json +176 -0
  21. package/locales/fa-IR/setting.json +1 -0
  22. package/locales/fr-FR/common.json +1 -0
  23. package/locales/fr-FR/modelProvider.json +176 -0
  24. package/locales/fr-FR/setting.json +1 -0
  25. package/locales/it-IT/common.json +1 -0
  26. package/locales/it-IT/modelProvider.json +176 -0
  27. package/locales/it-IT/setting.json +1 -0
  28. package/locales/ja-JP/common.json +1 -0
  29. package/locales/ja-JP/modelProvider.json +176 -0
  30. package/locales/ja-JP/setting.json +1 -0
  31. package/locales/ko-KR/common.json +1 -0
  32. package/locales/ko-KR/modelProvider.json +176 -0
  33. package/locales/ko-KR/setting.json +1 -0
  34. package/locales/nl-NL/common.json +1 -0
  35. package/locales/nl-NL/modelProvider.json +176 -0
  36. package/locales/nl-NL/setting.json +1 -0
  37. package/locales/pl-PL/common.json +1 -0
  38. package/locales/pl-PL/modelProvider.json +176 -0
  39. package/locales/pl-PL/setting.json +1 -0
  40. package/locales/pt-BR/common.json +1 -0
  41. package/locales/pt-BR/modelProvider.json +176 -0
  42. package/locales/pt-BR/setting.json +1 -0
  43. package/locales/ru-RU/common.json +1 -0
  44. package/locales/ru-RU/modelProvider.json +176 -0
  45. package/locales/ru-RU/setting.json +1 -0
  46. package/locales/tr-TR/common.json +1 -0
  47. package/locales/tr-TR/modelProvider.json +176 -0
  48. package/locales/tr-TR/setting.json +1 -0
  49. package/locales/vi-VN/common.json +1 -0
  50. package/locales/vi-VN/modelProvider.json +176 -0
  51. package/locales/vi-VN/setting.json +1 -0
  52. package/locales/zh-CN/common.json +1 -0
  53. package/locales/zh-CN/modelProvider.json +176 -0
  54. package/locales/zh-CN/setting.json +1 -0
  55. package/locales/zh-TW/common.json +1 -0
  56. package/locales/zh-TW/modelProvider.json +176 -0
  57. package/locales/zh-TW/setting.json +1 -0
  58. package/package.json +4 -4
  59. package/src/app/(main)/(mobile)/me/settings/features/Category.tsx +1 -1
  60. package/src/app/(main)/(mobile)/me/settings/features/useCategory.tsx +12 -5
  61. package/src/app/(main)/changelog/features/VersionTag.tsx +1 -2
  62. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatList/ChatItem/Thread.tsx +1 -1
  63. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatList/ChatItem/ThreadItem.tsx +1 -2
  64. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatList/ChatItem/index.tsx +0 -1
  65. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatList/WelcomeChatItem/InboxWelcome/AgentsSuggest.tsx +1 -1
  66. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatList/WelcomeChatItem/InboxWelcome/QuestionSuggest.tsx +1 -1
  67. package/src/app/(main)/chat/(workspace)/@conversation/features/ZenModeToast/Toast.tsx +1 -1
  68. package/src/app/(main)/chat/(workspace)/@topic/features/TopicListContent/ThreadItem/index.tsx +0 -2
  69. package/src/app/(main)/chat/(workspace)/@topic/features/TopicListContent/TopicItem/index.tsx +0 -1
  70. package/src/app/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/Tags.tsx +2 -3
  71. package/src/app/(main)/chat/@session/features/SessionListContent/CollapseGroup/index.tsx +1 -1
  72. package/src/app/(main)/chat/features/Migration/Start.tsx +1 -1
  73. package/src/app/(main)/discover/(detail)/assistant/[slug]/features/ConversationExample/TopicList.tsx +4 -3
  74. package/src/app/(main)/discover/(detail)/assistant/[slug]/features/Header.tsx +1 -1
  75. package/src/app/(main)/discover/(detail)/features/ShareButton.tsx +2 -1
  76. package/src/app/(main)/discover/(detail)/model/[...slugs]/features/Header.tsx +1 -1
  77. package/src/app/(main)/discover/(detail)/plugin/[slug]/features/Header.tsx +1 -1
  78. package/src/app/(main)/discover/(detail)/provider/[slug]/features/Header.tsx +1 -1
  79. package/src/app/(main)/discover/(list)/_layout/Desktop/Nav.tsx +0 -1
  80. package/src/app/(main)/discover/(list)/assistants/features/Card.tsx +1 -1
  81. package/src/app/(main)/discover/(list)/models/features/Card.tsx +1 -1
  82. package/src/app/(main)/discover/(list)/plugins/features/Card.tsx +1 -1
  83. package/src/app/(main)/discover/(list)/providers/features/Card.tsx +1 -1
  84. package/src/app/(main)/discover/components/GridLoadingCard.tsx +2 -1
  85. package/src/app/(main)/discover/components/Title.tsx +1 -1
  86. package/src/app/(main)/files/(content)/@menu/features/KnowledgeBase/EmptyStatus.tsx +1 -1
  87. package/src/app/(main)/files/(content)/@menu/features/KnowledgeBase/Item/index.tsx +0 -1
  88. package/src/app/(main)/files/(content)/@modal/(.)[id]/FullscreenModal.tsx +2 -2
  89. package/src/app/(main)/files/(content)/NotSupportClient.tsx +2 -2
  90. package/src/app/(main)/profile/_layout/Desktop/SideBar.tsx +1 -1
  91. package/src/app/(main)/profile/stats/features/ShareButton/Preview.tsx +5 -5
  92. package/src/app/(main)/repos/[id]/evals/components/Container.tsx +1 -1
  93. package/src/app/(main)/repos/[id]/evals/dataset/DatasetList/Item.tsx +0 -1
  94. package/src/app/(main)/settings/_layout/Desktop/SideBar.tsx +1 -1
  95. package/src/app/(main)/settings/about/features/ItemCard.tsx +3 -3
  96. package/src/app/(main)/settings/about/features/Version.tsx +1 -1
  97. package/src/app/(main)/settings/hooks/useCategory.tsx +22 -9
  98. package/src/app/(main)/settings/llm/components/ProviderConfig/index.tsx +2 -1
  99. package/src/app/(main)/settings/llm/components/ProviderModelList/ModelFetcher.tsx +0 -1
  100. package/src/app/(main)/settings/provider/(detail)/[id]/index.tsx +19 -0
  101. package/src/app/(main)/settings/provider/(detail)/[id]/page.tsx +95 -0
  102. package/src/app/(main)/settings/provider/(detail)/azure/page.tsx +119 -0
  103. package/src/app/(main)/settings/provider/(detail)/bedrock/page.tsx +91 -0
  104. package/src/app/(main)/settings/provider/(detail)/cloudflare/page.tsx +58 -0
  105. package/src/app/(main)/settings/provider/(detail)/github/page.tsx +67 -0
  106. package/src/app/(main)/settings/provider/(detail)/huggingface/page.tsx +67 -0
  107. package/src/app/(main)/settings/provider/(detail)/ollama/Checker.tsx +73 -0
  108. package/src/app/(main)/settings/provider/(detail)/ollama/page.tsx +34 -0
  109. package/src/app/(main)/settings/provider/(detail)/openai/page.tsx +23 -0
  110. package/src/app/(main)/settings/provider/(detail)/wenxin/page.tsx +61 -0
  111. package/src/app/(main)/settings/provider/(list)/Footer.tsx +36 -0
  112. package/src/app/(main)/settings/provider/(list)/ProviderGrid/Card.tsx +134 -0
  113. package/src/app/(main)/settings/provider/(list)/ProviderGrid/index.tsx +91 -0
  114. package/src/app/(main)/settings/provider/(list)/index.tsx +19 -0
  115. package/src/app/(main)/settings/provider/ProviderMenu/AddNew.tsx +28 -0
  116. package/src/app/(main)/settings/provider/ProviderMenu/All.tsx +29 -0
  117. package/src/app/(main)/settings/provider/ProviderMenu/Item.tsx +69 -0
  118. package/src/app/(main)/settings/provider/ProviderMenu/List.tsx +76 -0
  119. package/src/app/(main)/settings/provider/ProviderMenu/SearchResult.tsx +43 -0
  120. package/src/app/(main)/settings/provider/ProviderMenu/SkeletonList.tsx +60 -0
  121. package/src/app/(main)/settings/provider/ProviderMenu/SortProviderModal/GroupItem.tsx +30 -0
  122. package/src/app/(main)/settings/provider/ProviderMenu/SortProviderModal/index.tsx +91 -0
  123. package/src/app/(main)/settings/provider/ProviderMenu/index.tsx +80 -0
  124. package/src/app/(main)/settings/provider/_layout/Desktop.tsx +37 -0
  125. package/src/app/(main)/settings/provider/_layout/Mobile.tsx +14 -0
  126. package/src/app/(main)/settings/provider/const.ts +20 -0
  127. package/src/app/(main)/settings/provider/features/CreateNewProvider/index.tsx +146 -0
  128. package/src/app/(main)/settings/provider/features/ModelList/CreateNewModelModal/Form.tsx +105 -0
  129. package/src/app/(main)/settings/provider/features/ModelList/CreateNewModelModal/index.tsx +69 -0
  130. package/src/app/(main)/settings/provider/features/ModelList/DisabledModels.tsx +29 -0
  131. package/src/app/(main)/settings/provider/features/ModelList/EmptyModels.tsx +101 -0
  132. package/src/app/(main)/settings/provider/features/ModelList/EnabledModelList/index.tsx +85 -0
  133. package/src/app/(main)/settings/provider/features/ModelList/ModelConfigModal/Form.tsx +109 -0
  134. package/src/app/(main)/settings/provider/features/ModelList/ModelConfigModal/index.tsx +76 -0
  135. package/src/app/(main)/settings/provider/features/ModelList/ModelItem.tsx +346 -0
  136. package/src/app/(main)/settings/provider/features/ModelList/ModelTitle/Search.tsx +37 -0
  137. package/src/app/(main)/settings/provider/features/ModelList/ModelTitle/index.tsx +145 -0
  138. package/src/app/(main)/settings/provider/features/ModelList/SearchResult.tsx +67 -0
  139. package/src/app/(main)/settings/provider/features/ModelList/SkeletonList.tsx +63 -0
  140. package/src/app/(main)/settings/provider/features/ModelList/SortModelModal/ListItem.tsx +20 -0
  141. package/src/app/(main)/settings/provider/features/ModelList/SortModelModal/index.tsx +96 -0
  142. package/src/app/(main)/settings/provider/features/ModelList/index.tsx +59 -0
  143. package/src/app/(main)/settings/provider/features/ProviderConfig/Checker.tsx +120 -0
  144. package/src/app/(main)/settings/provider/features/ProviderConfig/SkeletonInput.tsx +5 -0
  145. package/src/app/(main)/settings/provider/features/ProviderConfig/UpdateProviderInfo/SettingModal.tsx +137 -0
  146. package/src/app/(main)/settings/provider/features/ProviderConfig/UpdateProviderInfo/index.tsx +49 -0
  147. package/src/app/(main)/settings/provider/features/ProviderConfig/index.tsx +343 -0
  148. package/src/app/(main)/settings/provider/layout.tsx +21 -0
  149. package/src/app/(main)/settings/provider/page.tsx +17 -0
  150. package/src/app/(main)/settings/provider/type.ts +5 -0
  151. package/src/app/(main)/settings/sync/features/DeviceInfo/Card.tsx +1 -1
  152. package/src/app/(main)/settings/sync/features/DeviceInfo/index.tsx +1 -1
  153. package/src/app/@modal/(.)changelog/modal/features/ReadDetail.tsx +1 -1
  154. package/src/app/@modal/(.)changelog/modal/features/VersionTag.tsx +1 -2
  155. package/src/app/@modal/(.)changelog/modal/layout.tsx +1 -1
  156. package/src/components/Cell/index.tsx +1 -1
  157. package/src/components/DragUpload/index.tsx +2 -3
  158. package/src/components/FeatureList/index.tsx +1 -1
  159. package/src/components/FileParsingStatus/EmbeddingStatus.tsx +1 -1
  160. package/src/components/FileParsingStatus/index.tsx +1 -1
  161. package/src/components/FunctionModal/style.tsx +2 -2
  162. package/src/components/GoBack/index.tsx +1 -2
  163. package/src/components/HotKeys/index.tsx +1 -1
  164. package/src/components/InstantSwitch/index.tsx +28 -0
  165. package/src/components/Menu/index.tsx +1 -1
  166. package/src/components/ModelSelect/index.tsx +2 -3
  167. package/src/components/Notification/index.tsx +2 -1
  168. package/src/components/StatisticCard/index.tsx +5 -6
  169. package/src/config/aiModels/ai21.ts +38 -0
  170. package/src/config/aiModels/ai360.ts +71 -0
  171. package/src/config/aiModels/anthropic.ts +152 -0
  172. package/src/config/aiModels/azure.ts +86 -0
  173. package/src/config/aiModels/baichuan.ts +107 -0
  174. package/src/config/aiModels/bedrock.ts +315 -0
  175. package/src/config/aiModels/cloudflare.ts +88 -0
  176. package/src/config/aiModels/deepseek.ts +27 -0
  177. package/src/config/aiModels/fireworksai.ts +232 -0
  178. package/src/config/aiModels/giteeai.ts +137 -0
  179. package/src/config/aiModels/github.ts +273 -0
  180. package/src/config/aiModels/google.ts +317 -0
  181. package/src/config/aiModels/groq.ts +202 -0
  182. package/src/config/aiModels/higress.ts +2828 -0
  183. package/src/config/aiModels/huggingface.ts +56 -0
  184. package/src/config/aiModels/hunyuan.ts +151 -0
  185. package/src/config/aiModels/index.ts +98 -0
  186. package/src/config/aiModels/internlm.ts +40 -0
  187. package/src/config/aiModels/minimax.ts +55 -0
  188. package/src/config/aiModels/mistral.ts +172 -0
  189. package/src/config/aiModels/moonshot.ts +44 -0
  190. package/src/config/aiModels/novita.ts +124 -0
  191. package/src/config/aiModels/ollama.ts +412 -0
  192. package/src/config/aiModels/openai.ts +537 -0
  193. package/src/config/aiModels/openrouter.ts +252 -0
  194. package/src/config/aiModels/perplexity.ts +67 -0
  195. package/src/config/aiModels/qwen.ts +302 -0
  196. package/src/config/aiModels/sensenova.ts +114 -0
  197. package/src/config/aiModels/siliconcloud.ts +679 -0
  198. package/src/config/aiModels/spark.ts +68 -0
  199. package/src/config/aiModels/stepfun.ts +153 -0
  200. package/src/config/aiModels/taichu.ts +19 -0
  201. package/src/config/aiModels/togetherai.ts +334 -0
  202. package/src/config/aiModels/upstage.ts +37 -0
  203. package/src/config/aiModels/wenxin.ts +171 -0
  204. package/src/config/aiModels/xai.ts +72 -0
  205. package/src/config/aiModels/zeroone.ts +156 -0
  206. package/src/config/aiModels/zhipu.ts +235 -0
  207. package/src/config/featureFlags/schema.ts +3 -0
  208. package/src/config/modelProviders/anthropic.ts +1 -0
  209. package/src/config/modelProviders/github.ts +0 -1
  210. package/src/config/modelProviders/google.ts +1 -0
  211. package/src/config/modelProviders/stepfun.ts +2 -0
  212. package/src/database/migrations/0013_add_ai_infra.sql +44 -0
  213. package/src/database/migrations/meta/0013_snapshot.json +3598 -0
  214. package/src/database/migrations/meta/_journal.json +7 -0
  215. package/src/database/repositories/aiInfra/index.ts +115 -0
  216. package/src/database/schemas/aiInfra.ts +69 -0
  217. package/src/database/schemas/index.ts +1 -0
  218. package/src/database/server/models/__tests__/aiModel.test.ts +318 -0
  219. package/src/database/server/models/__tests__/aiProvider.test.ts +373 -0
  220. package/src/database/server/models/aiModel.ts +250 -0
  221. package/src/database/server/models/aiProvider.ts +234 -0
  222. package/src/features/AgentSetting/AgentPrompt/index.tsx +2 -2
  223. package/src/features/ChatInput/ActionBar/Token/TokenTag.tsx +2 -1
  224. package/src/features/ChatInput/ActionBar/Tools/index.tsx +2 -3
  225. package/src/features/ChatInput/ActionBar/Upload/ServerMode.tsx +2 -3
  226. package/src/features/ChatInput/Desktop/FilePreview/FileItem/index.tsx +3 -2
  227. package/src/features/ChatInput/Desktop/FilePreview/FileList.tsx +2 -2
  228. package/src/features/ChatInput/Mobile/Files/FileItem/File.tsx +2 -2
  229. package/src/features/ChatInput/Mobile/InputArea/index.tsx +1 -1
  230. package/src/features/ChatInput/STT/common.tsx +1 -1
  231. package/src/features/Conversation/Error/style.tsx +2 -2
  232. package/src/features/Conversation/Messages/Assistant/FileChunks/Item/style.ts +2 -2
  233. package/src/features/Conversation/Messages/Assistant/FileChunks/index.tsx +1 -1
  234. package/src/features/Conversation/Messages/Assistant/ToolCallItem/Inspector/style.ts +2 -3
  235. package/src/features/Conversation/Messages/Assistant/ToolCallItem/style.ts +2 -3
  236. package/src/features/Conversation/Messages/User/FileListViewer/Item.tsx +0 -1
  237. package/src/features/Conversation/components/BackBottom/style.ts +2 -2
  238. package/src/features/Conversation/components/MarkdownElements/LobeArtifact/Render/Icon.tsx +2 -3
  239. package/src/features/Conversation/components/MarkdownElements/LobeArtifact/Render/index.tsx +3 -3
  240. package/src/features/Conversation/components/MarkdownElements/LobeThinking/Render.tsx +1 -1
  241. package/src/features/Conversation/components/OTPInput.tsx +2 -2
  242. package/src/features/DataImporter/Loading.tsx +1 -1
  243. package/src/features/FileManager/FileList/EmptyStatus.tsx +1 -1
  244. package/src/features/FileManager/FileList/index.tsx +1 -1
  245. package/src/features/FileManager/UploadDock/Item.tsx +1 -1
  246. package/src/features/FileManager/UploadDock/index.tsx +4 -4
  247. package/src/features/FileViewer/NotSupport/index.tsx +1 -1
  248. package/src/features/FileViewer/Renderer/MSDoc/index.tsx +0 -1
  249. package/src/features/FileViewer/Renderer/TXT/index.tsx +1 -1
  250. package/src/features/InitClientDB/EnableModal.tsx +1 -1
  251. package/src/features/InitClientDB/ErrorResult.tsx +1 -1
  252. package/src/features/InitClientDB/InitIndicator.tsx +1 -1
  253. package/src/features/KnowledgeBaseModal/AddFilesToKnowledgeBase/SelectForm.tsx +0 -1
  254. package/src/features/ModelSwitchPanel/index.tsx +2 -2
  255. package/src/features/PluginsUI/Render/Loading.tsx +0 -1
  256. package/src/features/Portal/Home/Body/Files/FileList/Item.tsx +1 -1
  257. package/src/features/Portal/Home/Body/Plugins/ArtifactList/Item/style.ts +1 -2
  258. package/src/features/Setting/SettingContainer.tsx +8 -1
  259. package/src/features/ShareModal/ShareImage/style.ts +2 -2
  260. package/src/features/ShareModal/style.ts +2 -2
  261. package/src/features/User/DataStatistics.tsx +1 -1
  262. package/src/hooks/useEnabledChatModels.ts +10 -1
  263. package/src/hooks/useModelSupportToolUse.ts +15 -0
  264. package/src/hooks/useModelSupportVision.ts +15 -0
  265. package/src/layout/AuthProvider/Clerk/useAppearance.ts +3 -3
  266. package/src/layout/GlobalProvider/AppTheme.tsx +1 -1
  267. package/src/layout/GlobalProvider/StoreInitialization.tsx +5 -0
  268. package/src/locales/default/common.ts +1 -0
  269. package/src/locales/default/modelProvider.ts +178 -0
  270. package/src/locales/default/setting.ts +1 -0
  271. package/src/server/modules/KeyVaultsEncrypt/index.ts +1 -1
  272. package/src/server/routers/lambda/aiModel.ts +128 -0
  273. package/src/server/routers/lambda/aiProvider.ts +127 -0
  274. package/src/server/routers/lambda/index.ts +4 -0
  275. package/src/services/__tests__/_auth.test.ts +16 -49
  276. package/src/services/__tests__/chat.test.ts +2 -0
  277. package/src/services/_auth.ts +42 -25
  278. package/src/services/aiModel.ts +52 -0
  279. package/src/services/aiProvider.ts +47 -0
  280. package/src/services/chat.ts +62 -18
  281. package/src/store/aiInfra/index.ts +2 -0
  282. package/src/store/aiInfra/initialState.ts +11 -0
  283. package/src/store/aiInfra/selectors.ts +2 -0
  284. package/src/store/aiInfra/slices/aiModel/action.ts +146 -0
  285. package/src/store/aiInfra/slices/aiModel/index.ts +3 -0
  286. package/src/store/aiInfra/slices/aiModel/initialState.ts +14 -0
  287. package/src/store/aiInfra/slices/aiModel/selectors.ts +63 -0
  288. package/src/store/aiInfra/slices/aiProvider/action.ts +208 -0
  289. package/src/store/aiInfra/slices/aiProvider/index.ts +3 -0
  290. package/src/store/aiInfra/slices/aiProvider/initialState.ts +32 -0
  291. package/src/store/aiInfra/slices/aiProvider/selectors.ts +99 -0
  292. package/src/store/aiInfra/store.ts +25 -0
  293. package/src/store/global/initialState.ts +1 -0
  294. package/src/store/serverConfig/selectors.test.ts +1 -0
  295. package/src/styles/global.ts +1 -1
  296. package/src/types/aiModel.ts +32 -6
  297. package/src/types/aiProvider.ts +11 -4
  298. package/src/utils/fetch/fetchSSE.ts +3 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,31 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ## [Version 1.44.0](https://github.com/lobehub/lobe-chat/compare/v1.43.6...v1.44.0)
6
+
7
+ <sup>Released on **2025-01-07**</sup>
8
+
9
+ #### ✨ Features
10
+
11
+ - **misc**: Brand new AI provider.
12
+
13
+ <br/>
14
+
15
+ <details>
16
+ <summary><kbd>Improvements and Fixes</kbd></summary>
17
+
18
+ #### What's improved
19
+
20
+ - **misc**: Brand new AI provider, closes [#5158](https://github.com/lobehub/lobe-chat/issues/5158) ([bde6d64](https://github.com/lobehub/lobe-chat/commit/bde6d64))
21
+
22
+ </details>
23
+
24
+ <div align="right">
25
+
26
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
27
+
28
+ </div>
29
+
5
30
  ### [Version 1.43.6](https://github.com/lobehub/lobe-chat/compare/v1.43.5...v1.43.6)
6
31
 
7
32
  <sup>Released on **2025-01-07**</sup>
package/changelog/v1.json CHANGED
@@ -1,4 +1,13 @@
1
1
  [
2
+ {
3
+ "children": {
4
+ "features": [
5
+ "Brand new AI provider."
6
+ ]
7
+ },
8
+ "date": "2025-01-07",
9
+ "version": "1.44.0"
10
+ },
2
11
  {
3
12
  "children": {
4
13
  "fixes": [
@@ -81,7 +81,7 @@ bash <(curl -fsSL https://raw.githubusercontent.com/lobehub/lobe-chat/HEAD/docke
81
81
  docker compose up -d
82
82
  ```
83
83
 
84
- The default login account is the default account of Casdoor, with the username `admin` and password `123`.
84
+ The default login account is the default account of Casdoor, with the username `admin`. You can find the password in the `init_data.json` file that is downloaded during setup. Note that the secret might fail to generate, please check the shell output.
85
85
 
86
86
  ### Check Logs
87
87
 
@@ -129,7 +129,7 @@ docker compose up -d
129
129
 
130
130
  ### Configuring Casdoor
131
131
 
132
- 1. After starting with the `setup.sh` script, the default port for Casdoor WebUI is `8000`. You can access it via `http://your_server_ip:8000`, with the default username `admin` and password `123`.
132
+ 1. After starting with the `setup.sh` script, the default port for Casdoor WebUI is `8000`. You can access it via `http://your_server_ip:8000`, with the default username `admin`. The password can be found in the `init_data.json` file that is downloaded during setup. Note that the secret might fail to generate, please check the shell output.
133
133
 
134
134
  2. In `Identity -> Applications`, add a new line:
135
135
 
@@ -275,6 +275,7 @@
275
275
  },
276
276
  "temp": "مؤقت",
277
277
  "terms": "شروط الخدمة",
278
+ "update": "تحديث",
278
279
  "updateAgent": "تحديث معلومات الوكيل",
279
280
  "upgradeVersion": {
280
281
  "action": "ترقية",
@@ -63,6 +63,44 @@
63
63
  "title": "رقم حساب Cloudflare / عنوان URL API"
64
64
  }
65
65
  },
66
+ "createNewAiProvider": {
67
+ "apiKey": {
68
+ "placeholder": "يرجى إدخال مفتاح API الخاص بك",
69
+ "required": "يرجى إدخال مفتاح API الخاص بك",
70
+ "title": "مفتاح API"
71
+ },
72
+ "basicTitle": "المعلومات الأساسية",
73
+ "configTitle": "معلومات التكوين",
74
+ "confirm": "إنشاء جديد",
75
+ "createSuccess": "تم الإنشاء بنجاح",
76
+ "description": {
77
+ "placeholder": "نبذة عن مزود الخدمة (اختياري)",
78
+ "title": "نبذة عن مزود الخدمة"
79
+ },
80
+ "id": {
81
+ "placeholder": "يفضل أن يكون بالكامل بحروف صغيرة، مثل openai، لن يمكن تعديله بعد الإنشاء",
82
+ "required": "يرجى إدخال معرف المزود",
83
+ "title": "معرف المزود"
84
+ },
85
+ "logo": {
86
+ "required": "يرجى تحميل شعار المزود بشكل صحيح",
87
+ "title": "شعار المزود"
88
+ },
89
+ "name": {
90
+ "placeholder": "يرجى إدخال اسم العرض لمزود الخدمة",
91
+ "required": "يرجى إدخال اسم المزود",
92
+ "title": "اسم المزود"
93
+ },
94
+ "proxyUrl": {
95
+ "placeholder": "يرجى إدخال عنوان الطلب الخاص بك، إذا لم يتم إدخاله سيتم استخدام عنوان الطلب المقابل لـ SDK",
96
+ "title": "عنوان الوكيل"
97
+ },
98
+ "sdkType": {
99
+ "required": "يرجى اختيار نوع SDK",
100
+ "title": "تنسيق الطلب"
101
+ },
102
+ "title": "إنشاء مزود AI مخصص"
103
+ },
66
104
  "github": {
67
105
  "personalAccessToken": {
68
106
  "desc": "أدخل رمز الوصول الشخصي الخاص بك على Github، انقر [هنا](https://github.com/settings/tokens) لإنشاء واحد",
@@ -77,6 +115,23 @@
77
115
  "title": "رمز HuggingFace"
78
116
  }
79
117
  },
118
+ "list": {
119
+ "title": {
120
+ "disabled": "مزود الخدمة غير مفعل",
121
+ "enabled": "مزود الخدمة مفعل"
122
+ }
123
+ },
124
+ "menu": {
125
+ "addCustomProvider": "إضافة مزود خدمة مخصص",
126
+ "all": "الكل",
127
+ "list": {
128
+ "disabled": "غير مفعل",
129
+ "enabled": "مفعل"
130
+ },
131
+ "notFound": "لم يتم العثور على نتائج البحث",
132
+ "searchProviders": "البحث عن مزودين...",
133
+ "sort": "ترتيب مخصص"
134
+ },
80
135
  "ollama": {
81
136
  "checker": {
82
137
  "desc": "اختبر ما إذا تم إدخال عنوان الوكيل بشكل صحيح",
@@ -131,6 +186,127 @@
131
186
  "title": "Download specified Ollama model"
132
187
  }
133
188
  },
189
+ "providerModels": {
190
+ "config": {
191
+ "aesGcm": "سيتم استخدام خوارزمية التشفير <1>AES-GCM</1> لتشفير مفتاحك وعنوان الوكيل وما إلى ذلك",
192
+ "apiKey": {
193
+ "desc": "يرجى إدخال مفتاح API الخاص بك {{name}}",
194
+ "placeholder": "{{name}} مفتاح API",
195
+ "title": "مفتاح API"
196
+ },
197
+ "baseURL": {
198
+ "desc": "يجب أن يحتوي على http(s)://",
199
+ "placeholder": "https://your-proxy-url.com/v1",
200
+ "title": "عنوان وكيل API"
201
+ },
202
+ "checker": {
203
+ "button": "تحقق",
204
+ "desc": "اختبار ما إذا كان مفتاح API وعنوان الوكيل قد تم إدخالهما بشكل صحيح",
205
+ "pass": "تم التحقق بنجاح",
206
+ "title": "اختبار الاتصال"
207
+ },
208
+ "fetchOnClient": {
209
+ "desc": "سيتم بدء طلب الجلسة مباشرة من المتصفح، مما قد يحسن سرعة الاستجابة",
210
+ "title": "استخدام وضع الطلب من العميل"
211
+ },
212
+ "helpDoc": "دليل التكوين",
213
+ "waitingForMore": "المزيد من النماذج قيد <1>التخطيط للإدماج</1>، يرجى الانتظار"
214
+ },
215
+ "createNew": {
216
+ "title": "إنشاء نموذج AI مخصص"
217
+ },
218
+ "item": {
219
+ "config": "تكوين النموذج",
220
+ "customModelCards": {
221
+ "addNew": "إنشاء وإضافة نموذج {{id}}",
222
+ "confirmDelete": "سيتم حذف هذا النموذج المخصص، ولن يمكن استعادته بعد الحذف، يرجى توخي الحذر."
223
+ },
224
+ "delete": {
225
+ "confirm": "هل تؤكد حذف النموذج {{displayName}}؟",
226
+ "success": "تم الحذف بنجاح",
227
+ "title": "حذف النموذج"
228
+ },
229
+ "modelConfig": {
230
+ "azureDeployName": {
231
+ "extra": "الحقل المطلوب في Azure OpenAI",
232
+ "placeholder": "يرجى إدخال اسم نشر النموذج في Azure",
233
+ "title": "اسم نشر النموذج"
234
+ },
235
+ "displayName": {
236
+ "placeholder": "يرجى إدخال اسم العرض للنموذج، مثل ChatGPT، GPT-4، إلخ",
237
+ "title": "اسم عرض النموذج"
238
+ },
239
+ "files": {
240
+ "extra": "تنفيذ تحميل الملفات الحالي هو مجرد حل Hack، يقتصر على التجربة الذاتية. يرجى الانتظار حتى يتم تنفيذ القدرة الكاملة لتحميل الملفات لاحقًا",
241
+ "title": "دعم تحميل الملفات"
242
+ },
243
+ "functionCall": {
244
+ "extra": "سيؤدي هذا التكوين إلى فتح القدرة على استدعاء الدوال في التطبيق، ما إذا كان يدعم استدعاء الدوال يعتمد بالكامل على النموذج نفسه، يرجى اختبار قابلية استخدام استدعاء الدوال لهذا النموذج بنفسك",
245
+ "title": "دعم استدعاء الدوال"
246
+ },
247
+ "id": {
248
+ "extra": "سيتم عرضه كعلامة للنموذج",
249
+ "placeholder": "يرجى إدخال معرف النموذج، مثل gpt-4-turbo-preview أو claude-2.1",
250
+ "title": "معرف النموذج"
251
+ },
252
+ "modalTitle": "تكوين النموذج المخصص",
253
+ "tokens": {
254
+ "title": "الحد الأقصى لعدد الرموز",
255
+ "unlimited": "غير محدود"
256
+ },
257
+ "vision": {
258
+ "extra": "سيؤدي هذا التكوين إلى فتح إعدادات تحميل الصور في التطبيق، ما إذا كان يدعم التعرف يعتمد بالكامل على النموذج نفسه، يرجى اختبار قابلية استخدام التعرف البصري لهذا النموذج بنفسك",
259
+ "title": "دعم التعرف البصري"
260
+ }
261
+ },
262
+ "pricing": {
263
+ "image": "${{amount}}/صورة",
264
+ "inputCharts": "${{amount}}/M حرف",
265
+ "inputMinutes": "${{amount}}/دقيقة",
266
+ "inputTokens": "إدخال ${{amount}}/م",
267
+ "outputTokens": "إخراج ${{amount}}/م"
268
+ },
269
+ "releasedAt": "صدر في {{releasedAt}}"
270
+ },
271
+ "list": {
272
+ "addNew": "إضافة نموذج",
273
+ "disabled": "غير مفعل",
274
+ "empty": {
275
+ "desc": "يرجى إنشاء نموذج مخصص أو سحب نموذج للبدء في الاستخدام",
276
+ "title": "لا توجد نماذج متاحة"
277
+ },
278
+ "enabled": "مفعل",
279
+ "enabledActions": {
280
+ "disableAll": "تعطيل الكل",
281
+ "enableAll": "تفعيل الكل",
282
+ "sort": "ترتيب النموذج حسب التخصيص"
283
+ },
284
+ "enabledEmpty": "لا توجد نماذج مفعلة، يرجى تفعيل النماذج المفضلة لديك من القائمة أدناه~",
285
+ "fetcher": {
286
+ "clear": "مسح النماذج المستخرجة",
287
+ "fetch": "الحصول على قائمة النماذج",
288
+ "fetching": "جارٍ الحصول على قائمة النماذج...",
289
+ "latestTime": "آخر تحديث: {{time}}",
290
+ "noLatestTime": "لم يتم الحصول على القائمة بعد"
291
+ },
292
+ "search": "ابحث عن نموذج...",
293
+ "searchResult": "تم العثور على {{count}} نموذج",
294
+ "title": "قائمة النماذج",
295
+ "total": "إجمالي {{count}} نموذج متاح"
296
+ },
297
+ "searchNotFound": "لم يتم العثور على نتائج البحث"
298
+ },
299
+ "sortModal": {
300
+ "success": "تم تحديث الترتيب بنجاح",
301
+ "title": "ترتيب مخصص",
302
+ "update": "تحديث"
303
+ },
304
+ "updateAiProvider": {
305
+ "confirmDelete": "سيتم حذف مزود AI هذا، ولن يمكن استعادته بعد الحذف، هل تؤكد الحذف؟",
306
+ "deleteSuccess": "تم الحذف بنجاح",
307
+ "tooltip": "تحديث التكوين الأساسي للمزود",
308
+ "updateSuccess": "تم التحديث بنجاح"
309
+ },
134
310
  "wenxin": {
135
311
  "accessKey": {
136
312
  "desc": "أدخل مفتاح الوصول من منصة بايدو تشيانفان",
@@ -411,6 +411,7 @@
411
411
  "common": "إعدادات عامة",
412
412
  "experiment": "تجربة",
413
413
  "llm": "نموذج اللغة",
414
+ "provider": "مزود خدمة الذكاء الاصطناعي",
414
415
  "sync": "مزامنة السحابة",
415
416
  "system-agent": "مساعد النظام",
416
417
  "tts": "خدمة الكلام"
@@ -275,6 +275,7 @@
275
275
  },
276
276
  "temp": "Временен",
277
277
  "terms": "Условия за ползване",
278
+ "update": "Актуализиране",
278
279
  "updateAgent": "Актуализирай информацията за агента",
279
280
  "upgradeVersion": {
280
281
  "action": "Надстрой",
@@ -63,6 +63,44 @@
63
63
  "title": "ID на Cloudflare / API адрес"
64
64
  }
65
65
  },
66
+ "createNewAiProvider": {
67
+ "apiKey": {
68
+ "placeholder": "Моля, въведете вашия API ключ",
69
+ "required": "Моля, въведете вашия API ключ",
70
+ "title": "API ключ"
71
+ },
72
+ "basicTitle": "Основна информация",
73
+ "configTitle": "Конфигурационна информация",
74
+ "confirm": "Създаване",
75
+ "createSuccess": "Създаването е успешно",
76
+ "description": {
77
+ "placeholder": "Описание на доставчика (по избор)",
78
+ "title": "Описание на доставчика"
79
+ },
80
+ "id": {
81
+ "placeholder": "Препоръчително изцяло с малки букви, например openai, след създаването не може да се промени",
82
+ "required": "Моля, въведете ID на доставчика",
83
+ "title": "ID на доставчика"
84
+ },
85
+ "logo": {
86
+ "required": "Моля, качете правилното лого на доставчика",
87
+ "title": "Лого на доставчика"
88
+ },
89
+ "name": {
90
+ "placeholder": "Моля, въведете показваното име на доставчика",
91
+ "required": "Моля, въведете името на доставчика",
92
+ "title": "Име на доставчика"
93
+ },
94
+ "proxyUrl": {
95
+ "placeholder": "Моля, въведете адреса на вашето запитване, ако не е попълнен, ще се използва съответния адрес на SDK",
96
+ "title": "Адрес на прокси"
97
+ },
98
+ "sdkType": {
99
+ "required": "Моля, изберете тип SDK",
100
+ "title": "Формат на запитването"
101
+ },
102
+ "title": "Създаване на персонализиран AI доставчик"
103
+ },
66
104
  "github": {
67
105
  "personalAccessToken": {
68
106
  "desc": "Въведете вашия GitHub PAT, кликнете [тук](https://github.com/settings/tokens), за да създадете",
@@ -77,6 +115,23 @@
77
115
  "title": "HuggingFace токен"
78
116
  }
79
117
  },
118
+ "list": {
119
+ "title": {
120
+ "disabled": "Неактивен доставчик",
121
+ "enabled": "Активен доставчик"
122
+ }
123
+ },
124
+ "menu": {
125
+ "addCustomProvider": "Добавяне на персонализиран доставчик",
126
+ "all": "Всички",
127
+ "list": {
128
+ "disabled": "Неактивиран",
129
+ "enabled": "Активиран"
130
+ },
131
+ "notFound": "Не са намерени резултати от търсенето",
132
+ "searchProviders": "Търсене на доставчици...",
133
+ "sort": "Персонализирано сортиране"
134
+ },
80
135
  "ollama": {
81
136
  "checker": {
82
137
  "desc": "Тестване дали адресът на прокси е попълнен правилно",
@@ -131,6 +186,127 @@
131
186
  "title": "Изтегляне на зададения Ollama модел"
132
187
  }
133
188
  },
189
+ "providerModels": {
190
+ "config": {
191
+ "aesGcm": "Вашият ключ и адреса на прокси ще бъдат криптирани с <1>AES-GCM</1> алгоритъм",
192
+ "apiKey": {
193
+ "desc": "Моля, въведете вашия {{name}} API ключ",
194
+ "placeholder": "{{name}} API ключ",
195
+ "title": "API ключ"
196
+ },
197
+ "baseURL": {
198
+ "desc": "Трябва да съдържа http(s)://",
199
+ "placeholder": "https://your-proxy-url.com/v1",
200
+ "title": "API адрес на прокси"
201
+ },
202
+ "checker": {
203
+ "button": "Проверка",
204
+ "desc": "Тест на API ключа и адреса на прокси за правилно попълване",
205
+ "pass": "Проверката е успешна",
206
+ "title": "Проверка на свързаност"
207
+ },
208
+ "fetchOnClient": {
209
+ "desc": "Режимът на клиентски запитвания ще инициира сесийни запитвания директно от браузъра, което може да ускори времето за отговор",
210
+ "title": "Използване на клиентски режим на запитвания"
211
+ },
212
+ "helpDoc": "Ръководство за конфигуриране",
213
+ "waitingForMore": "Още модели са в <1>планиране</1>, моля, очаквайте"
214
+ },
215
+ "createNew": {
216
+ "title": "Създаване на персонализиран AI модел"
217
+ },
218
+ "item": {
219
+ "config": "Конфигуриране на модела",
220
+ "customModelCards": {
221
+ "addNew": "Създаване и добавяне на модел {{id}}",
222
+ "confirmDelete": "Ще изтриете този персонализиран модел, след изтриването няма да може да бъде възстановен, моля, действайте внимателно."
223
+ },
224
+ "delete": {
225
+ "confirm": "Потвърдете ли, че искате да изтриете модела {{displayName}}?",
226
+ "success": "Изтриването е успешно",
227
+ "title": "Изтриване на модел"
228
+ },
229
+ "modelConfig": {
230
+ "azureDeployName": {
231
+ "extra": "Полето, което действително се изисква в Azure OpenAI",
232
+ "placeholder": "Моля, въведете името на модела за разполагане в Azure",
233
+ "title": "Име на разполагане на модела"
234
+ },
235
+ "displayName": {
236
+ "placeholder": "Моля, въведете показваното име на модела, например ChatGPT, GPT-4 и др.",
237
+ "title": "Показвано име на модела"
238
+ },
239
+ "files": {
240
+ "extra": "Текущата функция за качване на файлове е само един хак, само за опити. Пълната функционалност за качване на файлове ще бъде реализирана по-късно.",
241
+ "title": "Поддръжка на качване на файлове"
242
+ },
243
+ "functionCall": {
244
+ "extra": "Тази конфигурация ще активира само функцията за извикване в приложението, дали поддържа извикване на функции зависи изцяло от самия модел, моля, тествайте наличността на функцията за извикване на този модел.",
245
+ "title": "Поддръжка на извикване на функции"
246
+ },
247
+ "id": {
248
+ "extra": "Ще се показва като етикет на модела",
249
+ "placeholder": "Моля, въведете ID на модела, например gpt-4-turbo-preview или claude-2.1",
250
+ "title": "ID на модела"
251
+ },
252
+ "modalTitle": "Конфигурация на персонализиран модел",
253
+ "tokens": {
254
+ "title": "Максимален брой токени",
255
+ "unlimited": "Без ограничения"
256
+ },
257
+ "vision": {
258
+ "extra": "Тази конфигурация ще активира само конфигурацията за качване на изображения в приложението, дали поддържа разпознаване зависи изцяло от самия модел, моля, тествайте наличността на визуалната разпознаваемост на този модел.",
259
+ "title": "Поддръжка на визуално разпознаване"
260
+ }
261
+ },
262
+ "pricing": {
263
+ "image": "${{amount}}/изображение",
264
+ "inputCharts": "${{amount}}/M символи",
265
+ "inputMinutes": "${{amount}}/минути",
266
+ "inputTokens": "Входящи ${{amount}}/М",
267
+ "outputTokens": "Изходящи ${{amount}}/М"
268
+ },
269
+ "releasedAt": "Пуснато на {{releasedAt}}"
270
+ },
271
+ "list": {
272
+ "addNew": "Добавяне на модел",
273
+ "disabled": "Неактивен",
274
+ "empty": {
275
+ "desc": "Моля, създайте персонализиран модел или изтеглете модел, за да започнете да го използвате",
276
+ "title": "Няма налични модели"
277
+ },
278
+ "enabled": "Активен",
279
+ "enabledActions": {
280
+ "disableAll": "Деактивирай всичко",
281
+ "enableAll": "Активирай всичко",
282
+ "sort": "Персонализиране на подредбата на моделите"
283
+ },
284
+ "enabledEmpty": "Няма активни модели, моля активирайте желаните модели от списъка по-долу~",
285
+ "fetcher": {
286
+ "clear": "Изчисти получените модели",
287
+ "fetch": "Получаване на списък с модели",
288
+ "fetching": "Получаване на списък с модели...",
289
+ "latestTime": "Последно обновление: {{time}}",
290
+ "noLatestTime": "Все още не е получен списък"
291
+ },
292
+ "search": "Търсене на модели...",
293
+ "searchResult": "Намерени са {{count}} модела",
294
+ "title": "Списък с модели",
295
+ "total": "Общо {{count}} налични модела"
296
+ },
297
+ "searchNotFound": "Не са намерени резултати от търсенето"
298
+ },
299
+ "sortModal": {
300
+ "success": "Сортирането е успешно обновено",
301
+ "title": "Персонализирано сортиране",
302
+ "update": "Актуализиране"
303
+ },
304
+ "updateAiProvider": {
305
+ "confirmDelete": "Ще изтриете този AI доставчик, след изтриването няма да може да бъде възстановен, потвърдете ли, че искате да изтриете?",
306
+ "deleteSuccess": "Изтриването е успешно",
307
+ "tooltip": "Актуализиране на основната конфигурация на доставчика",
308
+ "updateSuccess": "Актуализацията е успешна"
309
+ },
134
310
  "wenxin": {
135
311
  "accessKey": {
136
312
  "desc": "Въведете Access Key от платформата Baidu Qianfan",
@@ -411,6 +411,7 @@
411
411
  "common": "Общи настройки",
412
412
  "experiment": "Експеримент",
413
413
  "llm": "Езиков модел",
414
+ "provider": "AI доставчик",
414
415
  "sync": "Синхронизиране в облака",
415
416
  "system-agent": "Системен асистент",
416
417
  "tts": "Текст към реч"
@@ -275,6 +275,7 @@
275
275
  },
276
276
  "temp": "Temporär",
277
277
  "terms": "Nutzungsbedingungen",
278
+ "update": "Aktualisieren",
278
279
  "updateAgent": "Assistentenprofil aktualisieren",
279
280
  "upgradeVersion": {
280
281
  "action": "Aktualisieren",