fix: auto update assistant model
This commit is contained in:
parent
e765bf9828
commit
603b867a5f
@ -149,9 +149,9 @@ const Assistants: FC<Props> = ({
|
|||||||
<AssistantItem onClick={() => onSwitchAssistant(assistant)} className={isCurrent ? 'active' : ''}>
|
<AssistantItem onClick={() => onSwitchAssistant(assistant)} className={isCurrent ? 'active' : ''}>
|
||||||
<AssistantName className="name">{assistant.name || t('chat.default.name')}</AssistantName>
|
<AssistantName className="name">{assistant.name || t('chat.default.name')}</AssistantName>
|
||||||
{isCurrent && (
|
{isCurrent && (
|
||||||
<ArrowRightButton onClick={() => EventEmitter.emit(EVENT_NAMES.SWITCH_TOPIC_SIDEBAR)}>
|
<MenuButton onClick={() => EventEmitter.emit(EVENT_NAMES.SWITCH_TOPIC_SIDEBAR)}>
|
||||||
<TopicCount className="topics-count">{assistant.topics.length}</TopicCount>
|
<TopicCount className="topics-count">{assistant.topics.length}</TopicCount>
|
||||||
</ArrowRightButton>
|
</MenuButton>
|
||||||
)}
|
)}
|
||||||
</AssistantItem>
|
</AssistantItem>
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
@ -213,12 +213,12 @@ const AssistantName = styled.div`
|
|||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
`
|
`
|
||||||
|
|
||||||
const ArrowRightButton = styled.div`
|
const MenuButton = styled.div`
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 22px;
|
min-width: 22px;
|
||||||
height: 22px;
|
height: 22px;
|
||||||
min-width: 22px;
|
min-width: 22px;
|
||||||
min-height: 22px;
|
min-height: 22px;
|
||||||
|
|||||||
@ -11,10 +11,13 @@ import VisionIcon from '@renderer/components/Icons/VisionIcon'
|
|||||||
import { getModelLogo, isVisionModel, VISION_REGEX } from '@renderer/config/models'
|
import { getModelLogo, isVisionModel, VISION_REGEX } from '@renderer/config/models'
|
||||||
import { PROVIDER_CONFIG } from '@renderer/config/providers'
|
import { PROVIDER_CONFIG } from '@renderer/config/providers'
|
||||||
import { useTheme } from '@renderer/context/ThemeProvider'
|
import { useTheme } from '@renderer/context/ThemeProvider'
|
||||||
|
import { useAssistants } from '@renderer/hooks/useAssistant'
|
||||||
import { useProvider } from '@renderer/hooks/useProvider'
|
import { useProvider } from '@renderer/hooks/useProvider'
|
||||||
import i18n from '@renderer/i18n'
|
import i18n from '@renderer/i18n'
|
||||||
import { isOpenAIProvider } from '@renderer/providers/ProviderFactory'
|
import { isOpenAIProvider } from '@renderer/providers/ProviderFactory'
|
||||||
import { checkApi } from '@renderer/services/ApiService'
|
import { checkApi } from '@renderer/services/ApiService'
|
||||||
|
import { useAppDispatch } from '@renderer/store'
|
||||||
|
import { setModel } from '@renderer/store/assistants'
|
||||||
import { Model, ModelType, Provider } from '@renderer/types'
|
import { Model, ModelType, Provider } from '@renderer/types'
|
||||||
import { Avatar, Button, Card, Checkbox, Divider, Flex, Input, Popover, Space, Switch } from 'antd'
|
import { Avatar, Button, Card, Checkbox, Divider, Flex, Input, Popover, Space, Switch } from 'antd'
|
||||||
import Link from 'antd/es/typography/Link'
|
import Link from 'antd/es/typography/Link'
|
||||||
@ -49,8 +52,10 @@ const ProviderSetting: FC<Props> = ({ provider: _provider }) => {
|
|||||||
const [apiValid, setApiValid] = useState(false)
|
const [apiValid, setApiValid] = useState(false)
|
||||||
const [apiChecking, setApiChecking] = useState(false)
|
const [apiChecking, setApiChecking] = useState(false)
|
||||||
const { updateProvider, models, removeModel } = useProvider(provider.id)
|
const { updateProvider, models, removeModel } = useProvider(provider.id)
|
||||||
|
const { assistants } = useAssistants()
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
const { theme } = useTheme()
|
const { theme } = useTheme()
|
||||||
|
const dispatch = useAppDispatch()
|
||||||
|
|
||||||
const modelGroups = groupBy(models, 'group')
|
const modelGroups = groupBy(models, 'group')
|
||||||
|
|
||||||
@ -133,7 +138,19 @@ const ProviderSetting: FC<Props> = ({ provider: _provider }) => {
|
|||||||
}
|
}
|
||||||
return m
|
return m
|
||||||
})
|
})
|
||||||
|
|
||||||
updateProvider({ ...provider, models: updatedModels })
|
updateProvider({ ...provider, models: updatedModels })
|
||||||
|
|
||||||
|
assistants.forEach((assistant) => {
|
||||||
|
if (assistant?.model?.id === model.id && assistant.model.provider === provider.id) {
|
||||||
|
dispatch(
|
||||||
|
setModel({
|
||||||
|
assistantId: assistant.id,
|
||||||
|
model: { ...model, type: types }
|
||||||
|
})
|
||||||
|
)
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const modelTypeContent = (model: Model) => (
|
const modelTypeContent = (model: Model) => (
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user