@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
@@ -57,12 +57,28 @@
57
57
  }
58
58
  },
59
59
  "mcp": {
60
+ "advanced": {
61
+ "title": "Configurações Avançadas"
62
+ },
60
63
  "args": {
61
64
  "desc": "Lista de parâmetros a serem passados para o comando de execução, geralmente aqui se insere o nome do servidor MCP ou o caminho do script de inicialização",
62
65
  "label": "Parâmetros do comando",
63
66
  "placeholder": "Por exemplo: --port 8080 --debug",
64
67
  "required": "Por favor, insira os parâmetros de inicialização"
65
68
  },
69
+ "auth": {
70
+ "bear": "Chave API",
71
+ "desc": "Selecione o método de autenticação do servidor MCP",
72
+ "label": "Tipo de autenticação",
73
+ "none": "Sem autenticação",
74
+ "placeholder": "Por favor, selecione o tipo de autenticação",
75
+ "token": {
76
+ "desc": "Insira sua Chave API ou Token Bearer",
77
+ "label": "Chave API",
78
+ "placeholder": "sk-xxxxx",
79
+ "required": "Por favor, insira o token de autenticação"
80
+ }
81
+ },
66
82
  "avatar": {
67
83
  "label": "Ícone do plugin"
68
84
  },
@@ -90,6 +106,11 @@
90
106
  "label": "Variáveis de ambiente do servidor MCP",
91
107
  "stringifyError": "Não foi possível serializar os parâmetros, verifique o formato dos parâmetros"
92
108
  },
109
+ "headers": {
110
+ "add": "Adicionar uma linha",
111
+ "desc": "Insira os cabeçalhos da requisição",
112
+ "label": "Cabeçalhos HTTP"
113
+ },
93
114
  "identifier": {
94
115
  "desc": "Dê um nome ao seu plugin MCP, deve usar caracteres em inglês",
95
116
  "invalid": "Somente caracteres em inglês, números, - e _ são permitidos",
@@ -269,6 +290,7 @@
269
290
  "showDetails": "Mostrar detalhes"
270
291
  },
271
292
  "errorTypes": {
293
+ "AUTHORIZATION_ERROR": "Erro de autorização",
272
294
  "CONNECTION_FAILED": "Falha na conexão",
273
295
  "INITIALIZATION_TIMEOUT": "Tempo de inicialização esgotado",
274
296
  "PROCESS_SPAWN_ERROR": "Falha ao iniciar processo",
@@ -29,6 +29,9 @@
29
29
  "deepseek": {
30
30
  "description": "A DeepSeek é uma empresa focada em pesquisa e aplicação de tecnologia de inteligência artificial, cujo modelo mais recente, DeepSeek-V2.5, combina capacidades de diálogo geral e processamento de código, alcançando melhorias significativas em alinhamento com preferências humanas, tarefas de escrita e seguimento de instruções."
31
31
  },
32
+ "fal": {
33
+ "description": "Plataforma de mídia generativa voltada para desenvolvedores"
34
+ },
32
35
  "fireworksai": {
33
36
  "description": "Fireworks AI é um fornecedor líder de serviços de modelos de linguagem avançados, focando em chamadas de função e processamento multimodal. Seu modelo mais recente, Firefunction V2, baseado em Llama-3, é otimizado para chamadas de função, diálogos e seguimento de instruções. O modelo de linguagem visual FireLLaVA-13B suporta entradas mistas de imagem e texto. Outros modelos notáveis incluem a série Llama e a série Mixtral, oferecendo suporte eficiente para seguimento e geração de instruções multilíngues."
34
37
  },
@@ -484,6 +484,11 @@
484
484
  "placeholder": "Digite a palavra-chave personalizada",
485
485
  "title": "Palavra-chave personalizada"
486
486
  },
487
+ "generationTopic": {
488
+ "label": "Modelo de Nomeação de Tópicos para Pintura AI",
489
+ "modelDesc": "Modelo designado para nomeação automática de tópicos em pintura AI",
490
+ "title": "Nomeação Automática de Tópicos para Pintura AI"
491
+ },
487
492
  "helpInfo": "Ao criar um novo assistente, as configurações padrão do assistente serão usadas como valores predefinidos.",
488
493
  "historyCompress": {
489
494
  "label": "Modelo de Histórico de Conversa",
@@ -183,6 +183,7 @@
183
183
  },
184
184
  "fullscreen": "Полноэкранный режим",
185
185
  "historyRange": "История",
186
+ "import": "Импорт",
186
187
  "importData": "Импорт данных",
187
188
  "importModal": {
188
189
  "error": {
@@ -324,6 +325,7 @@
324
325
  }
325
326
  },
326
327
  "tab": {
328
+ "aiImage": "ИИ Рисование",
327
329
  "chat": "Чат",
328
330
  "discover": "Открыть",
329
331
  "files": "Файлы",
@@ -68,6 +68,22 @@
68
68
  "GoBack": {
69
69
  "back": "Назад"
70
70
  },
71
+ "ImageUpload": {
72
+ "actions": {
73
+ "changeImage": "Нажмите, чтобы изменить изображение"
74
+ },
75
+ "placeholder": {
76
+ "primary": "Добавить изображение",
77
+ "secondary": "Нажмите, чтобы загрузить"
78
+ }
79
+ },
80
+ "KeyValueEditor": {
81
+ "addButton": "Добавить строку",
82
+ "deleteTooltip": "Удалить",
83
+ "duplicateKeyError": "Имя ключа должно быть уникальным",
84
+ "keyPlaceholder": "Ключ",
85
+ "valuePlaceholder": "Значение"
86
+ },
71
87
  "MaxTokenSlider": {
72
88
  "unlimited": "Без ограничений"
73
89
  },
@@ -91,6 +107,25 @@
91
107
  "provider": "Поставщик",
92
108
  "title": "Модель"
93
109
  },
110
+ "MultiImagesUpload": {
111
+ "actions": {
112
+ "uploadMore": "Нажмите, чтобы загрузить ещё"
113
+ },
114
+ "modal": {
115
+ "complete": "Готово",
116
+ "newFileIndicator": "Новое",
117
+ "selectImageToPreview": "Выберите изображение для просмотра",
118
+ "title": "Управление изображениями ({{count}})",
119
+ "upload": "Загрузить изображение"
120
+ },
121
+ "placeholder": {
122
+ "primary": "Нажмите, чтобы загрузить изображение",
123
+ "secondary": "Поддерживается выбор нескольких изображений"
124
+ },
125
+ "progress": {
126
+ "uploadingWithCount": "{{completed}}/{{total}} загружено"
127
+ }
128
+ },
94
129
  "OllamaSetupGuide": {
95
130
  "action": {
96
131
  "close": "Закрыть уведомление",
@@ -123,6 +123,7 @@
123
123
  "stt": {
124
124
  "responseError": "Ошибка запроса сервиса. Пожалуйста, проверьте конфигурацию или повторите попытку"
125
125
  },
126
+ "testConnectionFailed": "Не удалось проверить соединение: {{error}}",
126
127
  "tts": {
127
128
  "responseError": "Ошибка запроса сервиса. Пожалуйста, проверьте конфигурацию или повторите попытку"
128
129
  },
@@ -130,6 +131,7 @@
130
131
  "addProxyUrl": "Добавить URL прокси-сервера OpenAI (необязательно)",
131
132
  "apiKey": {
132
133
  "description": "Просто введите ваш API ключ {{name}}, чтобы начать сеанс",
134
+ "imageGenerationDescription": "Введите ваш {{name}} API ключ, чтобы начать генерацию",
133
135
  "title": "Используйте настраиваемый API ключ {{name}}"
134
136
  },
135
137
  "closeMessage": "Закрыть сообщение",
@@ -0,0 +1,100 @@
1
+ {
2
+ "config": {
3
+ "aspectRatio": {
4
+ "label": "Соотношение сторон",
5
+ "lock": "Заблокировать соотношение сторон",
6
+ "unlock": "Разблокировать соотношение сторон"
7
+ },
8
+ "header": {
9
+ "desc": "Краткое описание, создавайте мгновенно",
10
+ "title": "Рисование"
11
+ },
12
+ "height": {
13
+ "label": "Высота"
14
+ },
15
+ "imageNum": {
16
+ "label": "Количество изображений"
17
+ },
18
+ "imageUrl": {
19
+ "label": "Референсное изображение"
20
+ },
21
+ "imageUrls": {
22
+ "label": "Референсные изображения"
23
+ },
24
+ "model": {
25
+ "label": "Модель"
26
+ },
27
+ "prompt": {
28
+ "placeholder": "Опишите, что вы хотите сгенерировать"
29
+ },
30
+ "seed": {
31
+ "label": "Сид",
32
+ "random": "Случайное начальное значение"
33
+ },
34
+ "size": {
35
+ "label": "Размер"
36
+ },
37
+ "steps": {
38
+ "label": "Шаги"
39
+ },
40
+ "title": "AI Рисование",
41
+ "width": {
42
+ "label": "Ширина"
43
+ }
44
+ },
45
+ "generation": {
46
+ "actions": {
47
+ "applySeed": "Применить сид",
48
+ "copyError": "Скопировать ошибку",
49
+ "copyPrompt": "Скопировать подсказку",
50
+ "copySeed": "Скопировать сид",
51
+ "delete": "Удалить",
52
+ "deleteBatch": "Удалить пакет",
53
+ "download": "Скачать",
54
+ "downloadFailed": "Не удалось скачать изображение",
55
+ "errorCopied": "Информация об ошибке скопирована в буфер обмена",
56
+ "errorCopyFailed": "Не удалось скопировать информацию об ошибке",
57
+ "generate": "Создать",
58
+ "promptCopied": "Подсказка скопирована в буфер обмена",
59
+ "promptCopyFailed": "Не удалось скопировать подсказку",
60
+ "reuseSettings": "Использовать настройки повторно",
61
+ "seedApplied": "Сид применён к конфигурации",
62
+ "seedApplyFailed": "Не удалось применить сид",
63
+ "seedCopied": "Сид скопирован в буфер обмена",
64
+ "seedCopyFailed": "Не удалось скопировать сид"
65
+ },
66
+ "metadata": {
67
+ "count": "{{count}} изображений"
68
+ },
69
+ "status": {
70
+ "failed": "Генерация не удалась",
71
+ "generating": "Генерация..."
72
+ }
73
+ },
74
+ "notSupportGuide": {
75
+ "desc": "Текущая развернутая версия использует клиентскую базу данных и не поддерживает функцию генерации AI-изображений. Пожалуйста, переключитесь на <1>серверный режим базы данных</1> или используйте <3>LobeChat Cloud</3> напрямую.",
76
+ "features": {
77
+ "fileIntegration": {
78
+ "desc": "Глубокая интеграция с файловой системой: сгенерированные изображения автоматически сохраняются в файловой системе для удобного управления и организации",
79
+ "title": "Интеграция с файловой системой"
80
+ },
81
+ "llmAssisted": {
82
+ "desc": "Использование возможностей больших языковых моделей для интеллектуальной оптимизации и расширения подсказок, улучшая качество генерации изображений (скоро)",
83
+ "title": "Поддержка LLM для генерации"
84
+ },
85
+ "multiProviders": {
86
+ "desc": "Поддержка множества AI-сервисов для рисования, включая OpenAI gpt-image-1, Google Imagen, FAL.ai и другие, предлагая широкий выбор моделей",
87
+ "title": "Поддержка нескольких провайдеров"
88
+ }
89
+ },
90
+ "title": "Текущий режим развертывания не поддерживает AI Рисование"
91
+ },
92
+ "topic": {
93
+ "createNew": "Создать новую тему",
94
+ "deleteConfirm": "Удалить тему генерации",
95
+ "deleteConfirmDesc": "Вы собираетесь удалить эту тему генерации. После удаления восстановить её будет невозможно, пожалуйста, действуйте осторожно.",
96
+ "empty": "Темы для генерации отсутствуют",
97
+ "title": "Тема рисунка",
98
+ "untitled": "Тема по умолчанию"
99
+ }
100
+ }
@@ -32,6 +32,10 @@
32
32
  "search": "Поиск",
33
33
  "title": "Открыть"
34
34
  },
35
+ "image": {
36
+ "description": "{{appName}} предлагает вам лучший опыт использования GPT Image, Flux, Midjourney, Stable Diffusion",
37
+ "title": "ИИ Рисование"
38
+ },
35
39
  "plugins": {
36
40
  "description": "Поиск, генерация графиков, академические исследования, генерация изображений, генерация видео, генерация речи, автоматизация рабочих процессов, настройте возможности ToolCall для ChatGPT / Claude",
37
41
  "title": "Рынок плагинов"
@@ -66,6 +66,7 @@
66
66
  "customRegion": "Пользовательский регион обслуживания",
67
67
  "customSessionToken": "Пользовательский токен сессии",
68
68
  "description": "Введите свой ключ доступа AWS AccessKeyId / SecretAccessKey, чтобы начать сеанс. Приложение не будет сохранять вашу конфигурацию аутентификации",
69
+ "imageGenerationDescription": "Введите ваш AWS AccessKeyId / SecretAccessKey, чтобы начать генерацию. Приложение не будет сохранять ваши данные аутентификации",
69
70
  "title": "Использовать пользовательскую информацию аутентификации Bedrock"
70
71
  }
71
72
  },
@@ -203,24 +203,21 @@
203
203
  "Pro/Qwen/Qwen2.5-VL-7B-Instruct": {
204
204
  "description": "Qwen2.5-VL — это новый член семейства Qwen, обладающий мощными возможностями визуального понимания. Может анализировать текст, диаграммы и компоновку в изображениях, понимать длинные видео и фиксировать события. Способен к логическим рассуждениям, работе с инструментами, поддерживает локализацию объектов в различных форматах и генерацию структурированных выводов. Оптимизирован для понимания видео с динамическим разрешением и частотой кадров, а также улучшена эффективность визуального кодировщика."
205
205
  },
206
+ "Pro/THUDM/GLM-4.1V-9B-Thinking": {
207
+ "description": "GLM-4.1V-9B-Thinking — это открытая визуально-языковая модель (VLM), совместно выпущенная Zhipu AI и лабораторией KEG Университета Цинхуа, специально разработанная для решения сложных мультимодальных когнитивных задач. Модель основана на базовой модели GLM-4-9B-0414 и значительно улучшает межмодальные способности рассуждения и стабильность за счёт внедрения механизма рассуждения «цепочка мышления» (Chain-of-Thought) и использования методов обучения с подкреплением."
208
+ },
206
209
  "Pro/THUDM/glm-4-9b-chat": {
207
210
  "description": "GLM-4-9B-Chat — это открытая версия предобученной модели из серии GLM-4, выпущенная Zhizhu AI. Эта модель показывает отличные результаты в семантике, математике, выводах, коде и знаниях. Кроме поддержки многократных диалогов, GLM-4-9B-Chat также обладает продвинутыми функциями, такими как веб-браузинг, выполнение кода, вызов пользовательских инструментов (Function Call) и вывод длинных текстов. Модель поддерживает 26 языков, включая китайский, английский, японский, корейский и немецкий. В нескольких бенчмарках GLM-4-9B-Chat демонстрирует отличные результаты, такие как AlignBench-v2, MT-Bench, MMLU и C-Eval. Эта модель поддерживает максимальную длину контекста 128K и подходит для академических исследований и коммерческих приложений."
208
211
  },
209
212
  "Pro/deepseek-ai/DeepSeek-R1": {
210
213
  "description": "DeepSeek-R1 — это модель вывода, управляемая обучением с подкреплением (RL), которая решает проблемы повторяемости и читаемости в модели. Перед RL DeepSeek-R1 вводит данные холодного старта, что дополнительно оптимизирует производительность вывода. Она показывает сопоставимые результаты с OpenAI-o1 в математических, кодовых и задачах вывода и улучшает общую эффективность благодаря тщательно продуманным методам обучения."
211
214
  },
212
- "Pro/deepseek-ai/DeepSeek-R1-0120": {
213
- "description": "DeepSeek-R1 — модель рассуждений, управляемая обучением с подкреплением (RL), решающая проблемы повторяемости и читаемости в моделях. Перед RL DeepSeek-R1 использовал данные холодного старта для дальнейшей оптимизации производительности рассуждений. Модель показывает сопоставимые с OpenAI-o1 результаты в математике, программировании и задачах рассуждения, а также улучшает общую эффективность благодаря тщательно разработанным методам обучения."
214
- },
215
215
  "Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B": {
216
216
  "description": "DeepSeek-R1-Distill-Qwen-7B — это модель, полученная методом дистилляции знаний на основе Qwen2.5-Math-7B. Модель была доработана с использованием 800 тысяч отобранных образцов, сгенерированных DeepSeek-R1, и демонстрирует выдающиеся способности к логическому рассуждению. Показывает отличные результаты в различных тестах: точность 92,8% на MATH-500, проходной балл 55,5% на AIME 2024 и оценку 1189 на CodeForces, что подтверждает её высокие математические и программистские возможности для модели масштаба 7B."
217
217
  },
218
218
  "Pro/deepseek-ai/DeepSeek-V3": {
219
219
  "description": "DeepSeek-V3 — это языковая модель с 6710 миллиардами параметров, использующая архитектуру смешанных экспертов (MoE) и многофункциональное внимание (MLA), в сочетании с стратегией балансировки нагрузки без вспомогательных потерь, оптимизирующая эффективность вывода и обучения. После предобучения на 14.8 триллионах высококачественных токенов и последующей контролируемой донастройки и обучения с подкреплением, DeepSeek-V3 превосходит другие открытые модели и приближается к ведущим закрытым моделям."
220
220
  },
221
- "Pro/deepseek-ai/DeepSeek-V3-1226": {
222
- "description": "DeepSeek-V3 — это языковая модель с 6710 миллиардами параметров, использующая смешанную экспертизу (MoE), многоуровневое внимание (MLA) и архитектуру DeepSeekMoE, в сочетании с стратегией балансировки нагрузки без вспомогательных потерь, оптимизирующей эффективность вывода и обучения. Модель была предварительно обучена на 14,8 триллионах высококачественных токенов и прошла контрольную донастройку и обучение с подкреплением, что позволяет DeepSeek-V3 превосходить другие открытые модели и приближаться к ведущим закрытым моделям."
223
- },
224
221
  "QwQ-32B-Preview": {
225
222
  "description": "QwQ-32B-Preview — это инновационная модель обработки естественного языка, способная эффективно обрабатывать сложные задачи генерации диалогов и понимания контекста."
226
223
  },
@@ -383,6 +380,9 @@
383
380
  "THUDM/GLM-4-9B-0414": {
384
381
  "description": "GLM-4-9B-0414 — это компактная модель серии GLM с 9 миллиардами параметров. Эта модель унаследовала технические характеристики серии GLM-4-32B, но предлагает более легкие варианты развертывания. Несмотря на меньший размер, GLM-4-9B-0414 все еще демонстрирует отличные способности в задачах генерации кода, веб-дизайна, генерации графики SVG и написания на основе поиска."
385
382
  },
383
+ "THUDM/GLM-4.1V-9B-Thinking": {
384
+ "description": "GLM-4.1V-9B-Thinking — это открытая визуально-языковая модель (VLM), совместно выпущенная Zhipu AI и лабораторией KEG Университета Цинхуа, специально разработанная для решения сложных мультимодальных когнитивных задач. Модель основана на базовой модели GLM-4-9B-0414 и значительно улучшает межмодальные способности рассуждения и стабильность за счёт внедрения механизма рассуждения «цепочка мышления» (Chain-of-Thought) и использования методов обучения с подкреплением."
385
+ },
386
386
  "THUDM/GLM-Z1-32B-0414": {
387
387
  "description": "GLM-Z1-32B-0414 — это модель вывода с глубокими размышлениями. Эта модель основана на GLM-4-32B-0414 и была разработана с помощью холодного старта и расширенного усиленного обучения, а также была дополнительно обучена в задачах математики, кода и логики. По сравнению с базовой моделью, GLM-Z1-32B-0414 значительно улучшила математические способности и способности к решению сложных задач."
388
388
  },
@@ -539,6 +539,9 @@
539
539
  "anthropic/claude-sonnet-4": {
540
540
  "description": "Claude Sonnet 4 способен генерировать практически мгновенные ответы или длительные поэтапные размышления, которые пользователи могут ясно отслеживать. API-пользователи также могут точно контролировать время размышлений модели."
541
541
  },
542
+ "ascend-tribe/pangu-pro-moe": {
543
+ "description": "Pangu-Pro-MoE 72B-A16B — это разреженная большая языковая модель с 72 миллиардами параметров и 16 миллиардами активных параметров, основанная на архитектуре группового смешанного эксперта (MoGE). В фазе выбора экспертов эксперты группируются, и токен активирует равное количество экспертов в каждой группе, что обеспечивает баланс нагрузки между экспертами и значительно повышает эффективность развертывания модели на платформе Ascend."
544
+ },
542
545
  "aya": {
543
546
  "description": "Aya 23 — это многоязычная модель, выпущенная Cohere, поддерживающая 23 языка, обеспечивая удобство для многоязычных приложений."
544
547
  },
@@ -548,6 +551,9 @@
548
551
  "baichuan/baichuan2-13b-chat": {
549
552
  "description": "Baichuan-13B — это открытая коммерческая крупная языковая модель с 13 миллиардами параметров, разработанная Baichuan Intelligence, которая показала лучшие результаты среди моделей того же размера на авторитетных бенчмарках на китайском и английском языках."
550
553
  },
554
+ "baidu/ERNIE-4.5-300B-A47B": {
555
+ "description": "ERNIE-4.5-300B-A47B — большая языковая модель, разработанная компанией Baidu на основе архитектуры смешанных экспертов (MoE). Общий объём параметров модели составляет 300 миллиардов, однако при выводе активируется только 47 миллиардов параметров на токен, что обеспечивает высокую производительность при оптимальной вычислительной эффективности. Как одна из ключевых моделей серии ERNIE 4.5, она демонстрирует выдающиеся способности в задачах понимания текста, генерации, рассуждения и программирования. Модель использует инновационный метод предварительного обучения с мультимодальным гетерогенным MoE, объединяющий текстовые и визуальные модальности, что значительно повышает её универсальные возможности, особенно в следовании инструкциям и запоминании знаний о мире."
556
+ },
551
557
  "c4ai-aya-expanse-32b": {
552
558
  "description": "Aya Expanse — это высокопроизводительная многоязычная модель 32B, созданная для того, чтобы бросить вызов производительности одноязычных моделей с помощью инноваций в области настройки по инструкциям, арбитража данных, обучения предпочтениям и объединения моделей. Она поддерживает 23 языка."
553
559
  },
@@ -1013,6 +1019,15 @@
1013
1019
  "ernie-x1-turbo-32k": {
1014
1020
  "description": "Модель имеет лучшие результаты и производительность по сравнению с ERNIE-X1-32K."
1015
1021
  },
1022
+ "flux-kontext/dev": {
1023
+ "description": "Модель редактирования изображений Frontier."
1024
+ },
1025
+ "flux-pro/kontext": {
1026
+ "description": "FLUX.1 Kontext [pro] способен обрабатывать текст и эталонные изображения в качестве входных данных, обеспечивая бесшовное целенаправленное локальное редактирование и сложные преобразования всей сцены."
1027
+ },
1028
+ "flux/schnell": {
1029
+ "description": "FLUX.1 [schnell] — это потоковая трансформерная модель с 12 миллиардами параметров, способная генерировать высококачественные изображения из текста за 1–4 шага, подходит для личного и коммерческого использования."
1030
+ },
1016
1031
  "gemini-1.0-pro-001": {
1017
1032
  "description": "Gemini 1.0 Pro 001 (Тюнинг) предлагает стабильную и настраиваемую производительность, что делает её идеальным выбором для решения сложных задач."
1018
1033
  },
@@ -1097,9 +1112,6 @@
1097
1112
  "gemini-2.5-pro": {
1098
1113
  "description": "Gemini 2.5 Pro — самая передовая модель мышления Google, способная рассуждать над сложными задачами в области кода, математики и STEM, а также анализировать большие наборы данных, кодовые базы и документы с использованием длинного контекста."
1099
1114
  },
1100
- "gemini-2.5-pro-exp-03-25": {
1101
- "description": "Gemini 2.5 Pro Experimental — это самая современная модель мышления от Google, способная рассуждать о сложных задачах в области кода, математики и STEM, а также анализировать большие наборы данных, кодовые базы и документы, используя длинный контекст."
1102
- },
1103
1115
  "gemini-2.5-pro-preview-03-25": {
1104
1116
  "description": "Gemini 2.5 Pro Preview — это самая современная модель мышления от Google, способная рассуждать о сложных задачах в области кода, математики и STEM, а также анализировать большие наборы данных, кодовые базы и документы с использованием длинного контекста."
1105
1117
  },
@@ -1166,6 +1178,12 @@
1166
1178
  "glm-4-plus": {
1167
1179
  "description": "GLM-4-Plus, как флагман с высоким интеллектом, обладает мощными способностями обработки длинных текстов и сложных задач, с полным улучшением производительности."
1168
1180
  },
1181
+ "glm-4.1v-thinking-flash": {
1182
+ "description": "Серия моделей GLM-4.1V-Thinking является самой производительной визуальной моделью уровня 10B VLM на сегодняшний день, объединяя передовые SOTA возможности в задачах визуально-языкового понимания, включая понимание видео, вопросы по изображениям, решение предметных задач, распознавание текста OCR, интерпретацию документов и графиков, GUI-агентов, фронтенд веб-кодинг, Grounding и другие. Во многих задачах её возможности превосходят Qwen2.5-VL-72B с параметрами в 8 раз больше. Благодаря передовым методам обучения с подкреплением модель овладела рассуждениями через цепочку мышления, что значительно повышает точность и полноту ответов, превосходя традиционные модели без thinking с точки зрения конечных результатов и интерпретируемости."
1183
+ },
1184
+ "glm-4.1v-thinking-flashx": {
1185
+ "description": "Серия моделей GLM-4.1V-Thinking является самой производительной визуальной моделью уровня 10B VLM на сегодняшний день, объединяя передовые SOTA возможности в задачах визуально-языкового понимания, включая понимание видео, вопросы по изображениям, решение предметных задач, распознавание текста OCR, интерпретацию документов и графиков, GUI-агентов, фронтенд веб-кодинг, Grounding и другие. Во многих задачах её возможности превосходят Qwen2.5-VL-72B с параметрами в 8 раз больше. Благодаря передовым методам обучения с подкреплением модель овладела рассуждениями через цепочку мышления, что значительно повышает точность и полноту ответов, превосходя традиционные модели без thinking с точки зрения конечных результатов и интерпретируемости."
1186
+ },
1169
1187
  "glm-4v": {
1170
1188
  "description": "GLM-4V предлагает мощные способности понимания и вывода изображений, поддерживает множество визуальных задач."
1171
1189
  },
@@ -1187,6 +1205,9 @@
1187
1205
  "glm-z1-flash": {
1188
1206
  "description": "Серия GLM-Z1 обладает мощными способностями к сложному выводу, демонстрируя отличные результаты в логическом выводе, математике и программировании. Максимальная длина контекста составляет 32K."
1189
1207
  },
1208
+ "glm-z1-flashx": {
1209
+ "description": "Высокая скорость и низкая цена: улучшенная версия Flash с сверхбыстрой скоростью вывода и повышенной поддержкой параллельных запросов."
1210
+ },
1190
1211
  "glm-zero-preview": {
1191
1212
  "description": "GLM-Zero-Preview обладает мощными способностями к сложному выводу, демонстрируя отличные результаты в области логического вывода, математики и программирования."
1192
1213
  },
@@ -1238,6 +1259,9 @@
1238
1259
  "google/gemma-2b-it": {
1239
1260
  "description": "Gemma Instruct (2B) предлагает базовые возможности обработки команд, подходящие для легковесных приложений."
1240
1261
  },
1262
+ "google/gemma-3-1b-it": {
1263
+ "description": "Gemma 3 1B — это открытая языковая модель от Google, установившая новые стандарты в эффективности и производительности."
1264
+ },
1241
1265
  "google/gemma-3-27b-it": {
1242
1266
  "description": "Gemma 3 27B — это открытая языковая модель от Google, которая установила новые стандарты в области эффективности и производительности."
1243
1267
  },
@@ -1349,6 +1373,9 @@
1349
1373
  "gpt-4o-transcribe": {
1350
1374
  "description": "GPT-4o Transcribe — модель преобразования речи в текст, использующая GPT-4o для транскрибирования аудио. По сравнению с оригинальной моделью Whisper, она снижает количество ошибок в словах и повышает точность распознавания языка. Используйте её для более точной транскрипции."
1351
1375
  },
1376
+ "gpt-image-1": {
1377
+ "description": "Родная мультимодальная модель генерации изображений ChatGPT."
1378
+ },
1352
1379
  "grok-2-1212": {
1353
1380
  "description": "Модель улучшена в точности, соблюдении инструкций и многоязычных возможностях."
1354
1381
  },
@@ -1373,6 +1400,9 @@
1373
1400
  "gryphe/mythomax-l2-13b": {
1374
1401
  "description": "MythoMax l2 13B — это языковая модель, объединяющая креативность и интеллект, основанная на нескольких ведущих моделях."
1375
1402
  },
1403
+ "hunyuan-a13b": {
1404
+ "description": "Hunyuan — первая гибридная модель рассуждения, обновлённая версия hunyuan-standard-256K с общим числом параметров 80B и 13B активных параметров. По умолчанию работает в режиме медленного мышления, поддерживает переключение между режимами быстрого и медленного мышления через параметры или команды, переключение осуществляется добавлением / no_think перед запросом. Общие возможности значительно улучшены по сравнению с предыдущим поколением, особенно в математике, науке, понимании длинных текстов и агентских функциях."
1405
+ },
1376
1406
  "hunyuan-code": {
1377
1407
  "description": "Последняя модель генерации кода Hunyuan, обученная на базе 200B высококачественных данных кода, прошедшая полгода обучения на высококачественных данных SFT, с увеличенной длиной контекстного окна до 8K, занимает ведущие позиции по автоматическим оценочным показателям генерации кода на пяти языках; по десяти критериям оценки кода на пяти языках, производительность находится в первой группе."
1378
1408
  },
@@ -1424,6 +1454,9 @@
1424
1454
  "hunyuan-t1-vision": {
1425
1455
  "description": "Глубокая мультимодальная модель понимания Hunyuan с нативной цепочкой размышлений для мультимодальных данных, отлично справляется с различными задачами рассуждения на изображениях, значительно превосходя модели быстрого мышления в решении научных задач."
1426
1456
  },
1457
+ "hunyuan-t1-vision-20250619": {
1458
+ "description": "Последняя версия модели hunyuan t1-vision для мультимодального понимания с глубокой цепочкой мышления, поддерживающая нативные мультимодальные цепочки рассуждений, с существенным улучшением по сравнению с предыдущей версией по умолчанию."
1459
+ },
1427
1460
  "hunyuan-turbo": {
1428
1461
  "description": "Предварительная версия нового поколения языковой модели Hunyuan, использующая совершенно новую структуру смешанной экспертной модели (MoE), которая обеспечивает более быструю эффективность вывода и более сильные результаты по сравнению с hunyuan-pro."
1429
1462
  },
@@ -1454,9 +1487,18 @@
1454
1487
  "hunyuan-turbos-role-plus": {
1455
1488
  "description": "Последняя версия модели ролевых игр Hunyuan, официально дообученная модель, основанная на Hunyuan и дополненная данными для ролевых сценариев, обеспечивающая лучшие базовые результаты в ролевых играх."
1456
1489
  },
1490
+ "hunyuan-turbos-vision": {
1491
+ "description": "Эта модель предназначена для задач понимания изображений и текста, основана на последней версии hunyuan turbos и является новым флагманским визуально-языковым большим моделью, сосредоточенной на задачах распознавания объектов на изображениях, ответах на вопросы, создании текстов и решении задач по фотографиям, с существенным улучшением по сравнению с предыдущим поколением."
1492
+ },
1493
+ "hunyuan-turbos-vision-20250619": {
1494
+ "description": "Последняя версия флагманской визуально-языковой модели hunyuan turbos-vision, значительно улучшенная по сравнению с предыдущей версией по умолчанию в задачах понимания изображений и текста, включая распознавание объектов на изображениях, ответы на вопросы, создание текстов и решение задач по фотографиям."
1495
+ },
1457
1496
  "hunyuan-vision": {
1458
1497
  "description": "Последняя многомодальная модель Hunyuan, поддерживающая ввод изображений и текста для генерации текстового контента."
1459
1498
  },
1499
+ "imagen4/preview": {
1500
+ "description": "Модель генерации изображений высочайшего качества от Google."
1501
+ },
1460
1502
  "internlm/internlm2_5-7b-chat": {
1461
1503
  "description": "InternLM2.5 предлагает интеллектуальные решения для диалогов в различных сценариях."
1462
1504
  },
@@ -57,12 +57,28 @@
57
57
  }
58
58
  },
59
59
  "mcp": {
60
+ "advanced": {
61
+ "title": "Расширенные настройки"
62
+ },
60
63
  "args": {
61
64
  "desc": "Список параметров, передаваемых в команду выполнения, обычно здесь указывается имя сервера MCP или путь к скрипту запуска",
62
65
  "label": "Параметры команды",
63
66
  "placeholder": "Например: --port 8080 --debug",
64
67
  "required": "Пожалуйста, введите параметры запуска"
65
68
  },
69
+ "auth": {
70
+ "bear": "API ключ",
71
+ "desc": "Выберите способ аутентификации сервера MCP",
72
+ "label": "Тип аутентификации",
73
+ "none": "Аутентификация не требуется",
74
+ "placeholder": "Пожалуйста, выберите тип аутентификации",
75
+ "token": {
76
+ "desc": "Введите ваш API ключ или токен Bearer",
77
+ "label": "API ключ",
78
+ "placeholder": "sk-xxxxx",
79
+ "required": "Пожалуйста, введите токен аутентификации"
80
+ }
81
+ },
66
82
  "avatar": {
67
83
  "label": "Иконка плагина"
68
84
  },
@@ -90,6 +106,11 @@
90
106
  "label": "Переменные окружения сервера MCP",
91
107
  "stringifyError": "Не удалось сериализовать параметры, проверьте формат параметров"
92
108
  },
109
+ "headers": {
110
+ "add": "Добавить строку",
111
+ "desc": "Введите заголовки запроса",
112
+ "label": "HTTP заголовки"
113
+ },
93
114
  "identifier": {
94
115
  "desc": "Укажите имя для вашего MCP плагина, необходимо использовать английские символы",
95
116
  "invalid": "Можно вводить только английские буквы, цифры, символы - и _",
@@ -269,6 +290,7 @@
269
290
  "showDetails": "Показать детали"
270
291
  },
271
292
  "errorTypes": {
293
+ "AUTHORIZATION_ERROR": "Ошибка авторизации",
272
294
  "CONNECTION_FAILED": "Ошибка подключения",
273
295
  "INITIALIZATION_TIMEOUT": "Превышено время инициализации",
274
296
  "PROCESS_SPAWN_ERROR": "Ошибка запуска процесса",
@@ -29,6 +29,9 @@
29
29
  "deepseek": {
30
30
  "description": "DeepSeek — это компания, сосредоточенная на исследованиях и применении технологий искусственного интеллекта, ее последняя модель DeepSeek-V2.5 объединяет возможности общего диалога и обработки кода, достигнув значительных улучшений в области согласования с человеческими предпочтениями, написания текстов и выполнения инструкций."
31
31
  },
32
+ "fal": {
33
+ "description": "Генеративная медиа-платформа для разработчиков"
34
+ },
32
35
  "fireworksai": {
33
36
  "description": "Fireworks AI — это ведущий поставщик высококлассных языковых моделей, сосредоточенный на вызовах функций и мультимодальной обработке. Их последняя модель Firefunction V2 основана на Llama-3 и оптимизирована для вызовов функций, диалогов и выполнения инструкций. Модель визуального языка FireLLaVA-13B поддерживает смешанный ввод изображений и текста. Другие заметные модели включают серию Llama и серию Mixtral, предлагая эффективную поддержку многоязычных инструкций и генерации."
34
37
  },
@@ -484,6 +484,11 @@
484
484
  "placeholder": "Введите пользовательский запрос",
485
485
  "title": "Пользовательский запрос"
486
486
  },
487
+ "generationTopic": {
488
+ "label": "Модель именования тем для AI-рисования",
489
+ "modelDesc": "Модель, предназначенная для автоматического именования тем в AI-рисовании",
490
+ "title": "Автоматическое именование тем для AI-рисования"
491
+ },
487
492
  "helpInfo": "При создании нового помощника будут использоваться настройки по умолчанию в качестве предустановленных значений.",
488
493
  "historyCompress": {
489
494
  "label": "Модель истории беседы",
@@ -183,6 +183,7 @@
183
183
  },
184
184
  "fullscreen": "Tam Ekran Modu",
185
185
  "historyRange": "Geçmiş Aralığı",
186
+ "import": "İçe aktar",
186
187
  "importData": "Veri İçe Aktar",
187
188
  "importModal": {
188
189
  "error": {
@@ -324,6 +325,7 @@
324
325
  }
325
326
  },
326
327
  "tab": {
328
+ "aiImage": "Yapay Zeka Resim",
327
329
  "chat": "Chat",
328
330
  "discover": "Keşfet",
329
331
  "files": "Dosyalar",
@@ -68,6 +68,22 @@
68
68
  "GoBack": {
69
69
  "back": "Geri dön"
70
70
  },
71
+ "ImageUpload": {
72
+ "actions": {
73
+ "changeImage": "Resmi değiştirmek için tıklayın"
74
+ },
75
+ "placeholder": {
76
+ "primary": "Resim ekle",
77
+ "secondary": "Yüklemek için tıklayın"
78
+ }
79
+ },
80
+ "KeyValueEditor": {
81
+ "addButton": "Yeni bir satır ekle",
82
+ "deleteTooltip": "Sil",
83
+ "duplicateKeyError": "Anahtar adı benzersiz olmalıdır",
84
+ "keyPlaceholder": "Anahtar",
85
+ "valuePlaceholder": "Değer"
86
+ },
71
87
  "MaxTokenSlider": {
72
88
  "unlimited": "Sınırsız"
73
89
  },
@@ -91,6 +107,25 @@
91
107
  "provider": "Sağlayıcı",
92
108
  "title": "Model"
93
109
  },
110
+ "MultiImagesUpload": {
111
+ "actions": {
112
+ "uploadMore": "Daha fazla yüklemek için tıklayın"
113
+ },
114
+ "modal": {
115
+ "complete": "Tamamla",
116
+ "newFileIndicator": "Yeni",
117
+ "selectImageToPreview": "Önizlemek için resim seçin",
118
+ "title": "Resimleri Yönet ({{count}})",
119
+ "upload": "Resim Yükle"
120
+ },
121
+ "placeholder": {
122
+ "primary": "Resim yüklemek için tıklayın",
123
+ "secondary": "Birden fazla resim seçimi desteklenir"
124
+ },
125
+ "progress": {
126
+ "uploadingWithCount": "{{completed}}/{{total}} yüklendi"
127
+ }
128
+ },
94
129
  "OllamaSetupGuide": {
95
130
  "action": {
96
131
  "close": "Uyarıyı Kapat",
@@ -123,6 +123,7 @@
123
123
  "stt": {
124
124
  "responseError": "Hizmet isteği başarısız oldu, lütfen yapılandırmayı kontrol edin veya tekrar deneyin"
125
125
  },
126
+ "testConnectionFailed": "Bağlantı testi başarısız: {{error}}",
126
127
  "tts": {
127
128
  "responseError": "Hizmet isteği başarısız oldu, lütfen yapılandırmayı kontrol edin veya tekrar deneyin"
128
129
  },
@@ -130,6 +131,7 @@
130
131
  "addProxyUrl": "OpenAI vekil adresi ekle (isteğe bağlı)",
131
132
  "apiKey": {
132
133
  "description": "{{name}} API Anahtarınızı girerek oturumu başlatabilirsiniz",
134
+ "imageGenerationDescription": "{{name}} API Anahtarınızı girerek oluşturma işlemine başlayabilirsiniz",
133
135
  "title": "Özel {{name}} API Anahtarını kullan"
134
136
  },
135
137
  "closeMessage": "Mesajı kapat",