@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.
- package/.cursor/rules/backend-architecture.mdc +93 -17
- package/.cursor/rules/cursor-ux.mdc +45 -35
- package/.cursor/rules/project-introduce.mdc +72 -6
- package/.cursor/rules/rules-attach.mdc +16 -7
- package/.eslintrc.js +10 -0
- package/CHANGELOG.md +52 -0
- package/apps/desktop/README.md +7 -0
- package/apps/desktop/electron-builder.js +5 -0
- package/apps/desktop/package.json +2 -1
- package/apps/desktop/src/main/const/dir.ts +3 -0
- package/apps/desktop/src/main/controllers/UploadFileCtr.ts +13 -8
- package/apps/desktop/src/main/core/App.ts +8 -0
- package/apps/desktop/src/main/core/StaticFileServerManager.ts +221 -0
- package/apps/desktop/src/main/services/fileSrv.ts +231 -44
- package/apps/desktop/src/main/utils/next-electron-rsc.ts +36 -5
- package/changelog/v1.json +18 -0
- package/docs/development/database-schema.dbml +70 -0
- package/locales/ar/common.json +2 -0
- package/locales/ar/components.json +35 -0
- package/locales/ar/error.json +2 -0
- package/locales/ar/image.json +100 -0
- package/locales/ar/metadata.json +4 -0
- package/locales/ar/modelProvider.json +1 -0
- package/locales/ar/models.json +51 -9
- package/locales/ar/plugin.json +22 -0
- package/locales/ar/providers.json +3 -0
- package/locales/ar/setting.json +5 -0
- package/locales/bg-BG/common.json +2 -0
- package/locales/bg-BG/components.json +35 -0
- package/locales/bg-BG/error.json +2 -0
- package/locales/bg-BG/image.json +100 -0
- package/locales/bg-BG/metadata.json +4 -0
- package/locales/bg-BG/modelProvider.json +1 -0
- package/locales/bg-BG/models.json +51 -9
- package/locales/bg-BG/plugin.json +22 -0
- package/locales/bg-BG/providers.json +3 -0
- package/locales/bg-BG/setting.json +5 -0
- package/locales/de-DE/common.json +2 -0
- package/locales/de-DE/components.json +35 -0
- package/locales/de-DE/error.json +2 -0
- package/locales/de-DE/image.json +100 -0
- package/locales/de-DE/metadata.json +4 -0
- package/locales/de-DE/modelProvider.json +1 -0
- package/locales/de-DE/models.json +51 -9
- package/locales/de-DE/plugin.json +22 -0
- package/locales/de-DE/providers.json +3 -0
- package/locales/de-DE/setting.json +5 -0
- package/locales/en-US/common.json +2 -0
- package/locales/en-US/components.json +35 -0
- package/locales/en-US/error.json +2 -0
- package/locales/en-US/image.json +100 -0
- package/locales/en-US/metadata.json +4 -0
- package/locales/en-US/modelProvider.json +1 -0
- package/locales/en-US/models.json +51 -9
- package/locales/en-US/plugin.json +22 -0
- package/locales/en-US/providers.json +3 -0
- package/locales/en-US/setting.json +5 -0
- package/locales/es-ES/common.json +2 -0
- package/locales/es-ES/components.json +35 -0
- package/locales/es-ES/error.json +2 -0
- package/locales/es-ES/image.json +100 -0
- package/locales/es-ES/metadata.json +4 -0
- package/locales/es-ES/modelProvider.json +1 -0
- package/locales/es-ES/models.json +51 -9
- package/locales/es-ES/plugin.json +22 -0
- package/locales/es-ES/providers.json +3 -0
- package/locales/es-ES/setting.json +5 -0
- package/locales/fa-IR/common.json +2 -0
- package/locales/fa-IR/components.json +35 -0
- package/locales/fa-IR/error.json +2 -0
- package/locales/fa-IR/image.json +100 -0
- package/locales/fa-IR/metadata.json +4 -0
- package/locales/fa-IR/modelProvider.json +1 -0
- package/locales/fa-IR/models.json +51 -9
- package/locales/fa-IR/plugin.json +22 -0
- package/locales/fa-IR/providers.json +3 -0
- package/locales/fa-IR/setting.json +5 -0
- package/locales/fr-FR/common.json +2 -0
- package/locales/fr-FR/components.json +35 -0
- package/locales/fr-FR/error.json +2 -0
- package/locales/fr-FR/image.json +100 -0
- package/locales/fr-FR/metadata.json +4 -0
- package/locales/fr-FR/modelProvider.json +1 -0
- package/locales/fr-FR/models.json +51 -9
- package/locales/fr-FR/plugin.json +22 -0
- package/locales/fr-FR/providers.json +3 -0
- package/locales/fr-FR/setting.json +5 -0
- package/locales/it-IT/common.json +2 -0
- package/locales/it-IT/components.json +35 -0
- package/locales/it-IT/error.json +2 -0
- package/locales/it-IT/image.json +100 -0
- package/locales/it-IT/metadata.json +4 -0
- package/locales/it-IT/modelProvider.json +1 -0
- package/locales/it-IT/models.json +51 -9
- package/locales/it-IT/plugin.json +22 -0
- package/locales/it-IT/providers.json +3 -0
- package/locales/it-IT/setting.json +5 -0
- package/locales/ja-JP/common.json +2 -0
- package/locales/ja-JP/components.json +35 -0
- package/locales/ja-JP/error.json +2 -0
- package/locales/ja-JP/image.json +100 -0
- package/locales/ja-JP/metadata.json +4 -0
- package/locales/ja-JP/modelProvider.json +1 -0
- package/locales/ja-JP/models.json +51 -9
- package/locales/ja-JP/plugin.json +22 -0
- package/locales/ja-JP/providers.json +3 -0
- package/locales/ja-JP/setting.json +5 -0
- package/locales/ko-KR/common.json +2 -0
- package/locales/ko-KR/components.json +35 -0
- package/locales/ko-KR/error.json +2 -0
- package/locales/ko-KR/image.json +100 -0
- package/locales/ko-KR/metadata.json +4 -0
- package/locales/ko-KR/modelProvider.json +1 -0
- package/locales/ko-KR/models.json +51 -9
- package/locales/ko-KR/plugin.json +22 -0
- package/locales/ko-KR/providers.json +3 -0
- package/locales/ko-KR/setting.json +5 -0
- package/locales/nl-NL/common.json +2 -0
- package/locales/nl-NL/components.json +35 -0
- package/locales/nl-NL/error.json +2 -0
- package/locales/nl-NL/image.json +100 -0
- package/locales/nl-NL/metadata.json +4 -0
- package/locales/nl-NL/modelProvider.json +1 -0
- package/locales/nl-NL/models.json +51 -9
- package/locales/nl-NL/plugin.json +22 -0
- package/locales/nl-NL/providers.json +3 -0
- package/locales/nl-NL/setting.json +5 -0
- package/locales/pl-PL/common.json +2 -0
- package/locales/pl-PL/components.json +35 -0
- package/locales/pl-PL/error.json +2 -0
- package/locales/pl-PL/image.json +100 -0
- package/locales/pl-PL/metadata.json +4 -0
- package/locales/pl-PL/modelProvider.json +1 -0
- package/locales/pl-PL/models.json +51 -9
- package/locales/pl-PL/plugin.json +22 -0
- package/locales/pl-PL/providers.json +3 -0
- package/locales/pl-PL/setting.json +5 -0
- package/locales/pt-BR/common.json +2 -0
- package/locales/pt-BR/components.json +35 -0
- package/locales/pt-BR/error.json +2 -0
- package/locales/pt-BR/image.json +100 -0
- package/locales/pt-BR/metadata.json +4 -0
- package/locales/pt-BR/modelProvider.json +1 -0
- package/locales/pt-BR/models.json +51 -9
- package/locales/pt-BR/plugin.json +22 -0
- package/locales/pt-BR/providers.json +3 -0
- package/locales/pt-BR/setting.json +5 -0
- package/locales/ru-RU/common.json +2 -0
- package/locales/ru-RU/components.json +35 -0
- package/locales/ru-RU/error.json +2 -0
- package/locales/ru-RU/image.json +100 -0
- package/locales/ru-RU/metadata.json +4 -0
- package/locales/ru-RU/modelProvider.json +1 -0
- package/locales/ru-RU/models.json +51 -9
- package/locales/ru-RU/plugin.json +22 -0
- package/locales/ru-RU/providers.json +3 -0
- package/locales/ru-RU/setting.json +5 -0
- package/locales/tr-TR/common.json +2 -0
- package/locales/tr-TR/components.json +35 -0
- package/locales/tr-TR/error.json +2 -0
- package/locales/tr-TR/image.json +100 -0
- package/locales/tr-TR/metadata.json +4 -0
- package/locales/tr-TR/modelProvider.json +1 -0
- package/locales/tr-TR/models.json +51 -9
- package/locales/tr-TR/plugin.json +22 -0
- package/locales/tr-TR/providers.json +3 -0
- package/locales/tr-TR/setting.json +5 -0
- package/locales/vi-VN/common.json +2 -0
- package/locales/vi-VN/components.json +35 -0
- package/locales/vi-VN/error.json +2 -0
- package/locales/vi-VN/image.json +100 -0
- package/locales/vi-VN/metadata.json +4 -0
- package/locales/vi-VN/modelProvider.json +1 -0
- package/locales/vi-VN/models.json +51 -9
- package/locales/vi-VN/plugin.json +22 -0
- package/locales/vi-VN/providers.json +3 -0
- package/locales/vi-VN/setting.json +5 -0
- package/locales/zh-CN/common.json +2 -0
- package/locales/zh-CN/components.json +35 -0
- package/locales/zh-CN/error.json +2 -0
- package/locales/zh-CN/image.json +100 -0
- package/locales/zh-CN/metadata.json +4 -0
- package/locales/zh-CN/modelProvider.json +1 -0
- package/locales/zh-CN/models.json +51 -9
- package/locales/zh-CN/plugin.json +22 -0
- package/locales/zh-CN/providers.json +3 -0
- package/locales/zh-CN/setting.json +5 -0
- package/locales/zh-TW/common.json +2 -0
- package/locales/zh-TW/components.json +35 -0
- package/locales/zh-TW/error.json +2 -0
- package/locales/zh-TW/image.json +100 -0
- package/locales/zh-TW/metadata.json +4 -0
- package/locales/zh-TW/modelProvider.json +1 -0
- package/locales/zh-TW/models.json +51 -9
- package/locales/zh-TW/plugin.json +22 -0
- package/locales/zh-TW/providers.json +3 -0
- package/locales/zh-TW/setting.json +5 -0
- package/package.json +11 -4
- package/packages/electron-server-ipc/src/events/file.ts +3 -1
- package/packages/electron-server-ipc/src/types/file.ts +15 -0
- package/src/app/[variants]/(main)/_layout/Desktop/SideBar/TopActions.tsx +11 -1
- package/src/app/[variants]/(main)/image/@menu/components/AspectRatioSelect/index.tsx +73 -0
- package/src/app/[variants]/(main)/image/@menu/components/SeedNumberInput/index.tsx +39 -0
- package/src/app/[variants]/(main)/image/@menu/components/SizeSelect/index.tsx +89 -0
- package/src/app/[variants]/(main)/image/@menu/default.tsx +11 -0
- package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/AspectRatioSelect.tsx +24 -0
- package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/DimensionControlGroup.tsx +107 -0
- package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/ImageNum.tsx +290 -0
- package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/ImageUpload.tsx +504 -0
- package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/ImageUrl.tsx +18 -0
- package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/ImageUrlsUpload.tsx +19 -0
- package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/ModelSelect.tsx +155 -0
- package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/MultiImagesUpload/ImageManageModal.tsx +415 -0
- package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/MultiImagesUpload/index.tsx +732 -0
- package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/SeedNumberInput.tsx +24 -0
- package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/SizeSelect.tsx +17 -0
- package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/SizeSliderInput.tsx +15 -0
- package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/components/StepsSliderInput.tsx +11 -0
- package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/constants.ts +1 -0
- package/src/app/[variants]/(main)/image/@menu/features/ConfigPanel/index.tsx +93 -0
- package/src/app/[variants]/(main)/image/@topic/default.tsx +17 -0
- package/src/app/[variants]/(main)/image/@topic/features/Topics/NewTopicButton.tsx +64 -0
- package/src/app/[variants]/(main)/image/@topic/features/Topics/SkeletonList.tsx +34 -0
- package/src/app/[variants]/(main)/image/@topic/features/Topics/TopicItem.tsx +136 -0
- package/src/app/[variants]/(main)/image/@topic/features/Topics/TopicItemContainer.tsx +91 -0
- package/src/app/[variants]/(main)/image/@topic/features/Topics/TopicList.tsx +57 -0
- package/src/app/[variants]/(main)/image/@topic/features/Topics/TopicUrlSync.tsx +37 -0
- package/src/app/[variants]/(main)/image/@topic/features/Topics/index.tsx +19 -0
- package/src/app/[variants]/(main)/image/NotSupportClient.tsx +153 -0
- package/src/app/[variants]/(main)/image/_layout/Desktop/Container.tsx +35 -0
- package/src/app/[variants]/(main)/image/_layout/Desktop/RegisterHotkeys.tsx +10 -0
- package/src/app/[variants]/(main)/image/_layout/Desktop/index.tsx +30 -0
- package/src/app/[variants]/(main)/image/_layout/Mobile/index.tsx +14 -0
- package/src/app/[variants]/(main)/image/_layout/type.ts +7 -0
- package/src/app/[variants]/(main)/image/features/GenerationFeed/BatchItem.tsx +196 -0
- package/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/ActionButtons.tsx +60 -0
- package/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/ElapsedTime.tsx +90 -0
- package/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/ErrorState.tsx +65 -0
- package/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/LoadingState.tsx +43 -0
- package/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/SuccessState.tsx +49 -0
- package/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/index.tsx +156 -0
- package/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/styles.ts +51 -0
- package/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/types.ts +39 -0
- package/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/utils.ts +11 -0
- package/src/app/[variants]/(main)/image/features/GenerationFeed/index.tsx +97 -0
- package/src/app/[variants]/(main)/image/features/ImageWorkspace/Content.tsx +48 -0
- package/src/app/[variants]/(main)/image/features/ImageWorkspace/EmptyState.tsx +37 -0
- package/src/app/[variants]/(main)/image/features/ImageWorkspace/SkeletonList.tsx +50 -0
- package/src/app/[variants]/(main)/image/features/ImageWorkspace/index.tsx +23 -0
- package/src/app/[variants]/(main)/image/features/PromptInput/Title.tsx +38 -0
- package/src/app/[variants]/(main)/image/features/PromptInput/index.tsx +114 -0
- package/src/app/[variants]/(main)/image/layout.tsx +19 -0
- package/src/app/[variants]/(main)/image/loading.tsx +3 -0
- package/src/app/[variants]/(main)/image/page.tsx +47 -0
- package/src/app/[variants]/(main)/settings/system-agent/index.tsx +2 -1
- package/src/chains/summaryGenerationTitle.ts +25 -0
- package/src/components/ImageItem/index.tsx +9 -6
- package/src/{features/Conversation/Error → components/InvalidAPIKey}/APIKeyForm/Bedrock.tsx +3 -4
- package/src/{features/Conversation/Error → components/InvalidAPIKey}/APIKeyForm/ProviderApiKeyForm.tsx +5 -4
- package/src/components/InvalidAPIKey/APIKeyForm/index.tsx +108 -0
- package/src/{features/Conversation/Error → components/InvalidAPIKey}/APIKeyForm/useApiKey.ts +2 -1
- package/src/components/InvalidAPIKey/index.tsx +30 -0
- package/src/components/KeyValueEditor/index.tsx +203 -0
- package/src/components/KeyValueEditor/utils.ts +42 -0
- package/src/config/aiModels/fal.ts +52 -0
- package/src/config/aiModels/index.ts +3 -0
- package/src/config/aiModels/openai.ts +20 -6
- package/src/config/llm.ts +6 -0
- package/src/config/modelProviders/fal.ts +21 -0
- package/src/config/modelProviders/index.ts +3 -0
- package/src/config/paramsSchemas/fal/flux-kontext-dev.ts +8 -0
- package/src/config/paramsSchemas/fal/flux-pro-kontext.ts +11 -0
- package/src/config/paramsSchemas/fal/flux-schnell.ts +9 -0
- package/src/config/paramsSchemas/fal/imagen4.ts +10 -0
- package/src/config/paramsSchemas/openai/gpt-image-1.ts +10 -0
- package/src/const/hotkeys.ts +2 -2
- package/src/const/image.ts +6 -0
- package/src/const/settings/systemAgent.ts +1 -0
- package/src/database/client/migrations.json +27 -0
- package/src/database/migrations/0026_add_autovacuum_tuning.sql +2 -0
- package/src/database/migrations/0027_ai_image.sql +47 -0
- package/src/database/migrations/meta/0027_snapshot.json +6003 -0
- package/src/database/migrations/meta/_journal.json +7 -0
- package/src/database/models/__tests__/asyncTask.test.ts +7 -5
- package/src/database/models/__tests__/file.test.ts +287 -0
- package/src/database/models/__tests__/generation.test.ts +786 -0
- package/src/database/models/__tests__/generationBatch.test.ts +614 -0
- package/src/database/models/__tests__/generationTopic.test.ts +411 -0
- package/src/database/models/aiModel.ts +2 -0
- package/src/database/models/asyncTask.ts +1 -1
- package/src/database/models/file.ts +28 -20
- package/src/database/models/generation.ts +197 -0
- package/src/database/models/generationBatch.ts +212 -0
- package/src/database/models/generationTopic.ts +131 -0
- package/src/database/repositories/aiInfra/index.test.ts +151 -1
- package/src/database/repositories/aiInfra/index.ts +28 -19
- package/src/database/repositories/tableViewer/index.test.ts +1 -1
- package/src/database/schemas/file.ts +8 -0
- package/src/database/schemas/generation.ts +127 -0
- package/src/database/schemas/index.ts +1 -0
- package/src/database/schemas/relations.ts +45 -1
- package/src/database/type.ts +2 -0
- package/src/database/utils/idGenerator.ts +3 -0
- package/src/features/Conversation/Error/ChatInvalidApiKey.tsx +39 -0
- package/src/features/Conversation/Error/InvalidAccessCode.tsx +2 -2
- package/src/features/Conversation/Error/index.tsx +3 -3
- package/src/features/ImageSidePanel/index.tsx +83 -0
- package/src/features/ImageTopicPanel/index.tsx +79 -0
- package/src/features/PluginDevModal/MCPManifestForm/CollapsibleSection.tsx +62 -0
- package/src/features/PluginDevModal/MCPManifestForm/QuickImportSection.tsx +158 -0
- package/src/features/PluginDevModal/MCPManifestForm/index.tsx +99 -155
- package/src/features/PluginStore/McpList/Detail/Settings/index.tsx +5 -2
- package/src/hooks/useDownloadImage.ts +31 -0
- package/src/hooks/useFetchGenerationTopics.ts +13 -0
- package/src/hooks/useHotkeys/imageScope.ts +48 -0
- package/src/libs/mcp/client.ts +55 -22
- package/src/libs/mcp/types.ts +42 -6
- package/src/libs/model-runtime/BaseAI.ts +3 -1
- package/src/libs/model-runtime/ModelRuntime.test.ts +80 -0
- package/src/libs/model-runtime/ModelRuntime.ts +15 -1
- package/src/libs/model-runtime/UniformRuntime/index.ts +4 -1
- package/src/libs/model-runtime/fal/index.test.ts +442 -0
- package/src/libs/model-runtime/fal/index.ts +88 -0
- package/src/libs/model-runtime/openai/index.test.ts +396 -2
- package/src/libs/model-runtime/openai/index.ts +129 -3
- package/src/libs/model-runtime/runtimeMap.ts +2 -0
- package/src/libs/model-runtime/types/image.ts +25 -0
- package/src/libs/model-runtime/types/type.ts +1 -0
- package/src/libs/model-runtime/utils/openaiCompatibleFactory/index.ts +10 -0
- package/src/libs/standard-parameters/index.ts +1 -0
- package/src/libs/standard-parameters/meta-schema.test.ts +214 -0
- package/src/libs/standard-parameters/meta-schema.ts +147 -0
- package/src/libs/swr/index.ts +1 -0
- package/src/libs/trpc/async/asyncAuth.ts +29 -8
- package/src/libs/trpc/async/context.ts +42 -4
- package/src/libs/trpc/async/index.ts +17 -4
- package/src/libs/trpc/async/init.ts +8 -0
- package/src/libs/trpc/client/lambda.ts +19 -2
- package/src/locales/default/common.ts +2 -0
- package/src/locales/default/components.ts +35 -0
- package/src/locales/default/error.ts +2 -0
- package/src/locales/default/image.ts +100 -0
- package/src/locales/default/index.ts +2 -0
- package/src/locales/default/metadata.ts +4 -0
- package/src/locales/default/modelProvider.ts +2 -0
- package/src/locales/default/plugin.ts +22 -0
- package/src/locales/default/setting.ts +5 -0
- package/src/middleware.ts +1 -0
- package/src/server/modules/ElectronIPCClient/index.ts +9 -1
- package/src/server/modules/S3/index.ts +15 -0
- package/src/server/routers/async/caller.ts +9 -1
- package/src/server/routers/async/image.ts +253 -0
- package/src/server/routers/async/index.ts +2 -0
- package/src/server/routers/lambda/aiProvider.test.ts +1 -0
- package/src/server/routers/lambda/generation.test.ts +267 -0
- package/src/server/routers/lambda/generation.ts +86 -0
- package/src/server/routers/lambda/generationBatch.test.ts +376 -0
- package/src/server/routers/lambda/generationBatch.ts +56 -0
- package/src/server/routers/lambda/generationTopic.test.ts +508 -0
- package/src/server/routers/lambda/generationTopic.ts +93 -0
- package/src/server/routers/lambda/image.ts +248 -0
- package/src/server/routers/lambda/index.ts +8 -0
- package/src/server/routers/tools/mcp.ts +15 -0
- package/src/server/services/file/__tests__/index.test.ts +135 -0
- package/src/server/services/file/impls/local.test.ts +153 -52
- package/src/server/services/file/impls/local.ts +70 -46
- package/src/server/services/file/impls/s3.test.ts +114 -0
- package/src/server/services/file/impls/s3.ts +40 -0
- package/src/server/services/file/impls/type.ts +10 -0
- package/src/server/services/file/index.ts +14 -0
- package/src/server/services/generation/index.ts +239 -0
- package/src/server/services/mcp/index.ts +20 -2
- package/src/services/__tests__/generation.test.ts +40 -0
- package/src/services/__tests__/generationBatch.test.ts +36 -0
- package/src/services/__tests__/generationTopic.test.ts +72 -0
- package/src/services/electron/file.ts +3 -1
- package/src/services/generation.ts +16 -0
- package/src/services/generationBatch.ts +25 -0
- package/src/services/generationTopic.ts +28 -0
- package/src/services/image.ts +33 -0
- package/src/services/mcp.ts +12 -7
- package/src/services/upload.ts +43 -9
- package/src/store/aiInfra/slices/aiProvider/action.ts +25 -5
- package/src/store/aiInfra/slices/aiProvider/initialState.ts +1 -0
- package/src/store/aiInfra/slices/aiProvider/selectors.ts +3 -0
- package/src/store/chat/slices/aiChat/actions/generateAIChat.ts +5 -5
- package/src/store/chat/slices/message/action.ts +2 -2
- package/src/store/chat/slices/translate/action.ts +1 -1
- package/src/store/global/initialState.ts +9 -0
- package/src/store/global/selectors/systemStatus.ts +8 -0
- package/src/store/image/index.ts +2 -0
- package/src/store/image/initialState.ts +25 -0
- package/src/store/image/selectors.ts +4 -0
- package/src/store/image/slices/createImage/action.test.ts +330 -0
- package/src/store/image/slices/createImage/action.ts +134 -0
- package/src/store/image/slices/createImage/initialState.ts +9 -0
- package/src/store/image/slices/createImage/selectors.test.ts +114 -0
- package/src/store/image/slices/createImage/selectors.ts +9 -0
- package/src/store/image/slices/generationBatch/action.test.ts +495 -0
- package/src/store/image/slices/generationBatch/action.ts +303 -0
- package/src/store/image/slices/generationBatch/initialState.ts +13 -0
- package/src/store/image/slices/generationBatch/reducer.test.ts +568 -0
- package/src/store/image/slices/generationBatch/reducer.ts +101 -0
- package/src/store/image/slices/generationBatch/selectors.test.ts +307 -0
- package/src/store/image/slices/generationBatch/selectors.ts +36 -0
- package/src/store/image/slices/generationConfig/action.test.ts +351 -0
- package/src/store/image/slices/generationConfig/action.ts +295 -0
- package/src/store/image/slices/generationConfig/hooks.test.ts +304 -0
- package/src/store/image/slices/generationConfig/hooks.ts +118 -0
- package/src/store/image/slices/generationConfig/index.ts +1 -0
- package/src/store/image/slices/generationConfig/initialState.ts +37 -0
- package/src/store/image/slices/generationConfig/selectors.test.ts +204 -0
- package/src/store/image/slices/generationConfig/selectors.ts +25 -0
- package/src/store/image/slices/generationTopic/action.test.ts +687 -0
- package/src/store/image/slices/generationTopic/action.ts +319 -0
- package/src/store/image/slices/generationTopic/index.ts +2 -0
- package/src/store/image/slices/generationTopic/initialState.ts +14 -0
- package/src/store/image/slices/generationTopic/reducer.test.ts +198 -0
- package/src/store/image/slices/generationTopic/reducer.ts +66 -0
- package/src/store/image/slices/generationTopic/selectors.test.ts +103 -0
- package/src/store/image/slices/generationTopic/selectors.ts +15 -0
- package/src/store/image/store.ts +42 -0
- package/src/store/image/utils/size.ts +51 -0
- package/src/store/tool/slices/customPlugin/action.ts +10 -1
- package/src/store/tool/slices/mcpStore/action.ts +6 -4
- package/src/store/user/slices/settings/selectors/__snapshots__/settings.test.ts.snap +4 -0
- package/src/store/user/slices/settings/selectors/systemAgent.ts +2 -0
- package/src/types/aiModel.ts +8 -3
- package/src/types/aiProvider.ts +1 -0
- package/src/types/asyncTask.ts +2 -0
- package/src/types/files/index.ts +5 -0
- package/src/types/generation/index.ts +80 -0
- package/src/types/hotkey.ts +2 -0
- package/src/types/plugins/mcp.ts +2 -6
- package/src/types/tool/plugin.ts +8 -0
- package/src/types/user/settings/keyVaults.ts +5 -0
- package/src/types/user/settings/systemAgent.ts +1 -0
- package/src/utils/client/downloadFile.ts +33 -4
- package/src/utils/number.test.ts +105 -0
- package/src/utils/number.ts +25 -0
- package/src/utils/server/__tests__/geo.test.ts +6 -3
- package/src/utils/storeDebug.test.ts +152 -0
- package/src/utils/storeDebug.ts +16 -7
- package/src/utils/time.test.ts +259 -0
- package/src/utils/time.ts +18 -0
- package/src/utils/units.ts +61 -0
- package/src/utils/url.test.ts +358 -9
- package/src/utils/url.ts +105 -3
- package/{vitest.server.config.ts → vitest.config.server.ts} +3 -0
- package/.cursor/rules/i18n/i18n-auto-attached.mdc +0 -6
- package/src/features/Conversation/Error/APIKeyForm/index.tsx +0 -105
- package/src/features/Conversation/Error/InvalidAPIKey.tsx +0 -16
- package/src/features/PluginDevModal/MCPManifestForm/EnvEditor.tsx +0 -227
- /package/.cursor/rules/{i18n/i18n.mdc → i18n.mdc} +0 -0
- /package/src/app/[variants]/(main)/settings/system-agent/features/{createForm.tsx → SystemAgentForm.tsx} +0 -0
- /package/src/{features/Conversation/Error → components/InvalidAPIKey}/APIKeyForm/LoadingContext.ts +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
// copy from https://github.com/kirill-konshin/next-electron-rsc
|
2
2
|
import { serialize as serializeCookie } from 'cookie';
|
3
|
-
import type
|
3
|
+
import { type Protocol, type Session, protocol } from 'electron';
|
4
4
|
import type { NextConfig } from 'next';
|
5
5
|
import type NextNodeServer from 'next/dist/server/next-server';
|
6
6
|
import assert from 'node:assert';
|
@@ -11,6 +11,7 @@ import { parse } from 'node:url';
|
|
11
11
|
import resolve from 'resolve';
|
12
12
|
import { parse as parseCookie, splitCookiesString } from 'set-cookie-parser';
|
13
13
|
|
14
|
+
import { LOCAL_STORAGE_URL_PREFIX } from '@/const/dir';
|
14
15
|
import { isDev } from '@/const/env';
|
15
16
|
import { createLogger } from '@/utils/logger';
|
16
17
|
|
@@ -178,7 +179,9 @@ export function createHandler({
|
|
178
179
|
}
|
179
180
|
};
|
180
181
|
}
|
182
|
+
|
181
183
|
let registerProtocolHandle = false;
|
184
|
+
let interceptorCount = 0; // 追踪活跃的拦截器数量
|
182
185
|
|
183
186
|
protocol.registerSchemesAsPrivileged([
|
184
187
|
{
|
@@ -224,6 +227,14 @@ export function createHandler({
|
|
224
227
|
socket: Socket,
|
225
228
|
): Promise<Response> => {
|
226
229
|
try {
|
230
|
+
// 检查是否是本地文件服务请求,如果是则跳过处理
|
231
|
+
const url = new URL(request.url);
|
232
|
+
if (url.pathname.startsWith(LOCAL_STORAGE_URL_PREFIX + '/')) {
|
233
|
+
if (debug) logger.debug(`Skipping local file service request: ${request.url}`);
|
234
|
+
// 直接使用 fetch 转发请求到本地文件服务
|
235
|
+
return fetch(request);
|
236
|
+
}
|
237
|
+
|
227
238
|
// 先尝试使用自定义处理器处理请求
|
228
239
|
for (const customHandler of customHandlers) {
|
229
240
|
try {
|
@@ -354,19 +365,32 @@ export function createHandler({
|
|
354
365
|
);
|
355
366
|
|
356
367
|
const socket = new Socket();
|
368
|
+
interceptorCount++; // 增加拦截器计数
|
357
369
|
|
358
370
|
const closeSocket = () => socket.end();
|
359
371
|
|
360
372
|
process.on('SIGTERM', () => closeSocket);
|
361
373
|
process.on('SIGINT', () => closeSocket);
|
362
374
|
|
363
|
-
if (!
|
375
|
+
if (!registerProtocolHandle) {
|
364
376
|
logger.debug(
|
365
377
|
`Registering HTTP protocol handler in ${isDev ? 'development' : 'production'} mode`,
|
366
378
|
);
|
367
379
|
protocol.handle('http', async (request) => {
|
368
380
|
if (!isDev) {
|
369
|
-
|
381
|
+
// 检查是否是本地文件服务请求,如果是则允许通过
|
382
|
+
const isLocalhost = request.url.startsWith(localhostUrl);
|
383
|
+
|
384
|
+
const url = new URL(request.url);
|
385
|
+
const isLocalIP =
|
386
|
+
request.url.startsWith('http://127.0.0.1:') ||
|
387
|
+
request.url.startsWith('http://localhost:');
|
388
|
+
const isLocalFileService = url.pathname.startsWith(LOCAL_STORAGE_URL_PREFIX + '/');
|
389
|
+
|
390
|
+
const valid = isLocalhost || (isLocalIP && isLocalFileService);
|
391
|
+
if (!valid) {
|
392
|
+
throw new Error('External HTTP not supported, use HTTPS');
|
393
|
+
}
|
370
394
|
}
|
371
395
|
|
372
396
|
return handleRequest(request, session, socket);
|
@@ -374,12 +398,19 @@ export function createHandler({
|
|
374
398
|
registerProtocolHandle = true;
|
375
399
|
}
|
376
400
|
|
401
|
+
logger.debug(`Active interceptors count: ${interceptorCount}`);
|
402
|
+
|
377
403
|
return function stopIntercept() {
|
378
|
-
|
379
|
-
|
404
|
+
interceptorCount--; // 减少拦截器计数
|
405
|
+
logger.debug(`Stopping interceptor, remaining count: ${interceptorCount}`);
|
406
|
+
|
407
|
+
// 只有当没有活跃的拦截器时才取消注册协议处理器
|
408
|
+
if (registerProtocolHandle && interceptorCount === 0) {
|
409
|
+
logger.debug('Unregistering HTTP protocol handler (no active interceptors)');
|
380
410
|
protocol.unhandle('http');
|
381
411
|
registerProtocolHandle = false;
|
382
412
|
}
|
413
|
+
|
383
414
|
process.off('SIGTERM', () => closeSocket);
|
384
415
|
process.off('SIGINT', () => closeSocket);
|
385
416
|
closeSocket();
|
package/changelog/v1.json
CHANGED
@@ -1,4 +1,22 @@
|
|
1
1
|
[
|
2
|
+
{
|
3
|
+
"children": {
|
4
|
+
"features": [
|
5
|
+
"support AI Image."
|
6
|
+
]
|
7
|
+
},
|
8
|
+
"date": "2025-07-14",
|
9
|
+
"version": "1.99.0"
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"children": {
|
13
|
+
"improvements": [
|
14
|
+
"Update i18n."
|
15
|
+
]
|
16
|
+
},
|
17
|
+
"date": "2025-07-14",
|
18
|
+
"version": "1.98.2"
|
19
|
+
},
|
2
20
|
{
|
3
21
|
"children": {
|
4
22
|
"improvements": [
|
@@ -163,6 +163,7 @@ table files {
|
|
163
163
|
name text [not null]
|
164
164
|
size integer [not null]
|
165
165
|
url text [not null]
|
166
|
+
source text
|
166
167
|
client_id text
|
167
168
|
metadata jsonb
|
168
169
|
chunk_task_id uuid
|
@@ -218,6 +219,45 @@ table knowledge_bases {
|
|
218
219
|
}
|
219
220
|
}
|
220
221
|
|
222
|
+
table generation_batches {
|
223
|
+
id text [pk, not null]
|
224
|
+
user_id text [not null]
|
225
|
+
generation_topic_id text [not null]
|
226
|
+
provider text [not null]
|
227
|
+
model text [not null]
|
228
|
+
prompt text [not null]
|
229
|
+
width integer
|
230
|
+
height integer
|
231
|
+
ratio varchar(64)
|
232
|
+
config jsonb
|
233
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
234
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
235
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
236
|
+
}
|
237
|
+
|
238
|
+
table generation_topics {
|
239
|
+
id text [pk, not null]
|
240
|
+
user_id text [not null]
|
241
|
+
title text
|
242
|
+
cover_url text
|
243
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
244
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
245
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
246
|
+
}
|
247
|
+
|
248
|
+
table generations {
|
249
|
+
id text [pk, not null]
|
250
|
+
user_id text [not null]
|
251
|
+
generation_batch_id varchar(64) [not null]
|
252
|
+
async_task_id uuid
|
253
|
+
file_id text
|
254
|
+
seed integer
|
255
|
+
asset jsonb
|
256
|
+
accessed_at "timestamp with time zone" [not null, default: `now()`]
|
257
|
+
created_at "timestamp with time zone" [not null, default: `now()`]
|
258
|
+
updated_at "timestamp with time zone" [not null, default: `now()`]
|
259
|
+
}
|
260
|
+
|
221
261
|
table message_chunks {
|
222
262
|
message_id text
|
223
263
|
chunk_id uuid
|
@@ -834,6 +874,10 @@ table users {
|
|
834
874
|
updated_at "timestamp with time zone" [not null, default: `now()`]
|
835
875
|
}
|
836
876
|
|
877
|
+
ref: agents_files.file_id > files.id
|
878
|
+
|
879
|
+
ref: agents_files.agent_id > agents.id
|
880
|
+
|
837
881
|
ref: agents_knowledge_bases.knowledge_base_id - knowledge_bases.id
|
838
882
|
|
839
883
|
ref: agents_knowledge_bases.agent_id > agents.id
|
@@ -848,8 +892,34 @@ ref: document_chunks.document_id > documents.id
|
|
848
892
|
|
849
893
|
ref: documents.file_id > files.id
|
850
894
|
|
895
|
+
ref: file_chunks.file_id - files.id
|
896
|
+
|
897
|
+
ref: file_chunks.chunk_id - chunks.id
|
898
|
+
|
899
|
+
ref: generations.file_id - files.id
|
900
|
+
|
851
901
|
ref: files.embedding_task_id - async_tasks.id
|
852
902
|
|
903
|
+
ref: files_to_sessions.file_id > files.id
|
904
|
+
|
905
|
+
ref: files_to_sessions.session_id > sessions.id
|
906
|
+
|
907
|
+
ref: generation_batches.user_id - users.id
|
908
|
+
|
909
|
+
ref: generation_batches.generation_topic_id > generation_topics.id
|
910
|
+
|
911
|
+
ref: generation_topics.user_id - users.id
|
912
|
+
|
913
|
+
ref: generations.user_id - users.id
|
914
|
+
|
915
|
+
ref: generations.generation_batch_id > generation_batches.id
|
916
|
+
|
917
|
+
ref: generations.async_task_id - async_tasks.id
|
918
|
+
|
919
|
+
ref: messages_files.file_id > files.id
|
920
|
+
|
921
|
+
ref: messages_files.message_id > messages.id
|
922
|
+
|
853
923
|
ref: messages.session_id - sessions.id
|
854
924
|
|
855
925
|
ref: messages.parent_id - messages.id
|
package/locales/ar/common.json
CHANGED
@@ -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": "إغلاق الإشعار",
|
package/locales/ar/error.json
CHANGED
@@ -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": "إضافة عنوان وكيل OpenAI (اختياري)",
|
131
132
|
"apiKey": {
|
132
133
|
"description": "يمكنك بدء الجلسة عن طريق إدخال مفتاح API {{name}} الخاص بك",
|
134
|
+
"imageGenerationDescription": "أدخل مفتاح API الخاص بـ {{name}} للبدء في التوليد",
|
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": "الرسم بالذكاء الاصطناعي",
|
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": "الوحدة الحالية تعمل بنمط قاعدة بيانات العميل، ولا تدعم ميزة إنشاء الصور بالذكاء الاصطناعي. يرجى التبديل إلى <1>نمط نشر قاعدة بيانات الخادم</1>، أو استخدام <3>سحابة LobeChat</3> مباشرةً",
|
76
|
+
"features": {
|
77
|
+
"fileIntegration": {
|
78
|
+
"desc": "تكامل عميق مع نظام إدارة الملفات، حيث تُحفظ الصور المُنشأة تلقائيًا في نظام الملفات، مع دعم الإدارة والتنظيم الموحد",
|
79
|
+
"title": "تكامل نظام الملفات"
|
80
|
+
},
|
81
|
+
"llmAssisted": {
|
82
|
+
"desc": "يجمع بين قدرات نماذج اللغة الكبيرة لتحسين وتوسيع النصوص التوجيهية بذكاء، مما يعزز جودة إنشاء الصور (قريبًا)",
|
83
|
+
"title": "مساعدة نموذج اللغة الكبير"
|
84
|
+
},
|
85
|
+
"multiProviders": {
|
86
|
+
"desc": "يدعم عدة مزودي خدمات رسم بالذكاء الاصطناعي، بما في ذلك OpenAI gpt-image-1، Google Imagen، FAL.ai وغيرها، لتوفير خيارات نماذج متنوعة",
|
87
|
+
"title": "دعم مزودين متعددين"
|
88
|
+
}
|
89
|
+
},
|
90
|
+
"title": "نمط النشر الحالي لا يدعم الرسم بالذكاء الاصطناعي"
|
91
|
+
},
|
92
|
+
"topic": {
|
93
|
+
"createNew": "إنشاء موضوع جديد",
|
94
|
+
"deleteConfirm": "تأكيد حذف الموضوع",
|
95
|
+
"deleteConfirmDesc": "سيتم حذف هذا الموضوع نهائيًا ولن يمكن استعادته، يرجى توخي الحذر.",
|
96
|
+
"empty": "لا توجد مواضيع تم إنشاؤها",
|
97
|
+
"title": "موضوع الرسم",
|
98
|
+
"untitled": "الموضوع الافتراضي"
|
99
|
+
}
|
100
|
+
}
|
package/locales/ar/metadata.json
CHANGED
@@ -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 لبدء الجلسة. لن يتم تسجيل تكوين المصادقة الخاص بك من قبل التطبيق",
|
69
|
+
"imageGenerationDescription": "أدخل AWS AccessKeyId / SecretAccessKey الخاص بك للبدء في التوليد. التطبيق لن يقوم بتسجيل إعدادات المصادقة الخاصة بك",
|
69
70
|
"title": "استخدام معلومات المصادقة الخاصة بـ Bedrock المخصصة"
|
70
71
|
}
|
71
72
|
},
|
package/locales/ar/models.json
CHANGED
@@ -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) تم إصداره بشكل مشترك من قبل Zhizhu 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)، يعالج مشكلات التكرار وقابلية القراءة في النموذج. قبل التعلم المعزز، أدخل DeepSeek-R1 بيانات بدء التشغيل الباردة، مما أدى إلى تحسين أداء الاستدلال. إنه يتفوق في المهام الرياضية، والبرمجة، والاستدلال مقارنةً بـ OpenAI-o1، وقد حسّن الأداء العام من خلال طرق تدريب مصممة بعناية."
|
211
214
|
},
|
212
|
-
"Pro/deepseek-ai/DeepSeek-R1-0120": {
|
213
|
-
"description": "DeepSeek-R1 هو نموذج استدلال مدفوع بالتعلم المعزز (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 هو نموذج لغوي مختلط الخبراء (MoE) يحتوي على 6710 مليار معلمة، يستخدم الانتباه المتعدد الرؤوس (MLA) وهيكل DeepSeekMoE، ويجمع بين استراتيجيات توازن الحمل بدون خسائر مساعدة، مما يحسن كفاءة الاستدلال والتدريب. تم تدريبه مسبقًا على 14.8 تريليون توكن عالية الجودة، وتم إجراء تعديل دقيق تحت الإشراف والتعلم المعزز، مما يجعل DeepSeek-V3 يتفوق على نماذج مفتوحة المصدر الأخرى، ويقترب من النماذج المغلقة الرائدة."
|
220
220
|
},
|
221
|
-
"Pro/deepseek-ai/DeepSeek-V3-1226": {
|
222
|
-
"description": "DeepSeek-V3 هو نموذج لغوي مختلط الخبراء (MoE) يحتوي على 6710 مليار معلمة، ويستخدم الانتباه المتعدد الرؤوس (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) تم إصداره بشكل مشترك من قبل Zhizhu 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": "كلود سونيت 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 هو نموذج لغوي كبير مفتوح المصدر قابل للاستخدام التجاري تم تطويره بواسطة Baichuan Intelligence، ويحتوي على 13 مليار معلمة، وقد حقق أفضل النتائج في المعايير الصينية والإنجليزية."
|
550
553
|
},
|
554
|
+
"baidu/ERNIE-4.5-300B-A47B": {
|
555
|
+
"description": "ERNIE-4.5-300B-A47B هو نموذج لغة ضخم يعتمد على بنية الخبراء المختلطين (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 التجريبي هو الأكثر تقدمًا من Google، قادر على استنتاج المشكلات المعقدة في البرمجة والرياضيات وعلوم STEM، بالإضافة إلى تحليل مجموعات البيانات الكبيرة ومكتبات الشيفرات والمستندات باستخدام سياقات طويلة."
|
1102
|
-
},
|
1103
1115
|
"gemini-2.5-pro-preview-03-25": {
|
1104
1116
|
"description": "معاينة Gemini 2.5 Pro هي نموذج التفكير الأكثر تقدمًا من 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 هي أقوى نماذج اللغة البصرية المعروفة على مستوى 10 مليارات معلمة، وتدمج مهام اللغة البصرية المتقدمة من نفس المستوى، بما في ذلك فهم الفيديو، الأسئلة والأجوبة على الصور، حل المسائل العلمية، التعرف على النصوص OCR، تفسير الوثائق والرسوم البيانية، وكلاء واجهة المستخدم الرسومية، ترميز صفحات الويب الأمامية، والتثبيت الأرضي، وغيرها. تتفوق قدرات هذه المهام على نموذج Qwen2.5-VL-72B الذي يحتوي على أكثر من 8 أضعاف عدد المعلمات. من خلال تقنيات التعلم المعزز الرائدة، يتقن النموذج تحسين دقة وإثراء الإجابات عبر استدلال سلسلة التفكير، متفوقًا بشكل ملحوظ على النماذج التقليدية غير المعتمدة على التفكير من حيث النتائج النهائية وقابلية التفسير."
|
1183
|
+
},
|
1184
|
+
"glm-4.1v-thinking-flashx": {
|
1185
|
+
"description": "سلسلة نماذج GLM-4.1V-Thinking هي أقوى نماذج اللغة البصرية المعروفة على مستوى 10 مليارات معلمة، وتدمج مهام اللغة البصرية المتقدمة من نفس المستوى، بما في ذلك فهم الفيديو، الأسئلة والأجوبة على الصور، حل المسائل العلمية، التعرف على النصوص OCR، تفسير الوثائق والرسوم البيانية، وكلاء واجهة المستخدم الرسومية، ترميز صفحات الويب الأمامية، والتثبيت الأرضي، وغيرها. تتفوق قدرات هذه المهام على نموذج Qwen2.5-VL-72B الذي يحتوي على أكثر من 8 أضعاف عدد المعلمات. من خلال تقنيات التعلم المعزز الرائدة، يتقن النموذج تحسين دقة وإثراء الإجابات عبر استدلال سلسلة التفكير، متفوقًا بشكل ملحوظ على النماذج التقليدية غير المعتمدة على التفكير من حيث النتائج النهائية وقابلية التفسير."
|
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 هو نموذج لغة مفتوح المصدر من جوجل، وضع معايير جديدة في الكفاءة والأداء."
|
1264
|
+
},
|
1241
1265
|
"google/gemma-3-27b-it": {
|
1242
1266
|
"description": "جيمّا 3 27B هو نموذج لغوي مفتوح المصدر من جوجل، وقد وضع معايير جديدة من حيث الكفاءة والأداء."
|
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، يحتوي على 80 مليار معلمة و13 مليار معلمة نشطة. الوضع الافتراضي هو وضع التفكير البطيء، ويدعم التبديل بين أوضاع التفكير السريع والبطيء عبر المعلمات أو التعليمات، حيث يتم التبديل بإضافة / 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": "أحدث نموذج تفكير عميق متعدد الوسائط t1-vision من Hunyuan، يدعم سلسلة التفكير الأصلية متعددة الوسائط، مع تحسين شامل مقارنة بالإصدار الافتراضي السابق."
|
1459
|
+
},
|
1427
1460
|
"hunyuan-turbo": {
|
1428
1461
|
"description": "نسخة المعاينة من الجيل الجديد من نموذج اللغة الكبير، يستخدم هيكل نموذج الخبراء المختلط (MoE) الجديد، مما يوفر كفاءة استدلال أسرع وأداء أقوى مقارنة بـ hunyuan-pro."
|
1429
1462
|
},
|
@@ -1454,9 +1487,18 @@
|
|
1454
1487
|
"hunyuan-turbos-role-plus": {
|
1455
1488
|
"description": "أحدث نموذج تمثيل الأدوار من Hunyuan، نموذج تم تدريبه بدقة من قبل Hunyuan الرسمي، يعتمد على نموذج Hunyuan مع بيانات مشاهد تمثيل الأدوار للتدريب الإضافي، ويقدم أداءً أساسيًا أفضل في مشاهد تمثيل الأدوار."
|
1456
1489
|
},
|
1490
|
+
"hunyuan-turbos-vision": {
|
1491
|
+
"description": "هذا النموذج مناسب لمشاهد فهم النصوص والصور، وهو نموذج اللغة البصرية الرائد من الجيل الجديد المبني على أحدث إصدار من Hunyuan turbos، يركز على مهام فهم النصوص والصور، بما في ذلك التعرف على الكيانات بناءً على الصور، الأسئلة المعرفية، إنشاء النصوص، وحل المسائل عبر التصوير، مع تحسين شامل مقارنة بالجيل السابق."
|
1492
|
+
},
|
1493
|
+
"hunyuan-turbos-vision-20250619": {
|
1494
|
+
"description": "أحدث نموذج رائد للغة البصرية turbos-vision من Hunyuan، مع تحسين شامل في مهام فهم النصوص والصور، بما في ذلك التعرف على الكيانات بناءً على الصور، الأسئلة المعرفية، إنشاء النصوص، وحل المسائل عبر التصوير، مقارنة بالإصدار الافتراضي السابق."
|
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
|
},
|
package/locales/ar/plugin.json
CHANGED
@@ -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 أو رمز الحامل الخاص بك",
|
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": "فشل بدء العملية",
|