mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-04 20:00:00 +08:00
Merge branch 'main' of github.com:CherryHQ/cherry-studio into v2
This commit is contained in:
commit
7145a1ded3
@ -1089,7 +1089,7 @@ export const PROVIDER_URLS: Record<SystemProviderId, ProviderUrls> = {
|
||||
websites: {
|
||||
official: 'https://platform.minimaxi.com/',
|
||||
apiKey: 'https://platform.minimaxi.com/user-center/basic-information/interface-key',
|
||||
docs: 'https://platform.minimaxi.com/document/Announcement',
|
||||
docs: 'https://platform.minimaxi.com/docs/api-reference/text-openai-api',
|
||||
models: 'https://platform.minimaxi.com/document/Models'
|
||||
}
|
||||
},
|
||||
|
||||
@ -13,7 +13,6 @@ import { useAppDispatch } from '@renderer/store'
|
||||
import { useAppSelector } from '@renderer/store'
|
||||
import { handleSaveData } from '@renderer/store'
|
||||
import { selectMemoryConfig } from '@renderer/store/memory'
|
||||
import { setIsOvmsSupported } from '@renderer/store/runtime'
|
||||
import {
|
||||
type ToolPermissionRequestPayload,
|
||||
type ToolPermissionResultPayload,
|
||||
@ -275,17 +274,4 @@ export function useAppInit() {
|
||||
useEffect(() => {
|
||||
checkDataLimit()
|
||||
}, [])
|
||||
|
||||
useEffect(() => {
|
||||
// Check once when initing
|
||||
window.api.ovms
|
||||
.isSupported()
|
||||
.then((result) => {
|
||||
dispatch(setIsOvmsSupported(result))
|
||||
})
|
||||
.catch((e) => {
|
||||
logger.error('Failed to check isOvmsSupported. Fallback to false.', e as Error)
|
||||
dispatch(setIsOvmsSupported(false))
|
||||
})
|
||||
}, [dispatch])
|
||||
}
|
||||
|
||||
@ -9,7 +9,6 @@ import {
|
||||
import { DeleteIcon, EditIcon } from '@renderer/components/Icons'
|
||||
import { ProviderAvatar } from '@renderer/components/ProviderAvatar'
|
||||
import { useAllProviders, useProviders } from '@renderer/hooks/useProvider'
|
||||
import { useRuntime } from '@renderer/hooks/useRuntime'
|
||||
import { useTimer } from '@renderer/hooks/useTimer'
|
||||
import ImageStorage from '@renderer/services/ImageStorage'
|
||||
import type { Provider, ProviderType } from '@renderer/types'
|
||||
@ -23,6 +22,7 @@ import { startTransition, useCallback, useEffect, useRef, useState } from 'react
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import { useSearchParams } from 'react-router-dom'
|
||||
import styled from 'styled-components'
|
||||
import useSWRImmutable from 'swr/immutable'
|
||||
|
||||
import AddProviderPopup from './AddProviderPopup'
|
||||
import ModelNotesPopup from './ModelNotesPopup'
|
||||
@ -33,6 +33,16 @@ const logger = loggerService.withContext('ProviderList')
|
||||
|
||||
const BUTTON_WRAPPER_HEIGHT = 50
|
||||
|
||||
const getIsOvmsSupported = async (): Promise<boolean> => {
|
||||
try {
|
||||
const result = await window.api.ovms.isSupported()
|
||||
return result
|
||||
} catch (e) {
|
||||
logger.warn('Fetching isOvmsSupported failed. Fallback to false.', e as Error)
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
const ProviderList: FC = () => {
|
||||
const [searchParams, setSearchParams] = useSearchParams()
|
||||
const providers = useAllProviders()
|
||||
@ -44,7 +54,8 @@ const ProviderList: FC = () => {
|
||||
const [dragging, setDragging] = useState(false)
|
||||
const [providerLogos, setProviderLogos] = useState<Record<string, string>>({})
|
||||
const listRef = useRef<DraggableVirtualListRef>(null)
|
||||
const { isOvmsSupported } = useRuntime()
|
||||
|
||||
const { data: isOvmsSupported } = useSWRImmutable('ovms/isSupported', getIsOvmsSupported)
|
||||
|
||||
const setSelectedProvider = useCallback((provider: Provider) => {
|
||||
startTransition(() => _setSelectedProvider(provider))
|
||||
@ -279,6 +290,7 @@ const ProviderList: FC = () => {
|
||||
}
|
||||
|
||||
const filteredProviders = providers.filter((provider) => {
|
||||
// don't show it when isOvmsSupported is loading
|
||||
if (provider.id === 'ovms' && !isOvmsSupported) {
|
||||
return false
|
||||
}
|
||||
|
||||
@ -72,7 +72,6 @@ export interface RuntimeState {
|
||||
// chat: ChatState
|
||||
// websearch: WebSearchState
|
||||
placeHolder: string
|
||||
isOvmsSupported: boolean | undefined
|
||||
}
|
||||
|
||||
// export interface ExportState {
|
||||
@ -116,8 +115,7 @@ const initialState: RuntimeState = {
|
||||
// websearch: {
|
||||
// activeSearches: {}
|
||||
// },
|
||||
placeHolder: '',
|
||||
isOvmsSupported: undefined
|
||||
placeHolder: ''
|
||||
}
|
||||
|
||||
const runtimeSlice = createSlice({
|
||||
@ -163,9 +161,6 @@ const runtimeSlice = createSlice({
|
||||
// setExportState: (state, action: PayloadAction<Partial<ExportState>>) => {
|
||||
// state.export = { ...state.export, ...action.payload }
|
||||
// },
|
||||
setIsOvmsSupported: (state, action: PayloadAction<boolean>) => {
|
||||
state.isOvmsSupported = action.payload
|
||||
},
|
||||
// // Chat related actions
|
||||
// toggleMultiSelectMode: (state, action: PayloadAction<boolean>) => {
|
||||
// state.chat.isMultiSelectMode = action.payload
|
||||
@ -232,7 +227,6 @@ export const {
|
||||
// setResourcesPath,
|
||||
// setUpdateState,
|
||||
// setExportState,
|
||||
setIsOvmsSupported,
|
||||
// // Chat related actions
|
||||
// toggleMultiSelectMode,
|
||||
// setSelectedMessageIds,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user