@lobehub/chat 1.83.8 → 1.84.1
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/CHANGELOG.md +50 -0
- package/changelog/v1.json +18 -0
- package/locales/ar/color.json +22 -0
- package/locales/ar/file.json +3 -0
- package/locales/ar/models.json +15 -0
- package/locales/ar/setting.json +13 -0
- package/locales/ar/tool.json +10 -1
- package/locales/bg-BG/color.json +22 -0
- package/locales/bg-BG/file.json +3 -0
- package/locales/bg-BG/models.json +15 -0
- package/locales/bg-BG/setting.json +13 -0
- package/locales/bg-BG/tool.json +10 -1
- package/locales/de-DE/color.json +22 -0
- package/locales/de-DE/file.json +3 -0
- package/locales/de-DE/models.json +15 -0
- package/locales/de-DE/setting.json +13 -0
- package/locales/de-DE/tool.json +10 -1
- package/locales/en-US/color.json +22 -0
- package/locales/en-US/file.json +3 -0
- package/locales/en-US/models.json +15 -0
- package/locales/en-US/setting.json +13 -0
- package/locales/en-US/tool.json +10 -1
- package/locales/es-ES/color.json +22 -0
- package/locales/es-ES/file.json +3 -0
- package/locales/es-ES/models.json +15 -0
- package/locales/es-ES/setting.json +13 -0
- package/locales/es-ES/tool.json +10 -1
- package/locales/fa-IR/color.json +22 -0
- package/locales/fa-IR/file.json +3 -0
- package/locales/fa-IR/models.json +15 -0
- package/locales/fa-IR/setting.json +13 -0
- package/locales/fa-IR/tool.json +10 -1
- package/locales/fr-FR/color.json +22 -0
- package/locales/fr-FR/file.json +3 -0
- package/locales/fr-FR/models.json +15 -0
- package/locales/fr-FR/setting.json +13 -0
- package/locales/fr-FR/tool.json +10 -1
- package/locales/it-IT/color.json +22 -0
- package/locales/it-IT/file.json +3 -0
- package/locales/it-IT/models.json +15 -0
- package/locales/it-IT/setting.json +13 -0
- package/locales/it-IT/tool.json +10 -1
- package/locales/ja-JP/color.json +22 -0
- package/locales/ja-JP/file.json +3 -0
- package/locales/ja-JP/models.json +15 -0
- package/locales/ja-JP/setting.json +13 -0
- package/locales/ja-JP/tool.json +10 -1
- package/locales/ko-KR/color.json +22 -0
- package/locales/ko-KR/file.json +3 -0
- package/locales/ko-KR/models.json +15 -0
- package/locales/ko-KR/setting.json +13 -0
- package/locales/ko-KR/tool.json +10 -1
- package/locales/nl-NL/color.json +22 -0
- package/locales/nl-NL/file.json +3 -0
- package/locales/nl-NL/models.json +15 -0
- package/locales/nl-NL/setting.json +13 -0
- package/locales/nl-NL/tool.json +10 -1
- package/locales/pl-PL/color.json +22 -0
- package/locales/pl-PL/file.json +3 -0
- package/locales/pl-PL/models.json +15 -0
- package/locales/pl-PL/setting.json +13 -0
- package/locales/pl-PL/tool.json +10 -1
- package/locales/pt-BR/color.json +22 -0
- package/locales/pt-BR/file.json +3 -0
- package/locales/pt-BR/models.json +15 -0
- package/locales/pt-BR/setting.json +13 -0
- package/locales/pt-BR/tool.json +10 -1
- package/locales/ru-RU/color.json +22 -0
- package/locales/ru-RU/file.json +3 -0
- package/locales/ru-RU/models.json +15 -0
- package/locales/ru-RU/setting.json +13 -0
- package/locales/ru-RU/tool.json +10 -1
- package/locales/tr-TR/color.json +22 -0
- package/locales/tr-TR/file.json +3 -0
- package/locales/tr-TR/models.json +15 -0
- package/locales/tr-TR/setting.json +13 -0
- package/locales/tr-TR/tool.json +10 -1
- package/locales/vi-VN/color.json +22 -0
- package/locales/vi-VN/file.json +3 -0
- package/locales/vi-VN/models.json +15 -0
- package/locales/vi-VN/setting.json +13 -0
- package/locales/vi-VN/tool.json +10 -1
- package/locales/zh-CN/color.json +22 -0
- package/locales/zh-CN/common.json +2 -2
- package/locales/zh-CN/file.json +3 -0
- package/locales/zh-CN/models.json +15 -0
- package/locales/zh-CN/setting.json +15 -2
- package/locales/zh-TW/color.json +22 -0
- package/locales/zh-TW/file.json +3 -0
- package/locales/zh-TW/models.json +15 -0
- package/locales/zh-TW/setting.json +13 -0
- package/locales/zh-TW/tool.json +10 -1
- package/package.json +5 -5
- package/src/app/[variants]/(auth)/next-auth/signin/AuthSignInBox.tsx +2 -1
- package/src/app/[variants]/(main)/(mobile)/me/(home)/features/Header.tsx +2 -2
- package/src/app/[variants]/(main)/(mobile)/me/data/features/Header.tsx +3 -3
- package/src/app/[variants]/(main)/(mobile)/me/profile/features/Header.tsx +3 -3
- package/src/app/[variants]/(main)/(mobile)/me/settings/features/Header.tsx +3 -3
- package/src/app/[variants]/(main)/(mobile)/me/settings/features/useCategory.tsx +1 -1
- package/src/app/[variants]/(main)/_layout/Desktop/SideBar/BottomActions.tsx +19 -3
- package/src/app/[variants]/(main)/_layout/Desktop/SideBar/PinList/index.tsx +33 -17
- package/src/app/[variants]/(main)/_layout/Desktop/SideBar/TopActions.tsx +20 -10
- package/src/app/[variants]/(main)/_layout/Desktop/SideBar/index.tsx +8 -16
- package/src/app/[variants]/(main)/_layout/Mobile/NavBar.tsx +12 -4
- package/src/app/[variants]/(main)/changelog/_layout/Desktop/Container.tsx +35 -0
- package/src/app/[variants]/(main)/changelog/_layout/Desktop/index.tsx +19 -0
- package/src/app/[variants]/(main)/changelog/_layout/Mobile/Header.tsx +3 -3
- package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/SendMore.tsx +2 -3
- package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/ShortcutHint.tsx +2 -2
- package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/index.tsx +4 -3
- package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/Mobile/Files/index.tsx +3 -3
- package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/Mobile/InputArea/index.tsx +5 -4
- package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/Mobile/Send.tsx +3 -4
- package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatList/WelcomeChatItem/InboxWelcome/AgentsSuggest.tsx +8 -14
- package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatList/WelcomeChatItem/InboxWelcome/QuestionSuggest.tsx +6 -10
- package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatList/WelcomeChatItem/OpeningQuestions.tsx +10 -14
- package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatList/WelcomeChatItem/WelcomeMessage.tsx +2 -2
- package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ZenModeToast/Toast.tsx +4 -3
- package/src/app/[variants]/(main)/chat/(workspace)/@topic/features/Header.tsx +2 -2
- package/src/app/[variants]/(main)/chat/(workspace)/@topic/features/SystemRole/SystemRoleContent.tsx +38 -44
- package/src/app/[variants]/(main)/chat/(workspace)/@topic/features/SystemRole/style.ts +1 -21
- package/src/app/[variants]/(main)/chat/(workspace)/@topic/features/TopicListContent/ByTimeMode/GroupItem.tsx +2 -2
- package/src/app/[variants]/(main)/chat/(workspace)/@topic/features/TopicListContent/ThreadItem/Content.tsx +3 -7
- package/src/app/[variants]/(main)/chat/(workspace)/@topic/features/TopicListContent/TopicItem/TopicContent.tsx +3 -7
- package/src/app/[variants]/(main)/chat/(workspace)/@topic/features/TopicListContent/index.tsx +7 -7
- package/src/app/[variants]/(main)/chat/(workspace)/@topic/features/TopicSearchBar/index.tsx +1 -1
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/HeaderAction.tsx +2 -2
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/Main.tsx +10 -32
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/Tags/KnowledgeTag.tsx +1 -2
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/Tags/index.tsx +2 -2
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/index.tsx +3 -11
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/Portal.tsx +11 -17
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/TopicPanel.tsx +3 -4
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Mobile/ChatHeader/ChatHeaderTitle.tsx +3 -3
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Mobile/ChatHeader/index.tsx +2 -2
- package/src/app/[variants]/(main)/chat/(workspace)/features/AgentSettings/index.tsx +39 -61
- package/src/app/[variants]/(main)/chat/(workspace)/features/TelemetryNotification.tsx +1 -2
- package/src/app/[variants]/(main)/chat/@session/_layout/Desktop/PanelBody.tsx +6 -2
- package/src/app/[variants]/(main)/chat/@session/_layout/Desktop/SessionHeader.tsx +26 -13
- package/src/app/[variants]/(main)/chat/@session/_layout/Mobile/SessionHeader.tsx +2 -2
- package/src/app/[variants]/(main)/chat/@session/features/SessionListContent/CollapseGroup/Actions.tsx +3 -3
- package/src/app/[variants]/(main)/chat/@session/features/SessionListContent/CollapseGroup/index.tsx +1 -1
- package/src/app/[variants]/(main)/chat/@session/features/SessionListContent/Inbox/index.tsx +10 -0
- package/src/app/[variants]/(main)/chat/@session/features/SessionListContent/List/AddButton.tsx +14 -5
- package/src/app/[variants]/(main)/chat/@session/features/SessionListContent/List/Item/Actions.tsx +3 -3
- package/src/app/[variants]/(main)/chat/@session/features/SessionListContent/List/Item/index.tsx +10 -0
- package/src/app/[variants]/(main)/chat/@session/features/SessionListContent/ListItem/index.tsx +2 -2
- package/src/app/[variants]/(main)/chat/@session/features/SessionListContent/Modals/ConfigGroupModal/GroupItem.tsx +1 -5
- package/src/app/[variants]/(main)/chat/@session/features/SessionListContent/Modals/ConfigGroupModal/index.tsx +2 -3
- package/src/app/[variants]/(main)/chat/@session/features/SessionSearchBar.tsx +1 -1
- package/src/app/[variants]/(main)/chat/_layout/Desktop/SessionPanel.tsx +14 -1
- package/src/app/[variants]/(main)/chat/_layout/Desktop/Workspace.tsx +23 -0
- package/src/app/[variants]/(main)/chat/_layout/Desktop/index.tsx +2 -3
- package/src/app/[variants]/(main)/chat/features/Migration/ExportConfigButton.tsx +1 -1
- package/src/app/[variants]/(main)/chat/features/Migration/Failed.tsx +3 -3
- package/src/app/[variants]/(main)/chat/features/Migration/Modal.tsx +2 -2
- package/src/app/[variants]/(main)/chat/features/Migration/Start.tsx +1 -1
- package/src/app/[variants]/(main)/chat/features/Migration/UpgradeButton.tsx +2 -2
- package/src/app/[variants]/(main)/chat/features/TogglePanelButton.tsx +42 -0
- package/src/app/[variants]/(main)/chat/settings/_layout/Mobile/Header.tsx +3 -3
- package/src/app/[variants]/(main)/chat/settings/features/HeaderContent.tsx +2 -3
- package/src/app/[variants]/(main)/chat/settings/features/SubmitAgentButton/SubmitAgentModal.tsx +2 -2
- package/src/app/[variants]/(main)/chat/settings/features/SubmitAgentButton/index.tsx +2 -3
- package/src/app/[variants]/(main)/chat/settings/page.tsx +13 -20
- package/src/app/[variants]/(main)/discover/(detail)/_layout/Mobile/Header.tsx +2 -2
- package/src/app/[variants]/(main)/discover/(detail)/assistant/[slug]/features/ConversationExample/index.tsx +8 -3
- package/src/app/[variants]/(main)/discover/(detail)/assistant/[slug]/features/Header.tsx +2 -5
- package/src/app/[variants]/(main)/discover/(detail)/features/Block.tsx +1 -2
- package/src/app/[variants]/(main)/discover/(detail)/features/HighlightBlock.tsx +1 -1
- package/src/app/[variants]/(main)/discover/(detail)/features/ShareButton.tsx +16 -14
- package/src/app/[variants]/(main)/discover/(detail)/model/[...slugs]/features/Actions.tsx +2 -8
- package/src/app/[variants]/(main)/discover/(detail)/model/[...slugs]/features/ChatWithModel.tsx +2 -2
- package/src/app/[variants]/(main)/discover/(detail)/model/[...slugs]/features/Header.tsx +3 -7
- package/src/app/[variants]/(main)/discover/(detail)/model/[...slugs]/features/InfoSidebar/SuggestionItem.tsx +3 -4
- package/src/app/[variants]/(main)/discover/(detail)/model/[...slugs]/features/ParameterList/index.tsx +2 -2
- package/src/app/[variants]/(main)/discover/(detail)/model/[...slugs]/features/ProviderList/ProviderItem.tsx +6 -19
- package/src/app/[variants]/(main)/discover/(detail)/plugin/[slug]/features/Header.tsx +8 -3
- package/src/app/[variants]/(main)/discover/(detail)/plugin/[slug]/features/InstallPlugin.tsx +2 -1
- package/src/app/[variants]/(main)/discover/(detail)/plugin/[slug]/features/ParameterList.tsx +3 -3
- package/src/app/[variants]/(main)/discover/(detail)/provider/[slug]/features/Header.tsx +1 -1
- package/src/app/[variants]/(main)/discover/(detail)/provider/[slug]/features/ModelList/ModelItem.tsx +3 -3
- package/src/app/[variants]/(main)/discover/(detail)/provider/[slug]/features/ModelList/index.tsx +3 -3
- package/src/app/[variants]/(main)/discover/(detail)/provider/[slug]/features/ProviderConfig.tsx +4 -4
- package/src/app/[variants]/(main)/discover/(list)/(home)/features/AssistantList.tsx +1 -1
- package/src/app/[variants]/(main)/discover/(list)/(home)/features/PluginList.tsx +1 -1
- package/src/app/[variants]/(main)/discover/(list)/_layout/Desktop/Nav.tsx +44 -68
- package/src/app/[variants]/(main)/discover/(list)/_layout/Mobile/Header.tsx +3 -3
- package/src/app/[variants]/(main)/discover/(list)/_layout/Mobile/Nav.tsx +2 -2
- package/src/app/[variants]/(main)/discover/(list)/assistants/features/Card.tsx +10 -11
- package/src/app/[variants]/(main)/discover/(list)/assistants/features/List.tsx +2 -2
- package/src/app/[variants]/(main)/discover/(list)/assistants/features/useCategory.tsx +1 -1
- package/src/app/[variants]/(main)/discover/(list)/models/features/Card.tsx +3 -9
- package/src/app/[variants]/(main)/discover/(list)/plugins/features/Card.tsx +7 -10
- package/src/app/[variants]/(main)/discover/(list)/plugins/features/List.tsx +2 -2
- package/src/app/[variants]/(main)/discover/(list)/plugins/features/useCategory.tsx +1 -1
- package/src/app/[variants]/(main)/discover/_layout/Desktop/Container.tsx +25 -0
- package/src/app/[variants]/(main)/discover/_layout/Desktop/index.tsx +3 -3
- package/src/app/[variants]/(main)/discover/components/CategoryContainer.tsx +1 -1
- package/src/app/[variants]/(main)/discover/components/CategoryMenu.tsx +1 -1
- package/src/app/[variants]/(main)/discover/components/Title.tsx +2 -5
- package/src/app/[variants]/(main)/discover/features/CreateButton/Inner.tsx +3 -3
- package/src/app/[variants]/(main)/discover/features/CreateButton/index.tsx +3 -3
- package/src/app/[variants]/(main)/discover/features/LikeButton.tsx +5 -4
- package/src/app/[variants]/(main)/discover/features/StoreSearchBar.tsx +1 -1
- package/src/app/[variants]/(main)/discover/features/useNav.tsx +7 -6
- package/src/app/[variants]/(main)/discover/search/_layout/Mobile/Header.tsx +3 -3
- package/src/app/[variants]/(main)/discover/search/_layout/Mobile/Nav.tsx +3 -3
- package/src/app/[variants]/(main)/files/(content)/@menu/features/FileMenu/index.tsx +1 -1
- package/src/app/[variants]/(main)/files/(content)/@menu/features/KnowledgeBase/Item/Content.tsx +6 -4
- package/src/app/[variants]/(main)/files/(content)/NotSupportClient.tsx +4 -4
- package/src/app/[variants]/(main)/files/(content)/_layout/Desktop/Container.tsx +24 -0
- package/src/app/[variants]/(main)/files/(content)/_layout/Desktop/RegisterHotkeys.tsx +10 -0
- package/src/app/[variants]/(main)/files/(content)/_layout/Desktop/index.tsx +5 -4
- package/src/app/[variants]/(main)/files/[id]/Header.tsx +3 -3
- package/src/app/[variants]/(main)/files/features/FileDetail.tsx +2 -2
- package/src/app/[variants]/(main)/profile/(home)/Client.tsx +32 -11
- package/src/app/[variants]/(main)/profile/(home)/features/SSOProvidersList/index.tsx +3 -4
- package/src/app/[variants]/(main)/profile/@category/features/CategoryContent.tsx +1 -1
- package/src/app/[variants]/(main)/profile/_layout/Desktop/Header.tsx +4 -3
- package/src/app/[variants]/(main)/profile/_layout/Desktop/SideBar.tsx +2 -2
- package/src/app/[variants]/(main)/profile/_layout/Mobile/Header.tsx +3 -3
- package/src/app/[variants]/(main)/profile/features/ClerkProfile.tsx +0 -1
- package/src/app/[variants]/(main)/profile/stats/Client.tsx +1 -1
- package/src/app/[variants]/(main)/profile/stats/features/AiHeatmaps.tsx +2 -3
- package/src/app/[variants]/(main)/profile/stats/features/AssistantsRank.tsx +2 -2
- package/src/app/[variants]/(main)/profile/stats/features/ModelsRank.tsx +2 -2
- package/src/app/[variants]/(main)/profile/stats/features/ShareButton/ShareModal.tsx +2 -2
- package/src/app/[variants]/(main)/profile/stats/features/TopicsRank.tsx +3 -5
- package/src/app/[variants]/(main)/repos/[id]/@menu/Menu/index.tsx +1 -1
- package/src/app/[variants]/(main)/repos/[id]/evals/components/Tabs.tsx +1 -1
- package/src/app/[variants]/(main)/repos/[id]/evals/dataset/CreateDataset/CreateForm.tsx +23 -36
- package/src/app/[variants]/(main)/repos/[id]/evals/dataset/CreateDataset/index.tsx +1 -1
- package/src/app/[variants]/(main)/repos/[id]/evals/dataset/DatasetDetail/index.tsx +2 -2
- package/src/app/[variants]/(main)/repos/[id]/evals/dataset/EmptyGuide/index.tsx +1 -1
- package/src/app/[variants]/(main)/repos/[id]/evals/evaluation/CreateEvaluation/CreateForm.tsx +45 -49
- package/src/app/[variants]/(main)/repos/[id]/evals/evaluation/CreateEvaluation/index.tsx +1 -1
- package/src/app/[variants]/(main)/repos/[id]/evals/evaluation/CreateEvaluation/useModal.tsx +1 -1
- package/src/app/[variants]/(main)/repos/[id]/evals/evaluation/EvaluationList/index.tsx +2 -2
- package/src/app/[variants]/(main)/settings/@category/features/CategoryContent.tsx +1 -1
- package/src/app/[variants]/(main)/settings/@category/features/UpgradeAlert.tsx +1 -2
- package/src/app/[variants]/(main)/settings/_layout/Desktop/Header.tsx +4 -3
- package/src/app/[variants]/(main)/settings/_layout/Desktop/SideBar.tsx +2 -2
- package/src/app/[variants]/(main)/settings/_layout/Desktop/index.tsx +10 -4
- package/src/app/[variants]/(main)/settings/_layout/Mobile/Header.tsx +4 -4
- package/src/app/[variants]/(main)/settings/about/features/Analytics.tsx +3 -5
- package/src/app/[variants]/(main)/settings/about/features/ItemCard.tsx +6 -26
- package/src/app/[variants]/(main)/settings/about/features/ItemLink.tsx +1 -5
- package/src/app/[variants]/(main)/settings/about/features/Version.tsx +15 -19
- package/src/app/[variants]/(main)/settings/about/index.tsx +1 -1
- package/src/app/[variants]/(main)/settings/agent/AgentMenu/index.tsx +49 -0
- package/src/app/[variants]/(main)/settings/agent/_layout/Desktop.tsx +20 -0
- package/src/app/[variants]/(main)/settings/agent/_layout/Mobile.tsx +14 -0
- package/src/app/[variants]/(main)/settings/agent/index.tsx +7 -0
- package/src/app/[variants]/(main)/settings/agent/layout.tsx +23 -0
- package/src/app/[variants]/(main)/settings/common/features/Common.tsx +6 -8
- package/src/app/[variants]/(main)/settings/common/features/Theme/ThemeSwatches/ThemeSwatchesNeutral.tsx +33 -11
- package/src/app/[variants]/(main)/settings/common/features/Theme/ThemeSwatches/ThemeSwatchesPrimary.tsx +60 -11
- package/src/app/[variants]/(main)/settings/common/features/Theme/index.tsx +5 -7
- package/src/app/[variants]/(main)/settings/features/UpgradeAlert.tsx +1 -2
- package/src/app/[variants]/(main)/settings/hooks/useCategory.tsx +1 -2
- package/src/app/[variants]/(main)/settings/hotkey/features/HotkeySetting.tsx +4 -6
- package/src/app/[variants]/(main)/settings/llm/ProviderList/Azure/index.tsx +2 -6
- package/src/app/[variants]/(main)/settings/llm/ProviderList/Bedrock/index.tsx +4 -4
- package/src/app/[variants]/(main)/settings/llm/ProviderList/Cloudflare/index.tsx +2 -2
- package/src/app/[variants]/(main)/settings/llm/ProviderList/Github/index.tsx +2 -3
- package/src/app/[variants]/(main)/settings/llm/ProviderList/HuggingFace/index.tsx +2 -3
- package/src/app/[variants]/(main)/settings/llm/components/Checker.tsx +2 -3
- package/src/app/[variants]/(main)/settings/llm/components/ProviderConfig/index.tsx +12 -4
- package/src/app/[variants]/(main)/settings/llm/components/ProviderModelList/ModelConfigModal/Form.tsx +2 -1
- package/src/app/[variants]/(main)/settings/llm/components/ProviderModelList/ModelConfigModal/index.tsx +2 -3
- package/src/app/[variants]/(main)/settings/llm/components/ProviderModelList/index.tsx +2 -3
- package/src/app/[variants]/(main)/settings/provider/(detail)/azure/page.tsx +1 -2
- package/src/app/[variants]/(main)/settings/provider/(detail)/bedrock/page.tsx +1 -1
- package/src/app/[variants]/(main)/settings/provider/(detail)/doubao/page.tsx +6 -7
- package/src/app/[variants]/(main)/settings/provider/(detail)/ollama/OllamaModelDownloader/index.tsx +0 -0
- package/src/app/[variants]/(main)/settings/provider/(list)/ProviderGrid/Card.tsx +10 -2
- package/src/app/[variants]/(main)/settings/provider/(list)/ProviderGrid/EnableSwitch.tsx +1 -1
- package/src/app/[variants]/(main)/settings/provider/(list)/ProviderGrid/index.tsx +16 -42
- package/src/app/[variants]/(main)/settings/provider/ProviderMenu/AddNew.tsx +10 -7
- package/src/app/[variants]/(main)/settings/provider/ProviderMenu/All.tsx +1 -1
- package/src/app/[variants]/(main)/settings/provider/ProviderMenu/List.tsx +3 -3
- package/src/app/[variants]/(main)/settings/provider/ProviderMenu/SortProviderModal/index.tsx +2 -2
- package/src/app/[variants]/(main)/settings/provider/ProviderMenu/index.tsx +16 -4
- package/src/app/[variants]/(main)/settings/provider/_layout/Desktop/Container.tsx +13 -0
- package/src/app/[variants]/(main)/settings/provider/_layout/Desktop/index.tsx +20 -0
- package/src/app/[variants]/(main)/settings/provider/features/CreateNewProvider/index.tsx +14 -7
- package/src/app/[variants]/(main)/settings/provider/features/ModelList/CreateNewModelModal/Form.tsx +2 -1
- package/src/app/[variants]/(main)/settings/provider/features/ModelList/CreateNewModelModal/index.tsx +2 -2
- package/src/app/[variants]/(main)/settings/provider/features/ModelList/DisabledModels.tsx +3 -5
- package/src/app/[variants]/(main)/settings/provider/features/ModelList/EmptyModels.tsx +2 -3
- package/src/app/[variants]/(main)/settings/provider/features/ModelList/ModelConfigModal/index.tsx +2 -3
- package/src/app/[variants]/(main)/settings/provider/features/ModelList/ModelItem.tsx +1 -1
- package/src/app/[variants]/(main)/settings/provider/features/ModelList/ModelTitle/Search.tsx +5 -17
- package/src/app/[variants]/(main)/settings/provider/features/ModelList/ModelTitle/index.tsx +6 -6
- package/src/app/[variants]/(main)/settings/provider/features/ModelList/SortModelModal/index.tsx +2 -2
- package/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/Checker.tsx +5 -6
- package/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/UpdateProviderInfo/SettingModal.tsx +3 -4
- package/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/UpdateProviderInfo/index.tsx +3 -5
- package/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/index.tsx +10 -3
- package/src/app/[variants]/(main)/settings/storage/Advanced.tsx +5 -5
- package/src/app/[variants]/(main)/settings/sync/features/DeviceInfo/DeviceName.tsx +4 -4
- package/src/app/[variants]/(main)/settings/sync/features/WebRTC/ChannelNameInput.tsx +1 -2
- package/src/app/[variants]/(main)/settings/sync/features/WebRTC/SyncSwitch/index.css +2 -1
- package/src/app/[variants]/(main)/settings/sync/features/WebRTC/index.tsx +5 -7
- package/src/app/[variants]/(main)/settings/system-agent/features/createForm.tsx +4 -7
- package/src/app/[variants]/(main)/settings/tts/features/OpenAI.tsx +4 -6
- package/src/app/[variants]/(main)/settings/tts/features/STT.tsx +5 -6
- package/src/app/[variants]/(main)/settings/tts/features/const.tsx +1 -1
- package/src/app/[variants]/@modal/(.)changelog/modal/features/ReadDetail.tsx +8 -30
- package/src/app/[variants]/loading/Client/Error.tsx +1 -1
- package/src/app/[variants]/oauth/consent/[uid]/Consent.tsx +3 -2
- package/src/app/[variants]/oauth/consent/[uid]/Login.tsx +2 -2
- package/src/app/[variants]/oauth/consent/[uid]/failed/page.tsx +2 -2
- package/src/app/desktop/devtools/page.tsx +5 -4
- package/src/components/404/index.tsx +1 -2
- package/src/components/Cell/index.tsx +2 -2
- package/src/components/DragUpload/index.tsx +4 -4
- package/src/components/Error/index.tsx +1 -2
- package/src/components/FeatureList/index.tsx +1 -1
- package/src/components/FileIcon/index.tsx +1 -1
- package/src/components/FileParsingStatus/EmbeddingStatus.tsx +1 -2
- package/src/components/FileParsingStatus/index.tsx +2 -2
- package/src/components/FormInput/FormInput.tsx +2 -2
- package/src/components/FormInput/FormPassword.tsx +3 -3
- package/src/components/FunctionModal/style.tsx +5 -1
- package/src/components/GroupIcon/index.tsx +1 -1
- package/src/components/IndexCard/index.tsx +2 -2
- package/src/components/MaxTokenSlider.tsx +3 -3
- package/src/components/Menu/index.tsx +5 -6
- package/src/components/ModelSelect/index.tsx +34 -56
- package/src/components/NextAuth/AuthIcons.tsx +3 -3
- package/src/components/Notification/index.tsx +2 -1
- package/src/components/OllamaSetupGuide/index.tsx +2 -2
- package/src/components/RepoIcon/index.tsx +1 -8
- package/src/components/SafeSpacing/index.tsx +3 -3
- package/src/components/SidebarHeader/index.tsx +6 -6
- package/src/components/StatisticCard/TitleWithPercentage.tsx +2 -1
- package/src/components/StatisticCard/index.tsx +4 -4
- package/src/components/TextArea/index.tsx +3 -3
- package/src/components/mdx/Image.tsx +1 -2
- package/src/config/aiModels/ai21.ts +2 -4
- package/src/config/aiModels/ai360.ts +4 -8
- package/src/config/aiModels/azure.ts +1 -2
- package/src/config/aiModels/azureai.ts +1 -2
- package/src/config/aiModels/cohere.ts +33 -35
- package/src/config/aiModels/doubao.ts +56 -56
- package/src/config/aiModels/fireworksai.ts +3 -5
- package/src/config/aiModels/giteeai.ts +1 -1
- package/src/config/aiModels/groq.ts +8 -4
- package/src/config/aiModels/hunyuan.ts +7 -5
- package/src/config/aiModels/minimax.ts +4 -2
- package/src/config/aiModels/mistral.ts +2 -1
- package/src/config/aiModels/moonshot.ts +2 -2
- package/src/config/aiModels/novita.ts +3 -3
- package/src/config/aiModels/nvidia.ts +22 -20
- package/src/config/aiModels/openai.ts +2 -4
- package/src/config/aiModels/openrouter.ts +5 -10
- package/src/config/aiModels/perplexity.ts +1 -2
- package/src/config/aiModels/ppio.ts +210 -193
- package/src/config/aiModels/qwen.ts +8 -4
- package/src/config/aiModels/sambanova.ts +39 -34
- package/src/config/aiModels/siliconcloud.ts +50 -50
- package/src/config/aiModels/stepfun.ts +6 -4
- package/src/config/aiModels/taichu.ts +12 -6
- package/src/config/aiModels/tencentcloud.ts +2 -2
- package/src/config/aiModels/togetherai.ts +10 -5
- package/src/config/aiModels/vllm.ts +11 -14
- package/src/config/aiModels/volcengine.ts +1 -2
- package/src/config/aiModels/wenxin.ts +8 -16
- package/src/config/aiModels/xai.ts +9 -4
- package/src/config/aiModels/xinference.ts +20 -25
- package/src/config/aiModels/zhipu.ts +3 -2
- package/src/config/modelProviders/ai360.ts +3 -6
- package/src/config/modelProviders/cohere.ts +2 -1
- package/src/config/modelProviders/deepseek.ts +2 -1
- package/src/config/modelProviders/doubao.ts +2 -1
- package/src/config/modelProviders/fireworksai.ts +2 -4
- package/src/config/modelProviders/giteeai.ts +1 -1
- package/src/config/modelProviders/index.ts +1 -1
- package/src/config/modelProviders/jina.ts +3 -2
- package/src/config/modelProviders/nvidia.ts +3 -2
- package/src/config/modelProviders/ppio.ts +249 -230
- package/src/config/modelProviders/siliconcloud.ts +38 -37
- package/src/config/modelProviders/stepfun.ts +1 -1
- package/src/config/modelProviders/vllm.ts +1 -1
- package/src/config/modelProviders/wenxin.ts +2 -4
- package/src/config/modelProviders/xinference.ts +2 -1
- package/src/config/modelProviders/zhipu.ts +1 -1
- package/src/const/hotkeys.ts +2 -2
- package/src/const/layoutTokens.test.ts +2 -2
- package/src/const/layoutTokens.ts +3 -3
- package/src/const/message.ts +1 -2
- package/src/features/AgentSetting/AgentCategory/index.tsx +29 -0
- package/src/{app/[variants]/(main)/chat/(workspace)/features/AgentSettings/CategoryContent → features/AgentSetting/AgentCategory}/useCategory.tsx +8 -6
- package/src/features/AgentSetting/AgentChat/index.tsx +32 -31
- package/src/features/AgentSetting/AgentMeta/AutoGenerateAvatar.tsx +26 -17
- package/src/features/AgentSetting/AgentMeta/AutoGenerateInput.tsx +2 -8
- package/src/features/AgentSetting/AgentMeta/AutoGenerateSelect.tsx +6 -8
- package/src/features/AgentSetting/AgentMeta/BackgroundSwatches.tsx +73 -13
- package/src/features/AgentSetting/AgentMeta/index.tsx +42 -45
- package/src/features/AgentSetting/AgentModal/index.tsx +39 -20
- package/src/features/AgentSetting/AgentOpening/OpeningMessage.tsx +3 -3
- package/src/features/AgentSetting/AgentOpening/OpeningQuestions.tsx +43 -41
- package/src/features/AgentSetting/AgentOpening/index.tsx +1 -1
- package/src/features/AgentSetting/AgentPlugin/AddPluginButton.tsx +2 -3
- package/src/features/AgentSetting/AgentPlugin/index.tsx +12 -11
- package/src/features/AgentSetting/AgentPrompt/TokenTag.tsx +12 -29
- package/src/features/AgentSetting/AgentPrompt/index.tsx +48 -147
- package/src/features/AgentSetting/AgentSettings.tsx +22 -18
- package/src/features/AgentSetting/AgentSettingsContent.tsx +39 -0
- package/src/features/AgentSetting/AgentTTS/SelectWithTTSPreview.tsx +8 -5
- package/src/features/AgentSetting/AgentTTS/index.tsx +27 -28
- package/src/features/AgentSetting/AgentTTS/options.tsx +1 -1
- package/src/features/AgentSetting/index.tsx +2 -1
- package/src/features/AgentSetting/store/action.ts +24 -24
- package/src/features/AgentSetting/store/index.ts +2 -0
- package/src/features/AgentSetting/store/initialState.ts +6 -7
- package/src/features/AgentSetting/store/selectors.ts +19 -1
- package/src/features/AlertBanner/CloudBanner.tsx +1 -2
- package/src/features/ChatInput/ActionBar/Clear.tsx +7 -5
- package/src/features/ChatInput/ActionBar/History.tsx +37 -35
- package/src/features/ChatInput/ActionBar/Knowledge/Dropdown.tsx +30 -60
- package/src/features/ChatInput/ActionBar/Knowledge/index.tsx +17 -13
- package/src/features/ChatInput/ActionBar/Model/ControlsForm.tsx +2 -1
- package/src/features/ChatInput/ActionBar/Model/ReasoningTokenSlider.tsx +3 -3
- package/src/features/ChatInput/ActionBar/Model/index.tsx +12 -38
- package/src/features/ChatInput/ActionBar/Params/ParamsControls.tsx +3 -17
- package/src/features/ChatInput/ActionBar/Params/index.tsx +10 -28
- package/src/features/ChatInput/ActionBar/Search/FCSearchModel.tsx +15 -4
- package/src/features/ChatInput/ActionBar/Search/FunctionCallingModelSelect/index.tsx +4 -3
- package/src/features/ChatInput/ActionBar/Search/ModelBuiltinSearch.tsx +5 -7
- package/src/features/ChatInput/ActionBar/Search/SwitchPanel.tsx +49 -60
- package/src/features/ChatInput/ActionBar/Search/index.tsx +25 -36
- package/src/features/ChatInput/ActionBar/Token/TokenTag.tsx +7 -6
- package/src/features/ChatInput/ActionBar/Tools/Dropdown.tsx +75 -77
- package/src/features/ChatInput/ActionBar/Tools/ToolItem.tsx +4 -30
- package/src/features/ChatInput/ActionBar/Tools/index.tsx +5 -3
- package/src/features/ChatInput/ActionBar/Upload/ClientMode.tsx +6 -4
- package/src/features/ChatInput/ActionBar/Upload/ServerMode.tsx +16 -8
- package/src/features/ChatInput/ActionBar/index.tsx +2 -2
- package/src/features/ChatInput/ActionBar/styles.ts +14 -0
- package/src/features/ChatInput/Desktop/InputArea/index.tsx +2 -2
- package/src/features/ChatInput/Desktop/index.tsx +1 -1
- package/src/features/ChatInput/STT/common.tsx +10 -5
- package/src/features/ChatInput/Topic/index.tsx +3 -8
- package/src/features/ChatInput/components/ActionDropdown.tsx +62 -0
- package/src/features/ChatInput/components/ActionPopover.tsx +84 -0
- package/src/features/ChatInput/components/UploadDetail/UploadStatus.tsx +1 -1
- package/src/features/Conversation/Actions/Assistant.tsx +5 -14
- package/src/features/Conversation/Actions/Error.tsx +3 -3
- package/src/features/Conversation/Actions/Fallback.tsx +8 -2
- package/src/features/Conversation/Actions/Tool.tsx +0 -1
- package/src/features/Conversation/Actions/User.tsx +6 -4
- package/src/features/Conversation/Actions/customAction.ts +3 -3
- package/src/features/Conversation/Error/APIKeyForm/Bedrock.tsx +8 -9
- package/src/features/Conversation/Error/APIKeyForm/ProviderApiKeyForm.tsx +1 -2
- package/src/features/Conversation/Error/APIKeyForm/index.tsx +1 -1
- package/src/features/Conversation/Error/AccessCodeForm.tsx +3 -3
- package/src/features/Conversation/Error/ClerkLogin/index.tsx +1 -1
- package/src/features/Conversation/Error/ErrorJsonViewer.tsx +1 -1
- package/src/features/Conversation/Error/InvalidAccessCode.tsx +2 -2
- package/src/features/Conversation/Error/OAuthForm.tsx +2 -2
- package/src/features/Conversation/Error/OllamaBizError/InvalidOllamaModel.tsx +1 -1
- package/src/features/Conversation/Error/OllamaDesktopSetupGuide/index.tsx +1 -1
- package/src/features/Conversation/Extras/TTS/Player.tsx +2 -3
- package/src/features/Conversation/Extras/Usage/UsageDetail/ModelCard.tsx +1 -2
- package/src/features/Conversation/Extras/Usage/UsageDetail/TokenProgress.tsx +0 -1
- package/src/features/Conversation/Messages/Assistant/FileChunks/Item/index.tsx +1 -1
- package/src/features/Conversation/Messages/Assistant/Tool/Inspector/ToolTitle.tsx +1 -1
- package/src/features/Conversation/Messages/Assistant/Tool/Render/ErrorResponse.tsx +1 -1
- package/src/features/Conversation/Messages/Assistant/Tool/Render/KeyValueEditor.tsx +2 -2
- package/src/features/Conversation/Messages/Assistant/Tool/Render/PluginSettings.tsx +2 -2
- package/src/features/Conversation/Messages/User/ImageFileListViewer.tsx +3 -3
- package/src/features/Conversation/Messages/User/MarkdownRender/ContentPreview.tsx +4 -29
- package/src/features/Conversation/components/BackBottom/index.tsx +1 -2
- package/src/features/Conversation/components/ChatItem/ActionsBar.tsx +5 -4
- package/src/features/Conversation/components/ChatItem/index.tsx +2 -2
- package/src/features/Conversation/components/History/index.tsx +1 -5
- package/src/features/Conversation/components/MarkdownElements/LobeArtifact/Render/Icon.tsx +5 -30
- package/src/features/Conversation/components/MarkdownElements/LocalFile/Render/LocalFile.tsx +1 -1
- package/src/features/Conversation/components/VirtualizedList/index.tsx +1 -6
- package/src/features/Conversation/hooks/useChatListActionsBar.tsx +7 -7
- package/src/features/Conversation/types/index.tsx +3 -3
- package/src/features/DataImporter/Error.tsx +3 -3
- package/src/features/DataImporter/ImportDetail.tsx +2 -2
- package/src/features/DataImporter/SuccessResult.tsx +2 -2
- package/src/features/DevPanel/FeatureFlagViewer/Form.tsx +1 -1
- package/src/features/DevPanel/MetadataViewer/Ld.tsx +1 -1
- package/src/features/DevPanel/MetadataViewer/MetaData.tsx +3 -4
- package/src/features/DevPanel/MetadataViewer/Og.tsx +3 -4
- package/src/features/DevPanel/MetadataViewer/index.tsx +3 -3
- package/src/features/DevPanel/PostgresViewer/SchemaSidebar/Columns.tsx +1 -1
- package/src/features/DevPanel/SystemInspector/index.tsx +3 -3
- package/src/features/DevPanel/features/FloatPanel.tsx +5 -4
- package/src/features/DevPanel/features/Header.tsx +1 -5
- package/src/features/DevPanel/features/Table/TooltipContent.tsx +1 -1
- package/src/features/ElectronTitlebar/Connection/ConnectionMode.tsx +1 -2
- package/src/features/ElectronTitlebar/Connection/RemoteStatus.tsx +3 -1
- package/src/features/ElectronTitlebar/Connection/Waiting.tsx +3 -3
- package/src/features/ElectronTitlebar/UpdateModal.tsx +2 -1
- package/src/features/ElectronTitlebar/UpdateNotification.tsx +2 -2
- package/src/features/FileManager/ChunkDrawer/Content.tsx +1 -0
- package/src/features/FileManager/ChunkDrawer/SimilaritySearchList/Item.tsx +1 -1
- package/src/features/FileManager/FileList/FileListItem/DropdownMenu.tsx +2 -2
- package/src/features/FileManager/FileList/FileListItem/index.tsx +5 -3
- package/src/features/FileManager/FileList/FileSkeleton.tsx +1 -1
- package/src/features/FileManager/FileList/ToolBar/Config.tsx +3 -2
- package/src/features/FileManager/FileList/ToolBar/MultiSelectActions.tsx +11 -3
- package/src/features/FileManager/FileList/index.tsx +1 -1
- package/src/features/FileManager/Header/FilesSearchBar.tsx +3 -8
- package/src/features/FileManager/Header/TogglePanelButton.tsx +42 -0
- package/src/features/FileManager/Header/UploadFileButton.tsx +4 -4
- package/src/features/FileManager/Header/index.tsx +14 -26
- package/src/features/FileManager/index.tsx +0 -1
- package/src/features/FileSidePanel/index.tsx +1 -1
- package/src/features/FileViewer/NotSupport/index.tsx +1 -2
- package/src/features/FileViewer/Renderer/TXT/index.tsx +6 -1
- package/src/features/HotkeyHelperPanel/index.tsx +3 -3
- package/src/features/InitClientDB/EnableModal.tsx +2 -3
- package/src/features/InitClientDB/ErrorResult.tsx +4 -4
- package/src/features/InitClientDB/features/DatabaseRepair/Backup.tsx +3 -3
- package/src/features/InitClientDB/features/DatabaseRepair/Diagnosis.tsx +2 -2
- package/src/features/InitClientDB/features/DatabaseRepair/Repair.tsx +2 -2
- package/src/features/InitClientDB/features/DatabaseRepair/index.tsx +12 -6
- package/src/features/KnowledgeBaseModal/AddFilesToKnowledgeBase/SelectForm.tsx +45 -62
- package/src/features/KnowledgeBaseModal/AddFilesToKnowledgeBase/index.tsx +1 -1
- package/src/features/KnowledgeBaseModal/AssignKnowledgeBase/Item/Action.tsx +1 -2
- package/src/features/KnowledgeBaseModal/AssignKnowledgeBase/List.tsx +1 -1
- package/src/features/KnowledgeBaseModal/CreateNew/CreateForm.tsx +28 -38
- package/src/features/KnowledgeBaseModal/CreateNew/index.tsx +1 -1
- package/src/features/MobileSwitchLoading/index.tsx +1 -1
- package/src/features/MobileTabBar/index.tsx +5 -4
- package/src/features/ModelParamsControl/Temperature.tsx +1 -1
- package/src/features/ModelSelect/index.tsx +14 -4
- package/src/features/ModelSwitchPanel/index.tsx +4 -13
- package/src/features/OllamaModelDownloader/index.tsx +2 -2
- package/src/features/PluginDetailModal/Meta.tsx +13 -41
- package/src/features/PluginDetailModal/index.tsx +34 -30
- package/src/features/PluginDevModal/LocalForm.tsx +1 -0
- package/src/features/PluginDevModal/MCPManifestForm/ArgsInput.tsx +1 -1
- package/src/features/PluginDevModal/MCPManifestForm/MCPTypeSelect.tsx +3 -3
- package/src/features/PluginDevModal/MCPManifestForm/index.tsx +24 -24
- package/src/features/PluginDevModal/PluginPreview.tsx +14 -17
- package/src/features/PluginDevModal/UrlManifestForm.tsx +1 -1
- package/src/features/PluginDevModal/index.tsx +3 -2
- package/src/features/PluginSettings/PluginSettingRender.tsx +11 -43
- package/src/features/PluginSettings/index.tsx +38 -25
- package/src/features/PluginStore/AddPluginButton.tsx +2 -3
- package/src/features/PluginStore/InstalledPluginList.tsx +1 -3
- package/src/features/PluginStore/OnlineList.tsx +2 -4
- package/src/features/PluginStore/PluginItem/Action.tsx +2 -2
- package/src/features/PluginStore/PluginItem/PluginAvatar.tsx +8 -2
- package/src/features/PluginStore/PluginItem/PluginTag.tsx +2 -31
- package/src/features/PluginStore/index.tsx +2 -2
- package/src/features/PluginTag/PluginStatus.tsx +2 -2
- package/src/features/PluginTag/index.tsx +1 -3
- package/src/features/PluginsUI/Render/DefaultType/SystemJsRender/utils.ts +0 -1
- package/src/features/Portal/Artifacts/Body/Renderer/SVG.tsx +4 -4
- package/src/features/Portal/Artifacts/Body/Renderer/index.tsx +1 -1
- package/src/features/Portal/Artifacts/Body/index.tsx +6 -3
- package/src/features/Portal/Artifacts/Header.tsx +11 -6
- package/src/features/Portal/FilePreview/Body/index.tsx +20 -7
- package/src/features/Portal/Plugins/Header.tsx +1 -1
- package/src/features/Portal/Thread/Chat/ChatInput/Footer.tsx +2 -2
- package/src/features/Portal/Thread/Header/Active.tsx +12 -6
- package/src/features/Portal/Thread/Header/New.tsx +13 -12
- package/src/features/Portal/Thread/Header/index.tsx +10 -3
- package/src/features/Setting/SettingContainer.tsx +12 -19
- package/src/features/ShareModal/ShareImage/Preview.tsx +2 -1
- package/src/features/ShareModal/ShareImage/index.tsx +8 -11
- package/src/features/ShareModal/ShareJSON/Preview.tsx +1 -1
- package/src/features/ShareModal/ShareJSON/index.tsx +6 -5
- package/src/features/ShareModal/ShareText/index.tsx +8 -5
- package/src/features/ShareModal/index.tsx +2 -3
- package/src/features/SyncStatusInspector/DisableSync.tsx +2 -2
- package/src/features/SyncStatusInspector/EnableSync.tsx +3 -3
- package/src/features/SyncStatusInspector/EnableTag.tsx +2 -2
- package/src/features/User/PlanTag.tsx +1 -2
- package/src/features/User/UserAvatar.tsx +1 -1
- package/src/features/User/UserLoginOrSignup/Community.tsx +1 -1
- package/src/features/User/UserPanel/LangButton.tsx +1 -1
- package/src/features/User/UserPanel/ThemeButton.tsx +1 -1
- package/src/features/User/UserPanel/useMenu.tsx +2 -1
- package/src/hooks/useHotkeys/filesScope.ts +37 -0
- package/src/hooks/useHotkeys/index.ts +1 -0
- package/src/hooks/useScreenshot.ts +1 -1
- package/src/layout/GlobalProvider/Locale.tsx +41 -1
- package/src/layout/GlobalProvider/index.tsx +12 -12
- package/src/libs/agent-runtime/ai360/index.ts +24 -31
- package/src/libs/agent-runtime/baichuan/index.ts +20 -20
- package/src/libs/agent-runtime/cohere/index.ts +10 -11
- package/src/libs/agent-runtime/deepseek/index.ts +25 -17
- package/src/libs/agent-runtime/fireworksai/index.ts +11 -14
- package/src/libs/agent-runtime/giteeai/index.ts +19 -25
- package/src/libs/agent-runtime/groq/index.ts +14 -16
- package/src/libs/agent-runtime/higress/index.ts +17 -17
- package/src/libs/agent-runtime/huggingface/index.ts +19 -23
- package/src/libs/agent-runtime/hunyuan/index.test.ts +40 -40
- package/src/libs/agent-runtime/hunyuan/index.ts +16 -21
- package/src/libs/agent-runtime/internlm/index.ts +9 -13
- package/src/libs/agent-runtime/jina/index.ts +12 -16
- package/src/libs/agent-runtime/lmstudio/index.ts +9 -13
- package/src/libs/agent-runtime/minimax/index.ts +3 -3
- package/src/libs/agent-runtime/moonshot/index.ts +26 -30
- package/src/libs/agent-runtime/novita/index.ts +17 -17
- package/src/libs/agent-runtime/nvidia/index.ts +9 -13
- package/src/libs/agent-runtime/ppio/fixtures/models.json +4 -10
- package/src/libs/agent-runtime/ppio/index.ts +19 -14
- package/src/libs/agent-runtime/siliconcloud/index.ts +19 -19
- package/src/libs/agent-runtime/spark/index.ts +1 -2
- package/src/libs/agent-runtime/stepfun/index.ts +29 -36
- package/src/libs/agent-runtime/tencentcloud/index.ts +12 -16
- package/src/libs/agent-runtime/utils/cloudflareHelpers.ts +1 -6
- package/src/libs/agent-runtime/utils/streams/openai.test.ts +0 -1
- package/src/libs/agent-runtime/vllm/index.ts +9 -13
- package/src/libs/agent-runtime/wenxin/index.test.ts +26 -18
- package/src/libs/agent-runtime/wenxin/index.ts +1 -1
- package/src/libs/agent-runtime/xai/index.ts +11 -13
- package/src/libs/agent-runtime/xinference/index.ts +15 -13
- package/src/libs/agent-runtime/zeroone/index.ts +9 -13
- package/src/libs/agent-runtime/zhipu/index.ts +33 -30
- package/src/libs/langchain/loaders/epub/index.ts +3 -2
- package/src/libs/langchain/loaders/index.ts +1 -1
- package/src/locales/default/color.ts +22 -0
- package/src/locales/default/common.ts +2 -2
- package/src/locales/default/file.ts +3 -0
- package/src/locales/default/index.ts +2 -0
- package/src/locales/default/setting.ts +15 -2
- package/src/server/modules/ContentChunk/rules.test.ts +1 -0
- package/src/server/utils/tempFileManager.ts +1 -1
- package/src/services/message/type.ts +2 -1
- package/src/services/plugin/client.test.ts +3 -1
- package/src/store/agent/selectors.ts +1 -1
- package/src/store/aiInfra/index.ts +1 -1
- package/src/store/chat/slices/builtinTool/actions/dalle.ts +0 -2
- package/src/store/chat/slices/portal/initialState.ts +7 -2
- package/src/store/session/index.ts +1 -1
- package/src/tools/dalle/Render/Item/EditMode.tsx +3 -3
- package/src/tools/dalle/Render/Item/Error.tsx +3 -4
- package/src/tools/dalle/Render/Item/index.tsx +1 -1
- package/src/tools/dalle/Render/ToolBar.tsx +2 -1
- package/src/tools/dalle/Render/index.tsx +4 -3
- package/src/tools/local-files/Render/ListFiles/index.tsx +1 -1
- package/src/tools/local-files/Render/ReadLocalFile/ReadFileView.tsx +1 -1
- package/src/tools/local-files/Render/SearchFiles/SearchQuery/index.tsx +5 -6
- package/src/tools/local-files/components/FileItem.tsx +1 -1
- package/src/tools/web-browsing/Portal/PageContent/index.tsx +14 -8
- package/src/tools/web-browsing/Portal/Search/Footer.tsx +2 -3
- package/src/tools/web-browsing/Portal/Search/ResultList/SearchItem/TitleExtra.tsx +2 -2
- package/src/tools/web-browsing/Render/Search/ConfigForm/Form.tsx +2 -3
- package/src/tools/web-browsing/Render/Search/ConfigForm/index.tsx +1 -1
- package/src/tools/web-browsing/Render/Search/SearchResult/index.tsx +3 -3
- package/src/tools/web-browsing/Render/Search/index.tsx +1 -1
- package/src/tools/web-browsing/components/SearchBar.tsx +3 -8
- package/src/types/hotkey.ts +1 -0
- package/src/app/[variants]/(main)/changelog/_layout/Desktop.tsx +0 -25
- package/src/app/[variants]/(main)/chat/(workspace)/features/AgentSettings/CategoryContent/index.tsx +0 -37
- package/src/app/[variants]/(main)/discover/features/ModelFeatureTags.tsx +0 -86
- package/src/app/[variants]/(main)/settings/provider/_layout/Desktop.tsx +0 -37
- package/src/features/AgentSetting/useSyncAgemtSettings.ts +0 -14
- package/src/features/ChatInput/ActionBar/Search/ExaIcon.tsx +0 -15
@@ -1,9 +1,9 @@
|
|
1
|
+
import type { ChatModelCard } from '@/types/llm';
|
2
|
+
|
1
3
|
import { AgentRuntimeErrorType } from '../error';
|
2
4
|
import { ChatCompletionErrorPayload, ModelProvider } from '../types';
|
3
5
|
import { LobeOpenAICompatibleFactory } from '../utils/openaiCompatibleFactory';
|
4
6
|
|
5
|
-
import type { ChatModelCard } from '@/types/llm';
|
6
|
-
|
7
7
|
export interface SiliconCloudModelCard {
|
8
8
|
id: string;
|
9
9
|
}
|
@@ -30,7 +30,8 @@ export const LobeSiliconCloudAI = LobeOpenAICompatibleFactory({
|
|
30
30
|
return {
|
31
31
|
error: errorResponse.status,
|
32
32
|
errorType: AgentRuntimeErrorType.ProviderBizError,
|
33
|
-
message:
|
33
|
+
message:
|
34
|
+
'请检查 API Key 余额是否充足,或者是否在用未实名的 API Key 访问需要实名的模型。',
|
34
35
|
};
|
35
36
|
}
|
36
37
|
}
|
@@ -72,36 +73,35 @@ export const LobeSiliconCloudAI = LobeOpenAICompatibleFactory({
|
|
72
73
|
'deepseek-ai/deepseek-vl',
|
73
74
|
];
|
74
75
|
|
75
|
-
const reasoningKeywords = [
|
76
|
-
'deepseek-ai/deepseek-r1',
|
77
|
-
'qwen/qvq',
|
78
|
-
'qwen/qwq',
|
79
|
-
];
|
76
|
+
const reasoningKeywords = ['deepseek-ai/deepseek-r1', 'qwen/qvq', 'qwen/qwq'];
|
80
77
|
|
81
|
-
const modelsPage = await client.models.list() as any;
|
78
|
+
const modelsPage = (await client.models.list()) as any;
|
82
79
|
const modelList: SiliconCloudModelCard[] = modelsPage.data;
|
83
80
|
|
84
81
|
return modelList
|
85
82
|
.map((model) => {
|
86
|
-
const knownModel = LOBE_DEFAULT_MODEL_LIST.find(
|
83
|
+
const knownModel = LOBE_DEFAULT_MODEL_LIST.find(
|
84
|
+
(m) => model.id.toLowerCase() === m.id.toLowerCase(),
|
85
|
+
);
|
87
86
|
|
88
87
|
return {
|
89
88
|
contextWindowTokens: knownModel?.contextWindowTokens ?? undefined,
|
90
89
|
displayName: knownModel?.displayName ?? undefined,
|
91
90
|
enabled: knownModel?.enabled || false,
|
92
91
|
functionCall:
|
93
|
-
functionCallKeywords.some(keyword => model.id.toLowerCase().includes(keyword)) &&
|
94
|
-
|
95
|
-
||
|
92
|
+
(functionCallKeywords.some((keyword) => model.id.toLowerCase().includes(keyword)) &&
|
93
|
+
!model.id.toLowerCase().includes('deepseek-r1')) ||
|
94
|
+
knownModel?.abilities?.functionCall ||
|
95
|
+
false,
|
96
96
|
id: model.id,
|
97
97
|
reasoning:
|
98
|
-
reasoningKeywords.some(keyword => model.id.toLowerCase().includes(keyword))
|
99
|
-
|
100
|
-
|
98
|
+
reasoningKeywords.some((keyword) => model.id.toLowerCase().includes(keyword)) ||
|
99
|
+
knownModel?.abilities?.reasoning ||
|
100
|
+
false,
|
101
101
|
vision:
|
102
|
-
visionKeywords.some(keyword => model.id.toLowerCase().includes(keyword))
|
103
|
-
|
104
|
-
|
102
|
+
visionKeywords.some((keyword) => model.id.toLowerCase().includes(keyword)) ||
|
103
|
+
knownModel?.abilities?.vision ||
|
104
|
+
false,
|
105
105
|
};
|
106
106
|
})
|
107
107
|
.filter(Boolean) as ChatModelCard[];
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import { ModelProvider } from '../types';
|
2
2
|
import { LobeOpenAICompatibleFactory } from '../utils/openaiCompatibleFactory';
|
3
|
-
|
4
|
-
import { transformSparkResponseToStream, SparkAIStream } from '../utils/streams';
|
3
|
+
import { SparkAIStream, transformSparkResponseToStream } from '../utils/streams';
|
5
4
|
|
6
5
|
export const LobeSparkAI = LobeOpenAICompatibleFactory({
|
7
6
|
baseURL: 'https://spark-api-open.xf-yun.com/v1',
|
@@ -1,8 +1,8 @@
|
|
1
|
+
import type { ChatModelCard } from '@/types/llm';
|
2
|
+
|
1
3
|
import { ModelProvider } from '../types';
|
2
4
|
import { LobeOpenAICompatibleFactory } from '../utils/openaiCompatibleFactory';
|
3
5
|
|
4
|
-
import type { ChatModelCard } from '@/types/llm';
|
5
|
-
|
6
6
|
export interface StepfunModelCard {
|
7
7
|
id: string;
|
8
8
|
}
|
@@ -13,15 +13,17 @@ export const LobeStepfunAI = LobeOpenAICompatibleFactory({
|
|
13
13
|
handlePayload: (payload) => {
|
14
14
|
const { enabledSearch, tools, ...rest } = payload;
|
15
15
|
|
16
|
-
const stepfunTools = enabledSearch
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
16
|
+
const stepfunTools = enabledSearch
|
17
|
+
? [
|
18
|
+
...(tools || []),
|
19
|
+
{
|
20
|
+
function: {
|
21
|
+
description: 'use web_search to search information on the internet',
|
22
|
+
},
|
23
|
+
type: 'web_search',
|
24
|
+
},
|
25
|
+
]
|
26
|
+
: tools;
|
25
27
|
|
26
28
|
return {
|
27
29
|
...rest,
|
@@ -37,47 +39,38 @@ export const LobeStepfunAI = LobeOpenAICompatibleFactory({
|
|
37
39
|
const { LOBE_DEFAULT_MODEL_LIST } = await import('@/config/aiModels');
|
38
40
|
|
39
41
|
// ref: https://platform.stepfun.com/docs/llm/modeloverview
|
40
|
-
const functionCallKeywords = [
|
41
|
-
'step-1-',
|
42
|
-
'step-1o-',
|
43
|
-
'step-1v-',
|
44
|
-
'step-2-',
|
45
|
-
];
|
42
|
+
const functionCallKeywords = ['step-1-', 'step-1o-', 'step-1v-', 'step-2-'];
|
46
43
|
|
47
|
-
const visionKeywords = [
|
48
|
-
'step-1o-',
|
49
|
-
'step-r1-v-',
|
50
|
-
'step-1v-',
|
51
|
-
];
|
44
|
+
const visionKeywords = ['step-1o-', 'step-r1-v-', 'step-1v-'];
|
52
45
|
|
53
|
-
const reasoningKeywords = [
|
54
|
-
'step-r1-',
|
55
|
-
];
|
46
|
+
const reasoningKeywords = ['step-r1-'];
|
56
47
|
|
57
|
-
const modelsPage = await client.models.list() as any;
|
48
|
+
const modelsPage = (await client.models.list()) as any;
|
58
49
|
const modelList: StepfunModelCard[] = modelsPage.data;
|
59
50
|
|
60
51
|
return modelList
|
61
52
|
.map((model) => {
|
62
|
-
const knownModel = LOBE_DEFAULT_MODEL_LIST.find(
|
53
|
+
const knownModel = LOBE_DEFAULT_MODEL_LIST.find(
|
54
|
+
(m) => model.id.toLowerCase() === m.id.toLowerCase(),
|
55
|
+
);
|
63
56
|
|
64
57
|
return {
|
65
58
|
contextWindowTokens: knownModel?.contextWindowTokens ?? undefined,
|
66
59
|
displayName: knownModel?.displayName ?? undefined,
|
67
60
|
enabled: knownModel?.enabled || false,
|
68
61
|
functionCall:
|
69
|
-
functionCallKeywords.some(keyword => model.id.toLowerCase().includes(keyword))
|
70
|
-
|
71
|
-
|
62
|
+
functionCallKeywords.some((keyword) => model.id.toLowerCase().includes(keyword)) ||
|
63
|
+
knownModel?.abilities?.functionCall ||
|
64
|
+
false,
|
72
65
|
id: model.id,
|
73
66
|
reasoning:
|
74
|
-
reasoningKeywords.some(keyword => model.id.toLowerCase().includes(keyword))
|
75
|
-
|
76
|
-
|
67
|
+
reasoningKeywords.some((keyword) => model.id.toLowerCase().includes(keyword)) ||
|
68
|
+
knownModel?.abilities?.reasoning ||
|
69
|
+
false,
|
77
70
|
vision:
|
78
|
-
visionKeywords.some(keyword => model.id.toLowerCase().includes(keyword))
|
79
|
-
|
80
|
-
|
71
|
+
visionKeywords.some((keyword) => model.id.toLowerCase().includes(keyword)) ||
|
72
|
+
knownModel?.abilities?.vision ||
|
73
|
+
false,
|
81
74
|
};
|
82
75
|
})
|
83
76
|
.filter(Boolean) as ChatModelCard[];
|
@@ -1,8 +1,8 @@
|
|
1
|
+
import type { ChatModelCard } from '@/types/llm';
|
2
|
+
|
1
3
|
import { ModelProvider } from '../types';
|
2
4
|
import { LobeOpenAICompatibleFactory } from '../utils/openaiCompatibleFactory';
|
3
5
|
|
4
|
-
import type { ChatModelCard } from '@/types/llm';
|
5
|
-
|
6
6
|
export interface TencentCloudModelCard {
|
7
7
|
id: string;
|
8
8
|
}
|
@@ -15,32 +15,28 @@ export const LobeTencentCloudAI = LobeOpenAICompatibleFactory({
|
|
15
15
|
models: async ({ client }) => {
|
16
16
|
const { LOBE_DEFAULT_MODEL_LIST } = await import('@/config/aiModels');
|
17
17
|
|
18
|
-
const reasoningKeywords = [
|
19
|
-
'deepseek-r1',
|
20
|
-
];
|
18
|
+
const reasoningKeywords = ['deepseek-r1'];
|
21
19
|
|
22
|
-
const modelsPage = await client.models.list() as any;
|
20
|
+
const modelsPage = (await client.models.list()) as any;
|
23
21
|
const modelList: TencentCloudModelCard[] = modelsPage.data;
|
24
22
|
|
25
23
|
return modelList
|
26
24
|
.map((model) => {
|
27
|
-
const knownModel = LOBE_DEFAULT_MODEL_LIST.find(
|
25
|
+
const knownModel = LOBE_DEFAULT_MODEL_LIST.find(
|
26
|
+
(m) => model.id.toLowerCase() === m.id.toLowerCase(),
|
27
|
+
);
|
28
28
|
|
29
29
|
return {
|
30
30
|
contextWindowTokens: knownModel?.contextWindowTokens ?? undefined,
|
31
31
|
displayName: knownModel?.displayName ?? undefined,
|
32
32
|
enabled: knownModel?.enabled || false,
|
33
|
-
functionCall:
|
34
|
-
knownModel?.abilities?.functionCall
|
35
|
-
|| false,
|
33
|
+
functionCall: knownModel?.abilities?.functionCall || false,
|
36
34
|
id: model.id,
|
37
35
|
reasoning:
|
38
|
-
reasoningKeywords.some(keyword => model.id.toLowerCase().includes(keyword))
|
39
|
-
|
40
|
-
|
41
|
-
vision:
|
42
|
-
knownModel?.abilities?.vision
|
43
|
-
|| false,
|
36
|
+
reasoningKeywords.some((keyword) => model.id.toLowerCase().includes(keyword)) ||
|
37
|
+
knownModel?.abilities?.reasoning ||
|
38
|
+
false,
|
39
|
+
vision: knownModel?.abilities?.vision || false,
|
44
40
|
};
|
45
41
|
})
|
46
42
|
.filter(Boolean) as ChatModelCard[];
|
@@ -58,9 +58,4 @@ function desensitizeCloudflareUrl(url: string): string {
|
|
58
58
|
}
|
59
59
|
}
|
60
60
|
|
61
|
-
export {
|
62
|
-
CloudflareStreamTransformer,
|
63
|
-
DEFAULT_BASE_URL_PREFIX,
|
64
|
-
desensitizeCloudflareUrl,
|
65
|
-
fillUrl,
|
66
|
-
};
|
61
|
+
export { CloudflareStreamTransformer, DEFAULT_BASE_URL_PREFIX, desensitizeCloudflareUrl, fillUrl };
|
@@ -1,8 +1,8 @@
|
|
1
|
+
import type { ChatModelCard } from '@/types/llm';
|
2
|
+
|
1
3
|
import { ModelProvider } from '../types';
|
2
4
|
import { LobeOpenAICompatibleFactory } from '../utils/openaiCompatibleFactory';
|
3
5
|
|
4
|
-
import type { ChatModelCard } from '@/types/llm';
|
5
|
-
|
6
6
|
export interface VLLMModelCard {
|
7
7
|
id: string;
|
8
8
|
}
|
@@ -15,27 +15,23 @@ export const LobeVLLMAI = LobeOpenAICompatibleFactory({
|
|
15
15
|
models: async ({ client }) => {
|
16
16
|
const { LOBE_DEFAULT_MODEL_LIST } = await import('@/config/aiModels');
|
17
17
|
|
18
|
-
const modelsPage = await client.models.list() as any;
|
18
|
+
const modelsPage = (await client.models.list()) as any;
|
19
19
|
const modelList: VLLMModelCard[] = modelsPage.data;
|
20
20
|
|
21
21
|
return modelList
|
22
22
|
.map((model) => {
|
23
|
-
const knownModel = LOBE_DEFAULT_MODEL_LIST.find(
|
23
|
+
const knownModel = LOBE_DEFAULT_MODEL_LIST.find(
|
24
|
+
(m) => model.id.toLowerCase() === m.id.toLowerCase(),
|
25
|
+
);
|
24
26
|
|
25
27
|
return {
|
26
28
|
contextWindowTokens: knownModel?.contextWindowTokens ?? undefined,
|
27
29
|
displayName: knownModel?.displayName ?? undefined,
|
28
30
|
enabled: knownModel?.enabled || false,
|
29
|
-
functionCall:
|
30
|
-
knownModel?.abilities?.functionCall
|
31
|
-
|| false,
|
31
|
+
functionCall: knownModel?.abilities?.functionCall || false,
|
32
32
|
id: model.id,
|
33
|
-
reasoning:
|
34
|
-
|
35
|
-
|| false,
|
36
|
-
vision:
|
37
|
-
knownModel?.abilities?.vision
|
38
|
-
|| false,
|
33
|
+
reasoning: knownModel?.abilities?.reasoning || false,
|
34
|
+
vision: knownModel?.abilities?.vision || false,
|
39
35
|
};
|
40
36
|
})
|
41
37
|
.filter(Boolean) as ChatModelCard[];
|
@@ -33,36 +33,44 @@ describe('LobeWenxinAI', () => {
|
|
33
33
|
it('should with search citations', async () => {
|
34
34
|
const data = [
|
35
35
|
{
|
36
|
-
id:
|
37
|
-
object:
|
36
|
+
id: 'as-bhrxwy5fq1',
|
37
|
+
object: 'chat.completion.chunk',
|
38
38
|
created: 1741000028,
|
39
|
-
model:
|
39
|
+
model: 'ernie-4.0-8k-latest',
|
40
40
|
choices: [
|
41
41
|
{
|
42
42
|
index: 0,
|
43
|
-
delta: { content:
|
44
|
-
flag: 0
|
45
|
-
}
|
43
|
+
delta: { content: '今天是**', role: 'assistant' },
|
44
|
+
flag: 0,
|
45
|
+
},
|
46
46
|
],
|
47
47
|
search_results: [
|
48
|
-
{ index: 1, url:
|
49
|
-
{
|
50
|
-
|
51
|
-
|
48
|
+
{ index: 1, url: 'http://www.mnw.cn/news/shehui/', title: '社会新闻' },
|
49
|
+
{
|
50
|
+
index: 2,
|
51
|
+
url: 'https://www.chinanews.com.cn/sh/2025/03-01/10376297.shtml',
|
52
|
+
title: '中越边民共庆“春龙节”',
|
53
|
+
},
|
54
|
+
{
|
55
|
+
index: 3,
|
56
|
+
url: 'https://www.chinanews.com/china/index.shtml',
|
57
|
+
title: '中国新闻网_时政',
|
58
|
+
},
|
59
|
+
],
|
52
60
|
},
|
53
61
|
{
|
54
|
-
id:
|
55
|
-
object:
|
62
|
+
id: 'as-bhrxwy5fq1',
|
63
|
+
object: 'chat.completion.chunk',
|
56
64
|
created: 1741000028,
|
57
|
-
model:
|
65
|
+
model: 'ernie-4.0-8k-latest',
|
58
66
|
choices: [
|
59
67
|
{
|
60
68
|
index: 0,
|
61
|
-
delta: { content:
|
62
|
-
flag: 0
|
63
|
-
}
|
64
|
-
]
|
65
|
-
}
|
69
|
+
delta: { content: '20' },
|
70
|
+
flag: 0,
|
71
|
+
},
|
72
|
+
],
|
73
|
+
},
|
66
74
|
];
|
67
75
|
|
68
76
|
const mockStream = new ReadableStream({
|
@@ -1,8 +1,8 @@
|
|
1
|
+
import type { ChatModelCard } from '@/types/llm';
|
2
|
+
|
1
3
|
import { ModelProvider } from '../types';
|
2
4
|
import { LobeOpenAICompatibleFactory } from '../utils/openaiCompatibleFactory';
|
3
5
|
|
4
|
-
import type { ChatModelCard } from '@/types/llm';
|
5
|
-
|
6
6
|
export interface XAIModelCard {
|
7
7
|
id: string;
|
8
8
|
}
|
@@ -29,28 +29,26 @@ export const LobeXAI = LobeOpenAICompatibleFactory({
|
|
29
29
|
models: async ({ client }) => {
|
30
30
|
const { LOBE_DEFAULT_MODEL_LIST } = await import('@/config/aiModels');
|
31
31
|
|
32
|
-
const modelsPage = await client.models.list() as any;
|
32
|
+
const modelsPage = (await client.models.list()) as any;
|
33
33
|
const modelList: XAIModelCard[] = modelsPage.data;
|
34
34
|
|
35
35
|
return modelList
|
36
36
|
.map((model) => {
|
37
|
-
const knownModel = LOBE_DEFAULT_MODEL_LIST.find(
|
37
|
+
const knownModel = LOBE_DEFAULT_MODEL_LIST.find(
|
38
|
+
(m) => model.id.toLowerCase() === m.id.toLowerCase(),
|
39
|
+
);
|
38
40
|
|
39
41
|
return {
|
40
42
|
contextWindowTokens: knownModel?.contextWindowTokens ?? undefined,
|
41
43
|
displayName: knownModel?.displayName ?? undefined,
|
42
44
|
enabled: knownModel?.enabled || false,
|
43
|
-
functionCall:
|
44
|
-
knownModel?.abilities?.functionCall
|
45
|
-
|| false,
|
45
|
+
functionCall: knownModel?.abilities?.functionCall || false,
|
46
46
|
id: model.id,
|
47
|
-
reasoning:
|
48
|
-
knownModel?.abilities?.reasoning
|
49
|
-
|| false,
|
47
|
+
reasoning: knownModel?.abilities?.reasoning || false,
|
50
48
|
vision:
|
51
|
-
model.id.toLowerCase().includes('vision')
|
52
|
-
|
53
|
-
|
49
|
+
model.id.toLowerCase().includes('vision') ||
|
50
|
+
knownModel?.abilities?.functionCall ||
|
51
|
+
false,
|
54
52
|
};
|
55
53
|
})
|
56
54
|
.filter(Boolean) as ChatModelCard[];
|
@@ -1,8 +1,8 @@
|
|
1
|
+
import type { ChatModelCard } from '@/types/llm';
|
2
|
+
|
1
3
|
import { ModelProvider } from '../types';
|
2
4
|
import { LobeOpenAICompatibleFactory } from '../utils/openaiCompatibleFactory';
|
3
5
|
|
4
|
-
import type { ChatModelCard } from '@/types/llm';
|
5
|
-
|
6
6
|
export interface XinferenceModelCard {
|
7
7
|
context_length: number;
|
8
8
|
id: string;
|
@@ -20,12 +20,14 @@ export const LobeXinferenceAI = LobeOpenAICompatibleFactory({
|
|
20
20
|
models: async ({ client }) => {
|
21
21
|
const { LOBE_DEFAULT_MODEL_LIST } = await import('@/config/aiModels');
|
22
22
|
|
23
|
-
const modelsPage = await client.models.list() as any;
|
23
|
+
const modelsPage = (await client.models.list()) as any;
|
24
24
|
const modelList: XinferenceModelCard[] = modelsPage.data;
|
25
25
|
|
26
26
|
return modelList
|
27
27
|
.map((model) => {
|
28
|
-
const knownModel = LOBE_DEFAULT_MODEL_LIST.find(
|
28
|
+
const knownModel = LOBE_DEFAULT_MODEL_LIST.find(
|
29
|
+
(m) => model.id.toLowerCase() === m.id.toLowerCase(),
|
30
|
+
);
|
29
31
|
|
30
32
|
return {
|
31
33
|
contextWindowTokens: model.context_length,
|
@@ -33,18 +35,18 @@ export const LobeXinferenceAI = LobeOpenAICompatibleFactory({
|
|
33
35
|
displayName: model.name,
|
34
36
|
enabled: knownModel?.enabled || false,
|
35
37
|
functionCall:
|
36
|
-
(model.model_ability && model.model_ability.includes(
|
37
|
-
|
38
|
-
|
38
|
+
(model.model_ability && model.model_ability.includes('tools')) ||
|
39
|
+
knownModel?.abilities?.functionCall ||
|
40
|
+
false,
|
39
41
|
id: model.id,
|
40
42
|
reasoning:
|
41
|
-
(model.model_ability && model.model_ability.includes(
|
42
|
-
|
43
|
-
|
43
|
+
(model.model_ability && model.model_ability.includes('reasoning')) ||
|
44
|
+
knownModel?.abilities?.reasoning ||
|
45
|
+
false,
|
44
46
|
vision:
|
45
|
-
(model.model_ability && model.model_ability.includes(
|
46
|
-
|
47
|
-
|
47
|
+
(model.model_ability && model.model_ability.includes('vision')) ||
|
48
|
+
knownModel?.abilities?.vision ||
|
49
|
+
false,
|
48
50
|
};
|
49
51
|
})
|
50
52
|
.filter(Boolean) as ChatModelCard[];
|
@@ -1,8 +1,8 @@
|
|
1
|
+
import type { ChatModelCard } from '@/types/llm';
|
2
|
+
|
1
3
|
import { ModelProvider } from '../types';
|
2
4
|
import { LobeOpenAICompatibleFactory } from '../utils/openaiCompatibleFactory';
|
3
5
|
|
4
|
-
import type { ChatModelCard } from '@/types/llm';
|
5
|
-
|
6
6
|
export interface ZeroOneModelCard {
|
7
7
|
id: string;
|
8
8
|
}
|
@@ -15,29 +15,25 @@ export const LobeZeroOneAI = LobeOpenAICompatibleFactory({
|
|
15
15
|
models: async ({ client }) => {
|
16
16
|
const { LOBE_DEFAULT_MODEL_LIST } = await import('@/config/aiModels');
|
17
17
|
|
18
|
-
const modelsPage = await client.models.list() as any;
|
18
|
+
const modelsPage = (await client.models.list()) as any;
|
19
19
|
const modelList: ZeroOneModelCard[] = modelsPage.data;
|
20
20
|
|
21
21
|
return modelList
|
22
22
|
.map((model) => {
|
23
|
-
const knownModel = LOBE_DEFAULT_MODEL_LIST.find(
|
23
|
+
const knownModel = LOBE_DEFAULT_MODEL_LIST.find(
|
24
|
+
(m) => model.id.toLowerCase() === m.id.toLowerCase(),
|
25
|
+
);
|
24
26
|
|
25
27
|
return {
|
26
28
|
contextWindowTokens: knownModel?.contextWindowTokens ?? undefined,
|
27
29
|
displayName: knownModel?.displayName ?? undefined,
|
28
30
|
enabled: knownModel?.enabled || false,
|
29
31
|
functionCall:
|
30
|
-
model.id.toLowerCase().includes('fc')
|
31
|
-
|| knownModel?.abilities?.functionCall
|
32
|
-
|| false,
|
32
|
+
model.id.toLowerCase().includes('fc') || knownModel?.abilities?.functionCall || false,
|
33
33
|
id: model.id,
|
34
|
-
reasoning:
|
35
|
-
knownModel?.abilities?.reasoning
|
36
|
-
|| false,
|
34
|
+
reasoning: knownModel?.abilities?.reasoning || false,
|
37
35
|
vision:
|
38
|
-
model.id.toLowerCase().includes('vision')
|
39
|
-
|| knownModel?.abilities?.vision
|
40
|
-
|| false,
|
36
|
+
model.id.toLowerCase().includes('vision') || knownModel?.abilities?.vision || false,
|
41
37
|
};
|
42
38
|
})
|
43
39
|
.filter(Boolean) as ChatModelCard[];
|
@@ -1,8 +1,8 @@
|
|
1
|
+
import type { ChatModelCard } from '@/types/llm';
|
2
|
+
|
1
3
|
import { ModelProvider } from '../types';
|
2
4
|
import { LobeOpenAICompatibleFactory } from '../utils/openaiCompatibleFactory';
|
3
5
|
|
4
|
-
import type { ChatModelCard } from '@/types/llm';
|
5
|
-
|
6
6
|
export interface ZhipuModelCard {
|
7
7
|
description: string;
|
8
8
|
modelCode: string;
|
@@ -15,23 +15,26 @@ export const LobeZhipuAI = LobeOpenAICompatibleFactory({
|
|
15
15
|
handlePayload: (payload) => {
|
16
16
|
const { enabledSearch, max_tokens, model, temperature, tools, top_p, ...rest } = payload;
|
17
17
|
|
18
|
-
const zhipuTools = enabledSearch
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
18
|
+
const zhipuTools = enabledSearch
|
19
|
+
? [
|
20
|
+
...(tools || []),
|
21
|
+
{
|
22
|
+
type: 'web_search',
|
23
|
+
web_search: {
|
24
|
+
enable: true,
|
25
|
+
},
|
26
|
+
},
|
27
|
+
]
|
28
|
+
: tools;
|
27
29
|
|
28
30
|
return {
|
29
31
|
...rest,
|
30
|
-
max_tokens:
|
31
|
-
max_tokens === undefined
|
32
|
-
|
33
|
-
|
34
|
-
|
32
|
+
max_tokens:
|
33
|
+
max_tokens === undefined
|
34
|
+
? undefined
|
35
|
+
: (model.includes('glm-4v') && Math.min(max_tokens, 1024)) ||
|
36
|
+
(model === 'glm-zero-preview' && Math.min(max_tokens, 15_300)) ||
|
37
|
+
max_tokens,
|
35
38
|
model,
|
36
39
|
stream: true,
|
37
40
|
tools: zhipuTools,
|
@@ -56,10 +59,7 @@ export const LobeZhipuAI = LobeOpenAICompatibleFactory({
|
|
56
59
|
models: async ({ client }) => {
|
57
60
|
const { LOBE_DEFAULT_MODEL_LIST } = await import('@/config/aiModels');
|
58
61
|
|
59
|
-
const reasoningKeywords = [
|
60
|
-
'glm-zero',
|
61
|
-
'glm-z1',
|
62
|
-
];
|
62
|
+
const reasoningKeywords = ['glm-zero', 'glm-z1'];
|
63
63
|
|
64
64
|
// ref: https://open.bigmodel.cn/console/modelcenter/square
|
65
65
|
const url = 'https://open.bigmodel.cn/api/fine-tuning/model_center/list?pageSize=100&pageNum=1';
|
@@ -77,7 +77,9 @@ export const LobeZhipuAI = LobeOpenAICompatibleFactory({
|
|
77
77
|
|
78
78
|
return modelList
|
79
79
|
.map((model) => {
|
80
|
-
const knownModel = LOBE_DEFAULT_MODEL_LIST.find(
|
80
|
+
const knownModel = LOBE_DEFAULT_MODEL_LIST.find(
|
81
|
+
(m) => model.modelCode.toLowerCase() === m.id.toLowerCase(),
|
82
|
+
);
|
81
83
|
|
82
84
|
return {
|
83
85
|
contextWindowTokens: knownModel?.contextWindowTokens ?? undefined,
|
@@ -85,18 +87,19 @@ export const LobeZhipuAI = LobeOpenAICompatibleFactory({
|
|
85
87
|
displayName: model.modelName,
|
86
88
|
enabled: knownModel?.enabled || false,
|
87
89
|
functionCall:
|
88
|
-
model.modelCode.toLowerCase().includes('glm-4') &&
|
89
|
-
|
90
|
-
||
|
90
|
+
(model.modelCode.toLowerCase().includes('glm-4') &&
|
91
|
+
!model.modelCode.toLowerCase().includes('glm-4v')) ||
|
92
|
+
knownModel?.abilities?.functionCall ||
|
93
|
+
false,
|
91
94
|
id: model.modelCode,
|
92
95
|
reasoning:
|
93
|
-
reasoningKeywords.some(keyword => model.modelCode.toLowerCase().includes(keyword))
|
94
|
-
|
95
|
-
|
96
|
+
reasoningKeywords.some((keyword) => model.modelCode.toLowerCase().includes(keyword)) ||
|
97
|
+
knownModel?.abilities?.reasoning ||
|
98
|
+
false,
|
96
99
|
vision:
|
97
|
-
model.modelCode.toLowerCase().includes('glm-4v')
|
98
|
-
|
99
|
-
|
100
|
+
model.modelCode.toLowerCase().includes('glm-4v') ||
|
101
|
+
knownModel?.abilities?.vision ||
|
102
|
+
false,
|
100
103
|
};
|
101
104
|
})
|
102
105
|
.filter(Boolean) as ChatModelCard[];
|
@@ -1,8 +1,10 @@
|
|
1
1
|
import { EPubLoader as Loader } from '@langchain/community/document_loaders/fs/epub';
|
2
2
|
import { RecursiveCharacterTextSplitter } from 'langchain/text_splitter';
|
3
|
-
|
3
|
+
|
4
4
|
import { TempFileManager } from '@/server/utils/tempFileManager';
|
5
5
|
|
6
|
+
import { loaderConfig } from '../config';
|
7
|
+
|
6
8
|
export const EPubLoader = async (content: Uint8Array) => {
|
7
9
|
const tempManager = new TempFileManager();
|
8
10
|
try {
|
@@ -17,5 +19,4 @@ export const EPubLoader = async (content: Uint8Array) => {
|
|
17
19
|
} finally {
|
18
20
|
tempManager.cleanup(); // 确保清理
|
19
21
|
}
|
20
|
-
|
21
22
|
};
|