@lobehub/chat 1.98.1 → 1.99.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 (456) hide show
  1. package/.cursor/rules/backend-architecture.mdc +93 -17
  2. package/.cursor/rules/cursor-ux.mdc +45 -35
  3. package/.cursor/rules/project-introduce.mdc +72 -6
  4. package/.cursor/rules/rules-attach.mdc +16 -7
  5. package/.eslintrc.js +10 -0
  6. package/CHANGELOG.md +52 -0
  7. package/apps/desktop/README.md +7 -0
  8. package/apps/desktop/electron-builder.js +5 -0
  9. package/apps/desktop/package.json +2 -1
  10. package/apps/desktop/src/main/const/dir.ts +3 -0
  11. package/apps/desktop/src/main/controllers/UploadFileCtr.ts +13 -8
  12. package/apps/desktop/src/main/core/App.ts +8 -0
  13. package/apps/desktop/src/main/core/StaticFileServerManager.ts +221 -0
  14. package/apps/desktop/src/main/services/fileSrv.ts +231 -44
  15. package/apps/desktop/src/main/utils/next-electron-rsc.ts +36 -5
  16. package/changelog/v1.json +18 -0
  17. package/docs/development/database-schema.dbml +70 -0
  18. package/locales/ar/common.json +2 -0
  19. package/locales/ar/components.json +35 -0
  20. package/locales/ar/error.json +2 -0
  21. package/locales/ar/image.json +100 -0
  22. package/locales/ar/metadata.json +4 -0
  23. package/locales/ar/modelProvider.json +1 -0
  24. package/locales/ar/models.json +51 -9
  25. package/locales/ar/plugin.json +22 -0
  26. package/locales/ar/providers.json +3 -0
  27. package/locales/ar/setting.json +5 -0
  28. package/locales/bg-BG/common.json +2 -0
  29. package/locales/bg-BG/components.json +35 -0
  30. package/locales/bg-BG/error.json +2 -0
  31. package/locales/bg-BG/image.json +100 -0
  32. package/locales/bg-BG/metadata.json +4 -0
  33. package/locales/bg-BG/modelProvider.json +1 -0
  34. package/locales/bg-BG/models.json +51 -9
  35. package/locales/bg-BG/plugin.json +22 -0
  36. package/locales/bg-BG/providers.json +3 -0
  37. package/locales/bg-BG/setting.json +5 -0
  38. package/locales/de-DE/common.json +2 -0
  39. package/locales/de-DE/components.json +35 -0
  40. package/locales/de-DE/error.json +2 -0
  41. package/locales/de-DE/image.json +100 -0
  42. package/locales/de-DE/metadata.json +4 -0
  43. package/locales/de-DE/modelProvider.json +1 -0
  44. package/locales/de-DE/models.json +51 -9
  45. package/locales/de-DE/plugin.json +22 -0
  46. package/locales/de-DE/providers.json +3 -0
  47. package/locales/de-DE/setting.json +5 -0
  48. package/locales/en-US/common.json +2 -0
  49. package/locales/en-US/components.json +35 -0
  50. package/locales/en-US/error.json +2 -0
  51. package/locales/en-US/image.json +100 -0
  52. package/locales/en-US/metadata.json +4 -0
  53. package/locales/en-US/modelProvider.json +1 -0
  54. package/locales/en-US/models.json +51 -9
  55. package/locales/en-US/plugin.json +22 -0
  56. package/locales/en-US/providers.json +3 -0
  57. package/locales/en-US/setting.json +5 -0
  58. package/locales/es-ES/common.json +2 -0
  59. package/locales/es-ES/components.json +35 -0
  60. package/locales/es-ES/error.json +2 -0
  61. package/locales/es-ES/image.json +100 -0
  62. package/locales/es-ES/metadata.json +4 -0
  63. package/locales/es-ES/modelProvider.json +1 -0
  64. package/locales/es-ES/models.json +51 -9
  65. package/locales/es-ES/plugin.json +22 -0
  66. package/locales/es-ES/providers.json +3 -0
  67. package/locales/es-ES/setting.json +5 -0
  68. package/locales/fa-IR/common.json +2 -0
  69. package/locales/fa-IR/components.json +35 -0
  70. package/locales/fa-IR/error.json +2 -0
  71. package/locales/fa-IR/image.json +100 -0
  72. package/locales/fa-IR/metadata.json +4 -0
  73. package/locales/fa-IR/modelProvider.json +1 -0
  74. package/locales/fa-IR/models.json +51 -9
  75. package/locales/fa-IR/plugin.json +22 -0
  76. package/locales/fa-IR/providers.json +3 -0
  77. package/locales/fa-IR/setting.json +5 -0
  78. package/locales/fr-FR/common.json +2 -0
  79. package/locales/fr-FR/components.json +35 -0
  80. package/locales/fr-FR/error.json +2 -0
  81. package/locales/fr-FR/image.json +100 -0
  82. package/locales/fr-FR/metadata.json +4 -0
  83. package/locales/fr-FR/modelProvider.json +1 -0
  84. package/locales/fr-FR/models.json +51 -9
  85. package/locales/fr-FR/plugin.json +22 -0
  86. package/locales/fr-FR/providers.json +3 -0
  87. package/locales/fr-FR/setting.json +5 -0
  88. package/locales/it-IT/common.json +2 -0
  89. package/locales/it-IT/components.json +35 -0
  90. package/locales/it-IT/error.json +2 -0
  91. package/locales/it-IT/image.json +100 -0
  92. package/locales/it-IT/metadata.json +4 -0
  93. package/locales/it-IT/modelProvider.json +1 -0
  94. package/locales/it-IT/models.json +51 -9
  95. package/locales/it-IT/plugin.json +22 -0
  96. package/locales/it-IT/providers.json +3 -0
  97. package/locales/it-IT/setting.json +5 -0
  98. package/locales/ja-JP/common.json +2 -0
  99. package/locales/ja-JP/components.json +35 -0
  100. package/locales/ja-JP/error.json +2 -0
  101. package/locales/ja-JP/image.json +100 -0
  102. package/locales/ja-JP/metadata.json +4 -0
  103. package/locales/ja-JP/modelProvider.json +1 -0
  104. package/locales/ja-JP/models.json +51 -9
  105. package/locales/ja-JP/plugin.json +22 -0
  106. package/locales/ja-JP/providers.json +3 -0
  107. package/locales/ja-JP/setting.json +5 -0
  108. package/locales/ko-KR/common.json +2 -0
  109. package/locales/ko-KR/components.json +35 -0
  110. package/locales/ko-KR/error.json +2 -0
  111. package/locales/ko-KR/image.json +100 -0
  112. package/locales/ko-KR/metadata.json +4 -0
  113. package/locales/ko-KR/modelProvider.json +1 -0
  114. package/locales/ko-KR/models.json +51 -9
  115. package/locales/ko-KR/plugin.json +22 -0
  116. package/locales/ko-KR/providers.json +3 -0
  117. package/locales/ko-KR/setting.json +5 -0
  118. package/locales/nl-NL/common.json +2 -0
  119. package/locales/nl-NL/components.json +35 -0
  120. package/locales/nl-NL/error.json +2 -0
  121. package/locales/nl-NL/image.json +100 -0
  122. package/locales/nl-NL/metadata.json +4 -0
  123. package/locales/nl-NL/modelProvider.json +1 -0
  124. package/locales/nl-NL/models.json +51 -9
  125. package/locales/nl-NL/plugin.json +22 -0
  126. package/locales/nl-NL/providers.json +3 -0
  127. package/locales/nl-NL/setting.json +5 -0
  128. package/locales/pl-PL/common.json +2 -0
  129. package/locales/pl-PL/components.json +35 -0
  130. package/locales/pl-PL/error.json +2 -0
  131. package/locales/pl-PL/image.json +100 -0
  132. package/locales/pl-PL/metadata.json +4 -0
  133. package/locales/pl-PL/modelProvider.json +1 -0
  134. package/locales/pl-PL/models.json +51 -9
  135. package/locales/pl-PL/plugin.json +22 -0
  136. package/locales/pl-PL/providers.json +3 -0
  137. package/locales/pl-PL/setting.json +5 -0
  138. package/locales/pt-BR/common.json +2 -0
  139. package/locales/pt-BR/components.json +35 -0
  140. package/locales/pt-BR/error.json +2 -0
  141. package/locales/pt-BR/image.json +100 -0
  142. package/locales/pt-BR/metadata.json +4 -0
  143. package/locales/pt-BR/modelProvider.json +1 -0
  144. package/locales/pt-BR/models.json +51 -9
  145. package/locales/pt-BR/plugin.json +22 -0
  146. package/locales/pt-BR/providers.json +3 -0
  147. package/locales/pt-BR/setting.json +5 -0
  148. package/locales/ru-RU/common.json +2 -0
  149. package/locales/ru-RU/components.json +35 -0
  150. package/locales/ru-RU/error.json +2 -0
  151. package/locales/ru-RU/image.json +100 -0
  152. package/locales/ru-RU/metadata.json +4 -0
  153. package/locales/ru-RU/modelProvider.json +1 -0
  154. package/locales/ru-RU/models.json +51 -9
  155. package/locales/ru-RU/plugin.json +22 -0
  156. package/locales/ru-RU/providers.json +3 -0
  157. package/locales/ru-RU/setting.json +5 -0
  158. package/locales/tr-TR/common.json +2 -0
  159. package/locales/tr-TR/components.json +35 -0
  160. package/locales/tr-TR/error.json +2 -0
  161. package/locales/tr-TR/image.json +100 -0
  162. package/locales/tr-TR/metadata.json +4 -0
  163. package/locales/tr-TR/modelProvider.json +1 -0
  164. package/locales/tr-TR/models.json +51 -9
  165. package/locales/tr-TR/plugin.json +22 -0
  166. package/locales/tr-TR/providers.json +3 -0
  167. package/locales/tr-TR/setting.json +5 -0
  168. package/locales/vi-VN/common.json +2 -0
  169. package/locales/vi-VN/components.json +35 -0
  170. package/locales/vi-VN/error.json +2 -0
  171. package/locales/vi-VN/image.json +100 -0
  172. package/locales/vi-VN/metadata.json +4 -0
  173. package/locales/vi-VN/modelProvider.json +1 -0
  174. package/locales/vi-VN/models.json +51 -9
  175. package/locales/vi-VN/plugin.json +22 -0
  176. package/locales/vi-VN/providers.json +3 -0
  177. package/locales/vi-VN/setting.json +5 -0
  178. package/locales/zh-CN/common.json +2 -0
  179. package/locales/zh-CN/components.json +35 -0
  180. package/locales/zh-CN/error.json +2 -0
  181. package/locales/zh-CN/image.json +100 -0
  182. package/locales/zh-CN/metadata.json +4 -0
  183. package/locales/zh-CN/modelProvider.json +1 -0
  184. package/locales/zh-CN/models.json +51 -9
  185. package/locales/zh-CN/plugin.json +22 -0
  186. package/locales/zh-CN/providers.json +3 -0
  187. package/locales/zh-CN/setting.json +5 -0
  188. package/locales/zh-TW/common.json +2 -0
  189. package/locales/zh-TW/components.json +35 -0
  190. package/locales/zh-TW/error.json +2 -0
  191. package/locales/zh-TW/image.json +100 -0
  192. package/locales/zh-TW/metadata.json +4 -0
  193. package/locales/zh-TW/modelProvider.json +1 -0
  194. package/locales/zh-TW/models.json +51 -9
  195. package/locales/zh-TW/plugin.json +22 -0
  196. package/locales/zh-TW/providers.json +3 -0
  197. package/locales/zh-TW/setting.json +5 -0
  198. package/package.json +11 -4
  199. package/packages/electron-server-ipc/src/events/file.ts +3 -1
  200. package/packages/electron-server-ipc/src/types/file.ts +15 -0
  201. package/src/app/[variants]/(main)/_layout/Desktop/SideBar/TopActions.tsx +11 -1
  202. package/src/app/[variants]/(main)/image/@menu/components/AspectRatioSelect/index.tsx +73 -0
  203. package/src/app/[variants]/(main)/image/@menu/components/SeedNumberInput/index.tsx +39 -0
  204. package/src/app/[variants]/(main)/image/@menu/components/SizeSelect/index.tsx +89 -0
  205. package/src/app/[variants]/(main)/image/@menu/default.tsx +11 -0
  206. package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/AspectRatioSelect.tsx +24 -0
  207. package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/DimensionControlGroup.tsx +107 -0
  208. package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/ImageNum.tsx +290 -0
  209. package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/ImageUpload.tsx +504 -0
  210. package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/ImageUrl.tsx +18 -0
  211. package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/ImageUrlsUpload.tsx +19 -0
  212. package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/ModelSelect.tsx +155 -0
  213. package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/MultiImagesUpload/ImageManageModal.tsx +415 -0
  214. package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/MultiImagesUpload/index.tsx +732 -0
  215. package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/SeedNumberInput.tsx +24 -0
  216. package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/SizeSelect.tsx +17 -0
  217. package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/SizeSliderInput.tsx +15 -0
  218. package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/StepsSliderInput.tsx +11 -0
  219. package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/constants.ts +1 -0
  220. package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/index.tsx +93 -0
  221. package/src/app/[variants]/(main)/image/@topic/default.tsx +17 -0
  222. package/src/app/[variants]/(main)/image/@topic/features/Topics/NewTopicButton.tsx +64 -0
  223. package/src/app/[variants]/(main)/image/@topic/features/Topics/SkeletonList.tsx +34 -0
  224. package/src/app/[variants]/(main)/image/@topic/features/Topics/TopicItem.tsx +136 -0
  225. package/src/app/[variants]/(main)/image/@topic/features/Topics/TopicItemContainer.tsx +91 -0
  226. package/src/app/[variants]/(main)/image/@topic/features/Topics/TopicList.tsx +57 -0
  227. package/src/app/[variants]/(main)/image/@topic/features/Topics/TopicUrlSync.tsx +37 -0
  228. package/src/app/[variants]/(main)/image/@topic/features/Topics/index.tsx +19 -0
  229. package/src/app/[variants]/(main)/image/NotSupportClient.tsx +153 -0
  230. package/src/app/[variants]/(main)/image/_layout/Desktop/Container.tsx +35 -0
  231. package/src/app/[variants]/(main)/image/_layout/Desktop/RegisterHotkeys.tsx +10 -0
  232. package/src/app/[variants]/(main)/image/_layout/Desktop/index.tsx +30 -0
  233. package/src/app/[variants]/(main)/image/_layout/Mobile/index.tsx +14 -0
  234. package/src/app/[variants]/(main)/image/_layout/type.ts +7 -0
  235. package/src/app/[variants]/(main)/image/features/GenerationFeed/BatchItem.tsx +196 -0
  236. package/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/ActionButtons.tsx +60 -0
  237. package/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/ElapsedTime.tsx +90 -0
  238. package/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/ErrorState.tsx +65 -0
  239. package/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/LoadingState.tsx +43 -0
  240. package/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/SuccessState.tsx +49 -0
  241. package/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/index.tsx +156 -0
  242. package/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/styles.ts +51 -0
  243. package/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/types.ts +39 -0
  244. package/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/utils.ts +11 -0
  245. package/src/app/[variants]/(main)/image/features/GenerationFeed/index.tsx +97 -0
  246. package/src/app/[variants]/(main)/image/features/ImageWorkspace/Content.tsx +48 -0
  247. package/src/app/[variants]/(main)/image/features/ImageWorkspace/EmptyState.tsx +37 -0
  248. package/src/app/[variants]/(main)/image/features/ImageWorkspace/SkeletonList.tsx +50 -0
  249. package/src/app/[variants]/(main)/image/features/ImageWorkspace/index.tsx +23 -0
  250. package/src/app/[variants]/(main)/image/features/PromptInput/Title.tsx +38 -0
  251. package/src/app/[variants]/(main)/image/features/PromptInput/index.tsx +114 -0
  252. package/src/app/[variants]/(main)/image/layout.tsx +19 -0
  253. package/src/app/[variants]/(main)/image/loading.tsx +3 -0
  254. package/src/app/[variants]/(main)/image/page.tsx +47 -0
  255. package/src/app/[variants]/(main)/settings/system-agent/index.tsx +2 -1
  256. package/src/chains/summaryGenerationTitle.ts +25 -0
  257. package/src/components/ImageItem/index.tsx +9 -6
  258. package/src/{features/Conversation/Error → components/InvalidAPIKey}/APIKeyForm/Bedrock.tsx +3 -4
  259. package/src/{features/Conversation/Error → components/InvalidAPIKey}/APIKeyForm/ProviderApiKeyForm.tsx +5 -4
  260. package/src/components/InvalidAPIKey/APIKeyForm/index.tsx +108 -0
  261. package/src/{features/Conversation/Error → components/InvalidAPIKey}/APIKeyForm/useApiKey.ts +2 -1
  262. package/src/components/InvalidAPIKey/index.tsx +30 -0
  263. package/src/components/KeyValueEditor/index.tsx +203 -0
  264. package/src/components/KeyValueEditor/utils.ts +42 -0
  265. package/src/config/aiModels/fal.ts +52 -0
  266. package/src/config/aiModels/index.ts +3 -0
  267. package/src/config/aiModels/openai.ts +20 -6
  268. package/src/config/llm.ts +6 -0
  269. package/src/config/modelProviders/fal.ts +21 -0
  270. package/src/config/modelProviders/index.ts +3 -0
  271. package/src/config/paramsSchemas/fal/flux-kontext-dev.ts +8 -0
  272. package/src/config/paramsSchemas/fal/flux-pro-kontext.ts +11 -0
  273. package/src/config/paramsSchemas/fal/flux-schnell.ts +9 -0
  274. package/src/config/paramsSchemas/fal/imagen4.ts +10 -0
  275. package/src/config/paramsSchemas/openai/gpt-image-1.ts +10 -0
  276. package/src/const/hotkeys.ts +2 -2
  277. package/src/const/image.ts +6 -0
  278. package/src/const/settings/systemAgent.ts +1 -0
  279. package/src/database/client/migrations.json +27 -0
  280. package/src/database/migrations/0026_add_autovacuum_tuning.sql +2 -0
  281. package/src/database/migrations/0027_ai_image.sql +47 -0
  282. package/src/database/migrations/meta/0027_snapshot.json +6003 -0
  283. package/src/database/migrations/meta/_journal.json +7 -0
  284. package/src/database/models/__tests__/asyncTask.test.ts +7 -5
  285. package/src/database/models/__tests__/file.test.ts +287 -0
  286. package/src/database/models/__tests__/generation.test.ts +786 -0
  287. package/src/database/models/__tests__/generationBatch.test.ts +614 -0
  288. package/src/database/models/__tests__/generationTopic.test.ts +411 -0
  289. package/src/database/models/aiModel.ts +2 -0
  290. package/src/database/models/asyncTask.ts +1 -1
  291. package/src/database/models/file.ts +28 -20
  292. package/src/database/models/generation.ts +197 -0
  293. package/src/database/models/generationBatch.ts +212 -0
  294. package/src/database/models/generationTopic.ts +131 -0
  295. package/src/database/repositories/aiInfra/index.test.ts +151 -1
  296. package/src/database/repositories/aiInfra/index.ts +28 -19
  297. package/src/database/repositories/tableViewer/index.test.ts +1 -1
  298. package/src/database/schemas/file.ts +8 -0
  299. package/src/database/schemas/generation.ts +127 -0
  300. package/src/database/schemas/index.ts +1 -0
  301. package/src/database/schemas/relations.ts +45 -1
  302. package/src/database/type.ts +2 -0
  303. package/src/database/utils/idGenerator.ts +3 -0
  304. package/src/features/Conversation/Error/ChatInvalidApiKey.tsx +39 -0
  305. package/src/features/Conversation/Error/InvalidAccessCode.tsx +2 -2
  306. package/src/features/Conversation/Error/index.tsx +3 -3
  307. package/src/features/ImageSidePanel/index.tsx +83 -0
  308. package/src/features/ImageTopicPanel/index.tsx +79 -0
  309. package/src/features/PluginDevModal/MCPManifestForm/CollapsibleSection.tsx +62 -0
  310. package/src/features/PluginDevModal/MCPManifestForm/QuickImportSection.tsx +158 -0
  311. package/src/features/PluginDevModal/MCPManifestForm/index.tsx +99 -155
  312. package/src/features/PluginStore/McpList/Detail/Settings/index.tsx +5 -2
  313. package/src/hooks/useDownloadImage.ts +31 -0
  314. package/src/hooks/useFetchGenerationTopics.ts +13 -0
  315. package/src/hooks/useHotkeys/imageScope.ts +48 -0
  316. package/src/libs/mcp/client.ts +55 -22
  317. package/src/libs/mcp/types.ts +42 -6
  318. package/src/libs/model-runtime/BaseAI.ts +3 -1
  319. package/src/libs/model-runtime/ModelRuntime.test.ts +80 -0
  320. package/src/libs/model-runtime/ModelRuntime.ts +15 -1
  321. package/src/libs/model-runtime/UniformRuntime/index.ts +4 -1
  322. package/src/libs/model-runtime/fal/index.test.ts +442 -0
  323. package/src/libs/model-runtime/fal/index.ts +88 -0
  324. package/src/libs/model-runtime/openai/index.test.ts +396 -2
  325. package/src/libs/model-runtime/openai/index.ts +129 -3
  326. package/src/libs/model-runtime/runtimeMap.ts +2 -0
  327. package/src/libs/model-runtime/types/image.ts +25 -0
  328. package/src/libs/model-runtime/types/type.ts +1 -0
  329. package/src/libs/model-runtime/utils/openaiCompatibleFactory/index.ts +10 -0
  330. package/src/libs/standard-parameters/index.ts +1 -0
  331. package/src/libs/standard-parameters/meta-schema.test.ts +214 -0
  332. package/src/libs/standard-parameters/meta-schema.ts +147 -0
  333. package/src/libs/swr/index.ts +1 -0
  334. package/src/libs/trpc/async/asyncAuth.ts +29 -8
  335. package/src/libs/trpc/async/context.ts +42 -4
  336. package/src/libs/trpc/async/index.ts +17 -4
  337. package/src/libs/trpc/async/init.ts +8 -0
  338. package/src/libs/trpc/client/lambda.ts +19 -2
  339. package/src/locales/default/common.ts +2 -0
  340. package/src/locales/default/components.ts +35 -0
  341. package/src/locales/default/error.ts +2 -0
  342. package/src/locales/default/image.ts +100 -0
  343. package/src/locales/default/index.ts +2 -0
  344. package/src/locales/default/metadata.ts +4 -0
  345. package/src/locales/default/modelProvider.ts +2 -0
  346. package/src/locales/default/plugin.ts +22 -0
  347. package/src/locales/default/setting.ts +5 -0
  348. package/src/middleware.ts +1 -0
  349. package/src/server/modules/ElectronIPCClient/index.ts +9 -1
  350. package/src/server/modules/S3/index.ts +15 -0
  351. package/src/server/routers/async/caller.ts +9 -1
  352. package/src/server/routers/async/image.ts +253 -0
  353. package/src/server/routers/async/index.ts +2 -0
  354. package/src/server/routers/lambda/aiProvider.test.ts +1 -0
  355. package/src/server/routers/lambda/generation.test.ts +267 -0
  356. package/src/server/routers/lambda/generation.ts +86 -0
  357. package/src/server/routers/lambda/generationBatch.test.ts +376 -0
  358. package/src/server/routers/lambda/generationBatch.ts +56 -0
  359. package/src/server/routers/lambda/generationTopic.test.ts +508 -0
  360. package/src/server/routers/lambda/generationTopic.ts +93 -0
  361. package/src/server/routers/lambda/image.ts +248 -0
  362. package/src/server/routers/lambda/index.ts +8 -0
  363. package/src/server/routers/tools/mcp.ts +15 -0
  364. package/src/server/services/file/__tests__/index.test.ts +135 -0
  365. package/src/server/services/file/impls/local.test.ts +153 -52
  366. package/src/server/services/file/impls/local.ts +70 -46
  367. package/src/server/services/file/impls/s3.test.ts +114 -0
  368. package/src/server/services/file/impls/s3.ts +40 -0
  369. package/src/server/services/file/impls/type.ts +10 -0
  370. package/src/server/services/file/index.ts +14 -0
  371. package/src/server/services/generation/index.ts +239 -0
  372. package/src/server/services/mcp/index.ts +20 -2
  373. package/src/services/__tests__/generation.test.ts +40 -0
  374. package/src/services/__tests__/generationBatch.test.ts +36 -0
  375. package/src/services/__tests__/generationTopic.test.ts +72 -0
  376. package/src/services/electron/file.ts +3 -1
  377. package/src/services/generation.ts +16 -0
  378. package/src/services/generationBatch.ts +25 -0
  379. package/src/services/generationTopic.ts +28 -0
  380. package/src/services/image.ts +33 -0
  381. package/src/services/mcp.ts +12 -7
  382. package/src/services/upload.ts +43 -9
  383. package/src/store/aiInfra/slices/aiProvider/action.ts +25 -5
  384. package/src/store/aiInfra/slices/aiProvider/initialState.ts +1 -0
  385. package/src/store/aiInfra/slices/aiProvider/selectors.ts +3 -0
  386. package/src/store/chat/slices/aiChat/actions/generateAIChat.ts +5 -5
  387. package/src/store/chat/slices/message/action.ts +2 -2
  388. package/src/store/chat/slices/translate/action.ts +1 -1
  389. package/src/store/global/initialState.ts +9 -0
  390. package/src/store/global/selectors/systemStatus.ts +8 -0
  391. package/src/store/image/index.ts +2 -0
  392. package/src/store/image/initialState.ts +25 -0
  393. package/src/store/image/selectors.ts +4 -0
  394. package/src/store/image/slices/createImage/action.test.ts +330 -0
  395. package/src/store/image/slices/createImage/action.ts +134 -0
  396. package/src/store/image/slices/createImage/initialState.ts +9 -0
  397. package/src/store/image/slices/createImage/selectors.test.ts +114 -0
  398. package/src/store/image/slices/createImage/selectors.ts +9 -0
  399. package/src/store/image/slices/generationBatch/action.test.ts +495 -0
  400. package/src/store/image/slices/generationBatch/action.ts +303 -0
  401. package/src/store/image/slices/generationBatch/initialState.ts +13 -0
  402. package/src/store/image/slices/generationBatch/reducer.test.ts +568 -0
  403. package/src/store/image/slices/generationBatch/reducer.ts +101 -0
  404. package/src/store/image/slices/generationBatch/selectors.test.ts +307 -0
  405. package/src/store/image/slices/generationBatch/selectors.ts +36 -0
  406. package/src/store/image/slices/generationConfig/action.test.ts +351 -0
  407. package/src/store/image/slices/generationConfig/action.ts +295 -0
  408. package/src/store/image/slices/generationConfig/hooks.test.ts +304 -0
  409. package/src/store/image/slices/generationConfig/hooks.ts +118 -0
  410. package/src/store/image/slices/generationConfig/index.ts +1 -0
  411. package/src/store/image/slices/generationConfig/initialState.ts +37 -0
  412. package/src/store/image/slices/generationConfig/selectors.test.ts +204 -0
  413. package/src/store/image/slices/generationConfig/selectors.ts +25 -0
  414. package/src/store/image/slices/generationTopic/action.test.ts +687 -0
  415. package/src/store/image/slices/generationTopic/action.ts +319 -0
  416. package/src/store/image/slices/generationTopic/index.ts +2 -0
  417. package/src/store/image/slices/generationTopic/initialState.ts +14 -0
  418. package/src/store/image/slices/generationTopic/reducer.test.ts +198 -0
  419. package/src/store/image/slices/generationTopic/reducer.ts +66 -0
  420. package/src/store/image/slices/generationTopic/selectors.test.ts +103 -0
  421. package/src/store/image/slices/generationTopic/selectors.ts +15 -0
  422. package/src/store/image/store.ts +42 -0
  423. package/src/store/image/utils/size.ts +51 -0
  424. package/src/store/tool/slices/customPlugin/action.ts +10 -1
  425. package/src/store/tool/slices/mcpStore/action.ts +6 -4
  426. package/src/store/user/slices/settings/selectors/__snapshots__/settings.test.ts.snap +4 -0
  427. package/src/store/user/slices/settings/selectors/systemAgent.ts +2 -0
  428. package/src/types/aiModel.ts +8 -3
  429. package/src/types/aiProvider.ts +1 -0
  430. package/src/types/asyncTask.ts +2 -0
  431. package/src/types/files/index.ts +5 -0
  432. package/src/types/generation/index.ts +80 -0
  433. package/src/types/hotkey.ts +2 -0
  434. package/src/types/plugins/mcp.ts +2 -6
  435. package/src/types/tool/plugin.ts +8 -0
  436. package/src/types/user/settings/keyVaults.ts +5 -0
  437. package/src/types/user/settings/systemAgent.ts +1 -0
  438. package/src/utils/client/downloadFile.ts +33 -4
  439. package/src/utils/number.test.ts +105 -0
  440. package/src/utils/number.ts +25 -0
  441. package/src/utils/server/__tests__/geo.test.ts +6 -3
  442. package/src/utils/storeDebug.test.ts +152 -0
  443. package/src/utils/storeDebug.ts +16 -7
  444. package/src/utils/time.test.ts +259 -0
  445. package/src/utils/time.ts +18 -0
  446. package/src/utils/units.ts +61 -0
  447. package/src/utils/url.test.ts +358 -9
  448. package/src/utils/url.ts +105 -3
  449. package/{vitest.server.config.ts → vitest.config.server.ts} +3 -0
  450. package/.cursor/rules/i18n/i18n-auto-attached.mdc +0 -6
  451. package/src/features/Conversation/Error/APIKeyForm/index.tsx +0 -105
  452. package/src/features/Conversation/Error/InvalidAPIKey.tsx +0 -16
  453. package/src/features/PluginDevModal/MCPManifestForm/EnvEditor.tsx +0 -227
  454. /package/.cursor/rules/{i18n/i18n.mdc → i18n.mdc} +0 -0
  455. /package/src/app/[variants]/(main)/settings/system-agent/features/{createForm.tsx → SystemAgentForm.tsx} +0 -0
  456. /package/src/{features/Conversation/Error → components/InvalidAPIKey}/APIKeyForm/LoadingContext.ts +0 -0
@@ -0,0 +1,100 @@
1
+ {
2
+ "config": {
3
+ "aspectRatio": {
4
+ "label": "Verhouding",
5
+ "lock": "Vergrendel beeldverhouding",
6
+ "unlock": "Ontgrendel beeldverhouding"
7
+ },
8
+ "header": {
9
+ "desc": "Eenvoudige beschrijving, direct creëren",
10
+ "title": "Schilderen"
11
+ },
12
+ "height": {
13
+ "label": "Hoogte"
14
+ },
15
+ "imageNum": {
16
+ "label": "Aantal afbeeldingen"
17
+ },
18
+ "imageUrl": {
19
+ "label": "Referentieafbeelding"
20
+ },
21
+ "imageUrls": {
22
+ "label": "Referentieafbeeldingen"
23
+ },
24
+ "model": {
25
+ "label": "Model"
26
+ },
27
+ "prompt": {
28
+ "placeholder": "Beschrijf wat je wilt genereren"
29
+ },
30
+ "seed": {
31
+ "label": "Zaad",
32
+ "random": "Willekeurige zaad"
33
+ },
34
+ "size": {
35
+ "label": "Afmeting"
36
+ },
37
+ "steps": {
38
+ "label": "Stappen"
39
+ },
40
+ "title": "AI Tekenen",
41
+ "width": {
42
+ "label": "Breedte"
43
+ }
44
+ },
45
+ "generation": {
46
+ "actions": {
47
+ "applySeed": "Zaad toepassen",
48
+ "copyError": "Foutmelding kopiëren",
49
+ "copyPrompt": "Prompt kopiëren",
50
+ "copySeed": "Zaad kopiëren",
51
+ "delete": "Verwijderen",
52
+ "deleteBatch": "Batch verwijderen",
53
+ "download": "Downloaden",
54
+ "downloadFailed": "Afbeelding downloaden mislukt",
55
+ "errorCopied": "Foutmelding gekopieerd naar klembord",
56
+ "errorCopyFailed": "Foutmelding kopiëren mislukt",
57
+ "generate": "Genereren",
58
+ "promptCopied": "Prompt gekopieerd naar klembord",
59
+ "promptCopyFailed": "Prompt kopiëren mislukt",
60
+ "reuseSettings": "Instellingen hergebruiken",
61
+ "seedApplied": "Zaad is toegepast op de configuratie",
62
+ "seedApplyFailed": "Toepassen van zaad mislukt",
63
+ "seedCopied": "Zaad gekopieerd naar klembord",
64
+ "seedCopyFailed": "Zaad kopiëren mislukt"
65
+ },
66
+ "metadata": {
67
+ "count": "{{count}} afbeeldingen"
68
+ },
69
+ "status": {
70
+ "failed": "Generatie mislukt",
71
+ "generating": "Bezig met genereren..."
72
+ }
73
+ },
74
+ "notSupportGuide": {
75
+ "desc": "De huidige implementatie gebruikt een client-database modus en ondersteunt geen AI-beeldgeneratie. Schakel over naar de <1>server-database modus</1> of gebruik direct <3>LobeChat Cloud</3>",
76
+ "features": {
77
+ "fileIntegration": {
78
+ "desc": "Diepe integratie met het bestandsbeheersysteem, gegenereerde afbeeldingen worden automatisch opgeslagen in het bestandssysteem voor gecentraliseerd beheer en organisatie",
79
+ "title": "Bestandssysteem integratie"
80
+ },
81
+ "llmAssisted": {
82
+ "desc": "Combineert de kracht van grote taalmodellen om prompts intelligent te optimaliseren en uit te breiden, wat de beeldgeneratiekwaliteit verbetert (Binnenkort beschikbaar)",
83
+ "title": "LLM-ondersteunde beeldgeneratie"
84
+ },
85
+ "multiProviders": {
86
+ "desc": "Ondersteunt meerdere AI-tekenproviders, waaronder OpenAI gpt-image-1, Google Imagen, FAL.ai, enz., met een breed scala aan modelkeuzes",
87
+ "title": "Ondersteuning voor meerdere providers"
88
+ }
89
+ },
90
+ "title": "De huidige implementatiemodus ondersteunt geen AI-tekenen"
91
+ },
92
+ "topic": {
93
+ "createNew": "Nieuw onderwerp aanmaken",
94
+ "deleteConfirm": "Onderwerp verwijderen",
95
+ "deleteConfirmDesc": "U staat op het punt dit gegenereerde onderwerp te verwijderen. Verwijdering is onomkeerbaar, wees voorzichtig.",
96
+ "empty": "Geen gegenereerde onderwerpen",
97
+ "title": "Schilderthema",
98
+ "untitled": "Standaard onderwerp"
99
+ }
100
+ }
@@ -32,6 +32,10 @@
32
32
  "search": "Zoeken",
33
33
  "title": "Ontdekken"
34
34
  },
35
+ "image": {
36
+ "description": "{{appName}} biedt je de beste ervaring met GPT Image, Flux, Midjourney en Stable Diffusion",
37
+ "title": "AI Schilderen"
38
+ },
35
39
  "plugins": {
36
40
  "description": "Zoeken, grafiekgeneratie, academisch, beeldgeneratie, video-generatie, spraakgeneratie, geautomatiseerde workflows, pas de ToolCall-pluginmogelijkheden van ChatGPT / Claude aan",
37
41
  "title": "Pluginmarkt"
@@ -66,6 +66,7 @@
66
66
  "customRegion": "Aangepaste regio",
67
67
  "customSessionToken": "Aangepaste sessietoken",
68
68
  "description": "Voer uw AWS AccessKeyId / SecretAccessKey in om een sessie te starten. De app zal uw verificatiegegevens niet opslaan",
69
+ "imageGenerationDescription": "Voer je AWS AccessKeyId / SecretAccessKey in om te beginnen met genereren. De applicatie slaat je authenticatiegegevens niet op",
69
70
  "title": "Gebruik aangepaste Bedrock-verificatiegegevens"
70
71
  }
71
72
  },
@@ -203,24 +203,21 @@
203
203
  "Pro/Qwen/Qwen2.5-VL-7B-Instruct": {
204
204
  "description": "Qwen2.5-VL is een nieuw lid van de Qwen-serie, met krachtige visuele inzichtscapaciteiten. Het kan tekst, grafieken en lay-outs in afbeeldingen analyseren en langere video's begrijpen en gebeurtenissen vastleggen. Het kan redeneren en tools bedienen, ondersteunt multi-formaat objectlocalisatie en structuuroutput genereren. De video-begripstraining is geoptimaliseerd voor dynamische resolutie en framesnelheid, en de efficiëntie van de visuele encoder is verbeterd."
205
205
  },
206
+ "Pro/THUDM/GLM-4.1V-9B-Thinking": {
207
+ "description": "GLM-4.1V-9B-Thinking is een open source visueel-taalmodel (VLM) dat gezamenlijk is uitgebracht door Zhipu AI en het KEG-laboratorium van de Tsinghua Universiteit. Het is speciaal ontworpen voor het verwerken van complexe multimodale cognitieve taken. Dit model is gebaseerd op het GLM-4-9B-0414 basismodel en verbetert aanzienlijk de crossmodale redeneercapaciteiten en stabiliteit door de introductie van een 'Chain-of-Thought' redeneermethode en het gebruik van versterkend leren."
208
+ },
206
209
  "Pro/THUDM/glm-4-9b-chat": {
207
210
  "description": "GLM-4-9B-Chat is de open-source versie van het GLM-4-serie voorgetrainde model, gelanceerd door Zhipu AI. Dit model presteert uitstekend in semantiek, wiskunde, redenering, code en kennis. Naast ondersteuning voor meerdaagse gesprekken, beschikt GLM-4-9B-Chat ook over geavanceerde functies zoals webbrowser, code-uitvoering, aangepaste tool-aanroepen (Function Call) en lange tekstredenering. Het model ondersteunt 26 talen, waaronder Chinees, Engels, Japans, Koreaans en Duits. In verschillende benchmarktests toont GLM-4-9B-Chat uitstekende prestaties, zoals AlignBench-v2, MT-Bench, MMLU en C-Eval. Dit model ondersteunt een maximale contextlengte van 128K, geschikt voor academisch onderzoek en commerciële toepassingen."
208
211
  },
209
212
  "Pro/deepseek-ai/DeepSeek-R1": {
210
213
  "description": "DeepSeek-R1 is een inferentiemodel aangedreven door versterkend leren (RL), dat de problemen van herhaling en leesbaarheid in modellen aanpakt. Voor RL introduceert DeepSeek-R1 koude startdata, wat de inferentieprestaties verder optimaliseert. Het presteert vergelijkbaar met OpenAI-o1 in wiskunde, code en inferentietaken, en verbetert de algehele effectiviteit door zorgvuldig ontworpen trainingsmethoden."
211
214
  },
212
- "Pro/deepseek-ai/DeepSeek-R1-0120": {
213
- "description": "DeepSeek-R1 is een door versterkend leren (RL) aangedreven redeneermodel dat problemen met herhaling en leesbaarheid in modellen aanpakt. Voor RL introduceert DeepSeek-R1 cold-start data om de redeneerprestaties verder te optimaliseren. Het presteert vergelijkbaar met OpenAI-o1 in wiskunde, code en redeneertaken en verbetert de algehele effectiviteit door zorgvuldig ontworpen trainingsmethoden."
214
- },
215
215
  "Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B": {
216
216
  "description": "DeepSeek-R1-Distill-Qwen-7B is een model dat is afgeleid van Qwen2.5-Math-7B door middel van kennisdistillatie. Dit model is fijn afgesteld met 800.000 zorgvuldig geselecteerde voorbeelden die zijn gegenereerd door DeepSeek-R1, waardoor het uitstekende inferentiecapaciteiten vertoont. Het presteert goed op verschillende benchmarks, met een nauwkeurigheid van 92,8% op MATH-500, een doorlooptarief van 55,5% op AIME 2024 en een score van 1189 op CodeForces. Als een model van 7B schaal toont het sterke wiskundige en programmeringvaardigheden."
217
217
  },
218
218
  "Pro/deepseek-ai/DeepSeek-V3": {
219
219
  "description": "DeepSeek-V3 is een hybride expert (MoE) taalmodel met 6710 miljard parameters, dat gebruikmaakt van multi-head latent attention (MLA) en de DeepSeekMoE-architectuur, gecombineerd met een load balancing-strategie zonder extra verlies, om de inferentie- en trainingsefficiëntie te optimaliseren. Door voorgetraind te worden op 14,8 biljoen hoogwaardige tokens en vervolgens te worden fijngesteld met supervisie en versterkend leren, overtreft DeepSeek-V3 andere open-source modellen in prestaties en komt het dicht in de buurt van toonaangevende gesloten modellen."
220
220
  },
221
- "Pro/deepseek-ai/DeepSeek-V3-1226": {
222
- "description": "DeepSeek-V3 is een hybride expert (MoE) taalmodel met 6710 miljard parameters, dat gebruikmaakt van multi-head latent attention (MLA) en de DeepSeekMoE-architectuur, gecombineerd met een load balancing strategie zonder extra verlies, om de efficiëntie van inferentie en training te optimaliseren. Door voorgetraind te worden op 14,8 biljoen hoogwaardige tokens en vervolgens te worden verfijnd met supervisie en versterkend leren, overtreft DeepSeek-V3 andere open-source modellen in prestaties en benadert het de toonaangevende gesloten-source modellen."
223
- },
224
221
  "QwQ-32B-Preview": {
225
222
  "description": "QwQ-32B-Preview is een innovatief natuurlijk taalverwerkingsmodel dat efficiënt complexe dialooggeneratie en contextbegripstaken kan verwerken."
226
223
  },
@@ -383,6 +380,9 @@
383
380
  "THUDM/GLM-4-9B-0414": {
384
381
  "description": "GLM-4-9B-0414 is een klein model uit de GLM-serie met 9 miljard parameters. Dit model erft de technische kenmerken van de GLM-4-32B-serie, maar biedt een lichtere implementatieoptie. Ondanks de kleinere schaal toont GLM-4-9B-0414 nog steeds uitstekende capaciteiten in taken zoals codegeneratie, webdesign, SVG-graphics generatie en op zoek gebaseerde schrijfopdrachten."
385
382
  },
383
+ "THUDM/GLM-4.1V-9B-Thinking": {
384
+ "description": "GLM-4.1V-9B-Thinking is een open source visueel-taalmodel (VLM) dat gezamenlijk is uitgebracht door Zhipu AI en het KEG-laboratorium van de Tsinghua Universiteit. Het is speciaal ontworpen voor het verwerken van complexe multimodale cognitieve taken. Dit model is gebaseerd op het GLM-4-9B-0414 basismodel en verbetert aanzienlijk de crossmodale redeneercapaciteiten en stabiliteit door de introductie van een 'Chain-of-Thought' redeneermethode en het gebruik van versterkend leren."
385
+ },
386
386
  "THUDM/GLM-Z1-32B-0414": {
387
387
  "description": "GLM-Z1-32B-0414 is een redeneringsmodel met diep denkvermogen. Dit model is ontwikkeld op basis van GLM-4-32B-0414 door middel van koude start en versterkend leren, en is verder getraind op wiskunde, code en logische taken. In vergelijking met het basismodel heeft GLM-Z1-32B-0414 aanzienlijke verbeteringen in wiskundige vaardigheden en het oplossen van complexe taken."
388
388
  },
@@ -539,6 +539,9 @@
539
539
  "anthropic/claude-sonnet-4": {
540
540
  "description": "Claude Sonnet 4 kan bijna onmiddellijke reacties genereren of uitgebreide stapsgewijze overwegingen, waarbij gebruikers deze processen duidelijk kunnen volgen. API-gebruikers kunnen ook de denktijd van het model nauwkeurig regelen."
541
541
  },
542
+ "ascend-tribe/pangu-pro-moe": {
543
+ "description": "Pangu-Pro-MoE 72B-A16B is een sparsely activated groot taalmodel met 72 miljard parameters en 16 miljard geactiveerde parameters. Het is gebaseerd op de Group Mixture of Experts (MoGE) architectuur, waarbij experts worden gegroepeerd tijdens de selectie en tokens binnen elke groep een gelijk aantal experts activeren, wat zorgt voor een gebalanceerde expertbelasting en de efficiëntie van modelimplementatie op het Ascend-platform aanzienlijk verbetert."
544
+ },
542
545
  "aya": {
543
546
  "description": "Aya 23 is een meertalig model van Cohere, ondersteunt 23 talen en biedt gemak voor diverse taaltoepassingen."
544
547
  },
@@ -548,6 +551,9 @@
548
551
  "baichuan/baichuan2-13b-chat": {
549
552
  "description": "Baichuan-13B is een open-source, commercieel bruikbaar groot taalmodel ontwikkeld door Baichuan Intelligent, met 13 miljard parameters, dat de beste prestaties in zijn klasse heeft behaald op gezaghebbende Chinese en Engelse benchmarks."
550
553
  },
554
+ "baidu/ERNIE-4.5-300B-A47B": {
555
+ "description": "ERNIE-4.5-300B-A47B is een groot taalmodel ontwikkeld door Baidu, gebaseerd op een hybride expert (MoE) architectuur. Het model heeft in totaal 300 miljard parameters, maar activeert slechts 47 miljard parameters per token tijdens inferentie, wat krachtige prestaties combineert met rekenefficiëntie. Als een kernmodel van de ERNIE 4.5-serie toont het uitstekende capaciteiten in tekstbegrip, generatie, redenering en programmeren. Het model gebruikt een innovatieve multimodale heterogene MoE pre-trainingsmethode, waarbij tekst- en visuele modaliteiten gezamenlijk worden getraind, wat de algehele prestaties verbetert, vooral in instructienaleving en wereldkennis."
556
+ },
551
557
  "c4ai-aya-expanse-32b": {
552
558
  "description": "Aya Expanse is een hoogwaardig 32B meertalig model, ontworpen om de prestaties van eentalige modellen uit te dagen door middel van instructietuning, data-arbitrage, voorkeurstraining en modelintegratie. Het ondersteunt 23 talen."
553
559
  },
@@ -1013,6 +1019,15 @@
1013
1019
  "ernie-x1-turbo-32k": {
1014
1020
  "description": "In vergelijking met ERNIE-X1-32K biedt dit model betere prestaties en effectiviteit."
1015
1021
  },
1022
+ "flux-kontext/dev": {
1023
+ "description": "Frontier beeldbewerkingsmodel."
1024
+ },
1025
+ "flux-pro/kontext": {
1026
+ "description": "FLUX.1 Kontext [pro] kan tekst en referentieafbeeldingen als invoer verwerken, waardoor doelgerichte lokale bewerkingen en complexe algehele scèneveranderingen naadloos mogelijk zijn."
1027
+ },
1028
+ "flux/schnell": {
1029
+ "description": "FLUX.1 [schnell] is een streaming transformer-model met 12 miljard parameters, dat binnen 1 tot 4 stappen hoogwaardige afbeeldingen uit tekst kan genereren, geschikt voor persoonlijk en commercieel gebruik."
1030
+ },
1016
1031
  "gemini-1.0-pro-001": {
1017
1032
  "description": "Gemini 1.0 Pro 001 (Tuning) biedt stabiele en afstelbare prestaties, ideaal voor oplossingen voor complexe taken."
1018
1033
  },
@@ -1097,9 +1112,6 @@
1097
1112
  "gemini-2.5-pro": {
1098
1113
  "description": "Gemini 2.5 Pro is het meest geavanceerde denkmodel van Google, in staat om complexe problemen op het gebied van code, wiskunde en STEM te redeneren, en grote datasets, codebases en documenten te analyseren met lange context."
1099
1114
  },
1100
- "gemini-2.5-pro-exp-03-25": {
1101
- "description": "Gemini 2.5 Pro Experimental is Google's meest geavanceerde denkmodel, dat in staat is om te redeneren over complexe problemen in code, wiskunde en STEM-gebieden, en bovendien gebruik maakt van lange contexten om grote datasets, codebases en documenten te analyseren."
1102
- },
1103
1115
  "gemini-2.5-pro-preview-03-25": {
1104
1116
  "description": "Gemini 2.5 Pro Preview is Google's meest geavanceerde denkmodel, dat in staat is om te redeneren over complexe problemen in code, wiskunde en STEM-gebieden, en grote datasets, codebases en documenten te analyseren met behulp van lange context."
1105
1117
  },
@@ -1166,6 +1178,12 @@
1166
1178
  "glm-4-plus": {
1167
1179
  "description": "GLM-4-Plus, als vlaggenschip van hoge intelligentie, heeft krachtige capaciteiten voor het verwerken van lange teksten en complexe taken, met algehele prestatieverbeteringen."
1168
1180
  },
1181
+ "glm-4.1v-thinking-flash": {
1182
+ "description": "De GLM-4.1V-Thinking serie modellen zijn momenteel de krachtigste visuele modellen binnen de bekende 10 miljard parameter VLM's. Ze integreren state-of-the-art visuele-taaltaakprestaties op hetzelfde niveau, waaronder videoverwerking, beeldvraag-antwoordsystemen, vakinhoudelijke probleemoplossing, OCR-tekstherkenning, document- en grafiekanalyse, GUI-agenten, frontend webcodering en grounding. De capaciteiten van meerdere taken overtreffen zelfs die van Qwen2.5-VL-72B met acht keer zoveel parameters. Door geavanceerde versterkend leren technologie beheerst het model chain-of-thought redenering om de nauwkeurigheid en rijkdom van antwoorden te verbeteren, wat resulteert in aanzienlijk betere eindresultaten en interpretatie dan traditionele niet-thinking modellen."
1183
+ },
1184
+ "glm-4.1v-thinking-flashx": {
1185
+ "description": "De GLM-4.1V-Thinking serie modellen zijn momenteel de krachtigste visuele modellen binnen de bekende 10 miljard parameter VLM's. Ze integreren state-of-the-art visuele-taaltaakprestaties op hetzelfde niveau, waaronder videoverwerking, beeldvraag-antwoordsystemen, vakinhoudelijke probleemoplossing, OCR-tekstherkenning, document- en grafiekanalyse, GUI-agenten, frontend webcodering en grounding. De capaciteiten van meerdere taken overtreffen zelfs die van Qwen2.5-VL-72B met acht keer zoveel parameters. Door geavanceerde versterkend leren technologie beheerst het model chain-of-thought redenering om de nauwkeurigheid en rijkdom van antwoorden te verbeteren, wat resulteert in aanzienlijk betere eindresultaten en interpretatie dan traditionele niet-thinking modellen."
1186
+ },
1169
1187
  "glm-4v": {
1170
1188
  "description": "GLM-4V biedt krachtige beeldbegrip- en redeneercapaciteiten, ondersteunt verschillende visuele taken."
1171
1189
  },
@@ -1187,6 +1205,9 @@
1187
1205
  "glm-z1-flash": {
1188
1206
  "description": "De GLM-Z1 serie beschikt over krachtige complexe redeneringscapaciteiten en presteert uitstekend in logische redenering, wiskunde en programmeren. De maximale contextlengte is 32K."
1189
1207
  },
1208
+ "glm-z1-flashx": {
1209
+ "description": "Snel en betaalbaar: Flash verbeterde versie met ultrahoge inferentiesnelheid en snellere gelijktijdige verwerking."
1210
+ },
1190
1211
  "glm-zero-preview": {
1191
1212
  "description": "GLM-Zero-Preview heeft krachtige complexe redeneercapaciteiten en presteert uitstekend in logische redenering, wiskunde en programmeren."
1192
1213
  },
@@ -1238,6 +1259,9 @@
1238
1259
  "google/gemma-2b-it": {
1239
1260
  "description": "Gemma Instruct (2B) biedt basis instructieverwerkingscapaciteiten, geschikt voor lichte toepassingen."
1240
1261
  },
1262
+ "google/gemma-3-1b-it": {
1263
+ "description": "Gemma 3 1B is een open source taalmodel van Google dat nieuwe standaarden zet op het gebied van efficiëntie en prestaties."
1264
+ },
1241
1265
  "google/gemma-3-27b-it": {
1242
1266
  "description": "Gemma 3 27B is een open-source taalmodel van Google dat nieuwe normen heeft gesteld op het gebied van efficiëntie en prestaties."
1243
1267
  },
@@ -1349,6 +1373,9 @@
1349
1373
  "gpt-4o-transcribe": {
1350
1374
  "description": "GPT-4o Transcribe is een spraak-naar-tekstmodel dat GPT-4o gebruikt voor audiotranscriptie. Vergeleken met het originele Whisper-model verbetert het de woordfoutpercentage en verhoogt het de taalherkenning en nauwkeurigheid. Gebruik het voor nauwkeurigere transcripties."
1351
1375
  },
1376
+ "gpt-image-1": {
1377
+ "description": "ChatGPT native multimodaal afbeeldingsgeneratiemodel"
1378
+ },
1352
1379
  "grok-2-1212": {
1353
1380
  "description": "Dit model heeft verbeteringen aangebracht in nauwkeurigheid, instructievolging en meertalige capaciteiten."
1354
1381
  },
@@ -1373,6 +1400,9 @@
1373
1400
  "gryphe/mythomax-l2-13b": {
1374
1401
  "description": "MythoMax l2 13B is een taalmodel dat creativiteit en intelligentie combineert door meerdere topmodellen te integreren."
1375
1402
  },
1403
+ "hunyuan-a13b": {
1404
+ "description": "Hunyuan's eerste hybride redeneermodel, een upgrade van hun hunyuan-standard-256K, met in totaal 80 miljard parameters en 13 miljard geactiveerde parameters. Standaard werkt het in een langzame denkwijze, maar ondersteunt schakeling tussen snelle en langzame denkwijzen via parameters of instructies, waarbij de snelle/langzame wisseling wordt geactiveerd door het toevoegen van 'query' of 'no_think' vooraf. De algehele capaciteiten zijn aanzienlijk verbeterd ten opzichte van de vorige generatie, vooral op het gebied van wiskunde, wetenschap, lange tekstbegrip en agentfunctionaliteit."
1405
+ },
1376
1406
  "hunyuan-code": {
1377
1407
  "description": "Het nieuwste codegeneratiemodel van Hunyuan, getraind op 200B hoogwaardige codegegevens, met een half jaar training op hoogwaardige SFT-gegevens, met een vergroot contextvenster van 8K, en staat bovenaan de automatische evaluatie-indicatoren voor codegeneratie in vijf grote programmeertalen; presteert in de eerste divisie op basis van handmatige kwaliteitsbeoordelingen van 10 aspecten van code-taken in vijf grote talen."
1378
1408
  },
@@ -1424,6 +1454,9 @@
1424
1454
  "hunyuan-t1-vision": {
1425
1455
  "description": "Hunyuan multimodaal begrip en diepdenkend model, ondersteunt native multimodale lange-denk-ketens, excelleert in diverse beeldredeneerscenario's en verbetert aanzienlijk ten opzichte van snelle denkers bij exacte wetenschappen."
1426
1456
  },
1457
+ "hunyuan-t1-vision-20250619": {
1458
+ "description": "De nieuwste versie van Hunyuan's t1-vision multimodale diepdenkende model, ondersteunt native lange chain-of-thought in multimodale contexten en biedt een algehele verbetering ten opzichte van de vorige standaardversie."
1459
+ },
1427
1460
  "hunyuan-turbo": {
1428
1461
  "description": "Een previewversie van het nieuwe generatie grote taalmodel van Hunyuan, met een nieuwe hybride expertmodel (MoE) structuur, die sneller inferentie-efficiëntie biedt en betere prestaties levert dan hunyan-pro."
1429
1462
  },
@@ -1454,9 +1487,18 @@
1454
1487
  "hunyuan-turbos-role-plus": {
1455
1488
  "description": "De nieuwste versie van het Hunyuan rollenspelmodel, officieel fijngetuned door Hunyuan, getraind met datasets voor rollenspelscenario's, biedt betere basisprestaties in rollenspelsituaties."
1456
1489
  },
1490
+ "hunyuan-turbos-vision": {
1491
+ "description": "Dit model is geschikt voor beeld- en tekstbegripsscenario's en is gebaseerd op Hunyuan's nieuwste turbos, een nieuwe generatie vlaggenschip visueel-taalmodel dat zich richt op taken zoals entiteitsherkenning op basis van afbeeldingen, kennisvraag-antwoordsystemen, copywriting en foto-gebaseerde probleemoplossing. Het biedt een algehele verbetering ten opzichte van de vorige generatie modellen."
1492
+ },
1493
+ "hunyuan-turbos-vision-20250619": {
1494
+ "description": "De nieuwste versie van Hunyuan's turbos-vision vlaggenschip visueel-taalmodel, met algehele verbeteringen in taken gerelateerd aan beeld- en tekstbegrip, waaronder entiteitsherkenning op basis van afbeeldingen, kennisvraag-antwoordsystemen, copywriting en foto-gebaseerde probleemoplossing, vergeleken met de vorige standaardversie."
1495
+ },
1457
1496
  "hunyuan-vision": {
1458
1497
  "description": "Het nieuwste multimodale model van Hunyuan, ondersteunt het genereren van tekstinhoud op basis van afbeelding + tekstinvoer."
1459
1498
  },
1499
+ "imagen4/preview": {
1500
+ "description": "Google's hoogste kwaliteit afbeeldingsgeneratiemodel"
1501
+ },
1460
1502
  "internlm/internlm2_5-7b-chat": {
1461
1503
  "description": "InternLM2.5 biedt intelligente gespreksoplossingen voor meerdere scenario's."
1462
1504
  },
@@ -57,12 +57,28 @@
57
57
  }
58
58
  },
59
59
  "mcp": {
60
+ "advanced": {
61
+ "title": "Geavanceerde instellingen"
62
+ },
60
63
  "args": {
61
64
  "desc": "Een lijst met parameters die aan het uitvoeringscommando worden doorgegeven, meestal hier de naam van de MCP-server of het pad naar het opstartscript invoeren.",
62
65
  "label": "Commando-parameters",
63
66
  "placeholder": "Bijvoorbeeld: --port 8080 --debug",
64
67
  "required": "Voer de opstartparameters in"
65
68
  },
69
+ "auth": {
70
+ "bear": "API-sleutel",
71
+ "desc": "Kies de authenticatiemethode voor de MCP-server",
72
+ "label": "Authenticatietype",
73
+ "none": "Geen authenticatie vereist",
74
+ "placeholder": "Selecteer een authenticatietype",
75
+ "token": {
76
+ "desc": "Voer je API-sleutel of Bearer-token in",
77
+ "label": "API-sleutel",
78
+ "placeholder": "sk-xxxxx",
79
+ "required": "Voer het authenticatietoken in"
80
+ }
81
+ },
66
82
  "avatar": {
67
83
  "label": "Plugin-icoon"
68
84
  },
@@ -90,6 +106,11 @@
90
106
  "label": "Omgevingsvariabelen voor MCP-server",
91
107
  "stringifyError": "Kan parameters niet serialiseren, controleer het parameterformaat"
92
108
  },
109
+ "headers": {
110
+ "add": "Voeg een regel toe",
111
+ "desc": "Voer de verzoekheaders in",
112
+ "label": "HTTP-headers"
113
+ },
93
114
  "identifier": {
94
115
  "desc": "Geef je MCP-plugin een naam, gebruik Engelse karakters",
95
116
  "invalid": "Alleen Engelse karakters, cijfers, - en _ zijn toegestaan",
@@ -269,6 +290,7 @@
269
290
  "showDetails": "Details weergeven"
270
291
  },
271
292
  "errorTypes": {
293
+ "AUTHORIZATION_ERROR": "Autorisatiefout",
272
294
  "CONNECTION_FAILED": "Verbinding mislukt",
273
295
  "INITIALIZATION_TIMEOUT": "Initialisatie time-out",
274
296
  "PROCESS_SPAWN_ERROR": "Proces starten mislukt",
@@ -29,6 +29,9 @@
29
29
  "deepseek": {
30
30
  "description": "DeepSeek is een bedrijf dat zich richt op onderzoek en toepassing van kunstmatige intelligentietechnologie, en hun nieuwste model DeepSeek-V2.5 combineert algemene dialoog- en codeverwerkingscapaciteiten, met significante verbeteringen in het afstemmen op menselijke voorkeuren, schrijfopdrachten en het volgen van instructies."
31
31
  },
32
+ "fal": {
33
+ "description": "Generatief mediaplatform voor ontwikkelaars"
34
+ },
32
35
  "fireworksai": {
33
36
  "description": "Fireworks AI is een toonaangevende aanbieder van geavanceerde taalmodellen, met een focus op functionele aanroepen en multimodale verwerking. Hun nieuwste model Firefunction V2 is gebaseerd op Llama-3 en geoptimaliseerd voor functieaanroepen, dialogen en het volgen van instructies. Het visuele taalmodel FireLLaVA-13B ondersteunt gemengde invoer van afbeeldingen en tekst. Andere opmerkelijke modellen zijn de Llama-serie en de Mixtral-serie, die efficiënte ondersteuning bieden voor meertalig volgen van instructies en genereren."
34
37
  },
@@ -484,6 +484,11 @@
484
484
  "placeholder": "Voer aangepaste prompt in",
485
485
  "title": "Aangepaste prompt"
486
486
  },
487
+ "generationTopic": {
488
+ "label": "AI-schilderij onderwerp naamgevingsmodel",
489
+ "modelDesc": "Model aangewezen voor het automatisch benoemen van onderwerpen in AI-schilderijen",
490
+ "title": "Automatisch onderwerp naamgeven voor AI-schilderijen"
491
+ },
487
492
  "helpInfo": "Wanneer je een nieuwe assistent maakt, worden de standaard assistentinstellingen als standaardwaarden gebruikt.",
488
493
  "historyCompress": {
489
494
  "label": "Gespreksgeschiedenismodel",
@@ -183,6 +183,7 @@
183
183
  },
184
184
  "fullscreen": "Tryb pełnoekranowy",
185
185
  "historyRange": "Zakres historii",
186
+ "import": "Importuj",
186
187
  "importData": "Importuj dane",
187
188
  "importModal": {
188
189
  "error": {
@@ -324,6 +325,7 @@
324
325
  }
325
326
  },
326
327
  "tab": {
328
+ "aiImage": "AI Rysowanie",
327
329
  "chat": "Czat",
328
330
  "discover": "Odkryj",
329
331
  "files": "Pliki",
@@ -68,6 +68,22 @@
68
68
  "GoBack": {
69
69
  "back": "Wróć"
70
70
  },
71
+ "ImageUpload": {
72
+ "actions": {
73
+ "changeImage": "Kliknij, aby zmienić obraz"
74
+ },
75
+ "placeholder": {
76
+ "primary": "Dodaj obraz",
77
+ "secondary": "Kliknij, aby przesłać"
78
+ }
79
+ },
80
+ "KeyValueEditor": {
81
+ "addButton": "Dodaj nowy wiersz",
82
+ "deleteTooltip": "Usuń",
83
+ "duplicateKeyError": "Nazwa klucza musi być unikalna",
84
+ "keyPlaceholder": "Klucz",
85
+ "valuePlaceholder": "Wartość"
86
+ },
71
87
  "MaxTokenSlider": {
72
88
  "unlimited": "Bez ograniczeń"
73
89
  },
@@ -91,6 +107,25 @@
91
107
  "provider": "Dostawca",
92
108
  "title": "Model"
93
109
  },
110
+ "MultiImagesUpload": {
111
+ "actions": {
112
+ "uploadMore": "Kliknij, aby przesłać więcej"
113
+ },
114
+ "modal": {
115
+ "complete": "Zakończ",
116
+ "newFileIndicator": "Nowy",
117
+ "selectImageToPreview": "Wybierz obraz do podglądu",
118
+ "title": "Zarządzaj obrazami ({{count}})",
119
+ "upload": "Prześlij obraz"
120
+ },
121
+ "placeholder": {
122
+ "primary": "Kliknij, aby przesłać obraz",
123
+ "secondary": "Obsługuje wybór wielu obrazów"
124
+ },
125
+ "progress": {
126
+ "uploadingWithCount": "{{completed}}/{{total}} przesłano"
127
+ }
128
+ },
94
129
  "OllamaSetupGuide": {
95
130
  "action": {
96
131
  "close": "Zamknij powiadomienie",
@@ -123,6 +123,7 @@
123
123
  "stt": {
124
124
  "responseError": "Błąd żądania usługi. Proszę sprawdź konfigurację i spróbuj ponownie"
125
125
  },
126
+ "testConnectionFailed": "Test połączenia nie powiódł się: {{error}}",
126
127
  "tts": {
127
128
  "responseError": "Błąd żądania usługi. Proszę sprawdź konfigurację i spróbuj ponownie"
128
129
  },
@@ -130,6 +131,7 @@
130
131
  "addProxyUrl": "Dodaj adres proxy OpenAI (opcjonalnie)",
131
132
  "apiKey": {
132
133
  "description": "Wprowadź swój Klucz API {{name}}, aby rozpocząć sesję.",
134
+ "imageGenerationDescription": "Wprowadź swój klucz API {{name}}, aby rozpocząć generowanie",
133
135
  "title": "Użyj niestandardowego Klucza API {{name}}"
134
136
  },
135
137
  "closeMessage": "Zamknij komunikat",
@@ -0,0 +1,100 @@
1
+ {
2
+ "config": {
3
+ "aspectRatio": {
4
+ "label": "Proporcje",
5
+ "lock": "Zablokuj proporcje",
6
+ "unlock": "Odblokuj proporcje"
7
+ },
8
+ "header": {
9
+ "desc": "Prosty opis, twórz natychmiast",
10
+ "title": "Malarstwo"
11
+ },
12
+ "height": {
13
+ "label": "Wysokość"
14
+ },
15
+ "imageNum": {
16
+ "label": "Liczba obrazów"
17
+ },
18
+ "imageUrl": {
19
+ "label": "Obraz referencyjny"
20
+ },
21
+ "imageUrls": {
22
+ "label": "Obrazy referencyjne"
23
+ },
24
+ "model": {
25
+ "label": "Model"
26
+ },
27
+ "prompt": {
28
+ "placeholder": "Opisz, co chcesz wygenerować"
29
+ },
30
+ "seed": {
31
+ "label": "Ziarno",
32
+ "random": "Losowy seed"
33
+ },
34
+ "size": {
35
+ "label": "Rozmiar"
36
+ },
37
+ "steps": {
38
+ "label": "Liczba kroków"
39
+ },
40
+ "title": "AI Rysowanie",
41
+ "width": {
42
+ "label": "Szerokość"
43
+ }
44
+ },
45
+ "generation": {
46
+ "actions": {
47
+ "applySeed": "Zastosuj nasiono",
48
+ "copyError": "Kopiuj błąd",
49
+ "copyPrompt": "Kopiuj podpowiedź",
50
+ "copySeed": "Kopiuj ziarno",
51
+ "delete": "Usuń",
52
+ "deleteBatch": "Usuń partię",
53
+ "download": "Pobierz",
54
+ "downloadFailed": "Pobieranie obrazu nie powiodło się",
55
+ "errorCopied": "Informacja o błędzie skopiowana do schowka",
56
+ "errorCopyFailed": "Kopiowanie informacji o błędzie nie powiodło się",
57
+ "generate": "Generuj",
58
+ "promptCopied": "Tekst podpowiedzi skopiowany do schowka",
59
+ "promptCopyFailed": "Kopiowanie tekstu podpowiedzi nie powiodło się",
60
+ "reuseSettings": "Użyj ponownie ustawień",
61
+ "seedApplied": "Nasiono zostało zastosowane w konfiguracji",
62
+ "seedApplyFailed": "Nie udało się zastosować nasiona",
63
+ "seedCopied": "Ziarno skopiowane do schowka",
64
+ "seedCopyFailed": "Kopiowanie ziarna nie powiodło się"
65
+ },
66
+ "metadata": {
67
+ "count": "{{count}} obrazów"
68
+ },
69
+ "status": {
70
+ "failed": "Generowanie nie powiodło się",
71
+ "generating": "Generowanie..."
72
+ }
73
+ },
74
+ "notSupportGuide": {
75
+ "desc": "Aktualna instancja wdrożeniowa działa w trybie bazy danych klienta i nie obsługuje funkcji generowania obrazów AI. Proszę przełączyć się na <1>tryb wdrożenia bazy danych serwera</1> lub bezpośrednio skorzystać z <3>LobeChat Cloud</3>",
76
+ "features": {
77
+ "fileIntegration": {
78
+ "desc": "Głęboka integracja z systemem zarządzania plikami, generowane obrazy są automatycznie zapisywane w systemie plików, umożliwiając ich centralne zarządzanie i organizację",
79
+ "title": "Integracja z systemem plików"
80
+ },
81
+ "llmAssisted": {
82
+ "desc": "Wykorzystanie możliwości dużych modeli językowych do inteligentnej optymalizacji i rozszerzania tekstów podpowiedzi, poprawiając jakość generowanych obrazów (wkrótce)",
83
+ "title": "Wsparcie LLM przy generowaniu obrazów"
84
+ },
85
+ "multiProviders": {
86
+ "desc": "Obsługuje wielu dostawców usług AI do rysowania, w tym OpenAI gpt-image-1, Google Imagen, FAL.ai i innych, oferując szeroki wybór modeli",
87
+ "title": "Wsparcie wielu dostawców"
88
+ }
89
+ },
90
+ "title": "Aktualny tryb wdrożenia nie obsługuje AI Rysowania"
91
+ },
92
+ "topic": {
93
+ "createNew": "Utwórz nowy temat",
94
+ "deleteConfirm": "Usuń temat generowania",
95
+ "deleteConfirmDesc": "Temat generowania zostanie usunięty i nie będzie można go przywrócić. Proszę zachować ostrożność.",
96
+ "empty": "Brak wygenerowanych tematów",
97
+ "title": "Temat malarski",
98
+ "untitled": "Domyślny temat"
99
+ }
100
+ }
@@ -32,6 +32,10 @@
32
32
  "search": "Szukaj",
33
33
  "title": "Odkryj"
34
34
  },
35
+ "image": {
36
+ "description": "{{appName}} zapewnia najlepsze doświadczenia w korzystaniu z GPT Image, Flux, Midjourney, Stable Diffusion",
37
+ "title": "AI Malarstwo"
38
+ },
35
39
  "plugins": {
36
40
  "description": "Wyszukiwanie, generowanie wykresów, akademickie, generowanie obrazów, generowanie wideo, generowanie głosu, automatyzacja przepływów pracy, dostosuj możliwości wtyczek ToolCall dla ChatGPT / Claude",
37
41
  "title": "Rynek wtyczek"
@@ -66,6 +66,7 @@
66
66
  "customRegion": "Niestandardowy region usługi",
67
67
  "customSessionToken": "Niestandardowy token sesji",
68
68
  "description": "Wprowadź swój AWS AccessKeyId / SecretAccessKey, aby rozpocząć sesję. Aplikacja nie będzie przechowywać Twojej konfiguracji uwierzytelniania",
69
+ "imageGenerationDescription": "Wprowadź swój AWS AccessKeyId / SecretAccessKey, aby rozpocząć generowanie. Aplikacja nie będzie zapisywać Twoich danych uwierzytelniających",
69
70
  "title": "Użyj niestandardowych informacji uwierzytelniających Bedrock"
70
71
  }
71
72
  },