diff --git a/client/src/components/Nav/NewChat.tsx b/client/src/components/Nav/NewChat.tsx index 9e5af18b23..36c66779ee 100644 --- a/client/src/components/Nav/NewChat.tsx +++ b/client/src/components/Nav/NewChat.tsx @@ -3,11 +3,11 @@ import { useRecoilValue } from 'recoil'; import { useNavigate } from 'react-router-dom'; import { useQueryClient } from '@tanstack/react-query'; import { QueryKeys, Constants } from 'librechat-data-provider'; -import type { TMessage } from 'librechat-data-provider'; +import type { TMessage, TStartupConfig } from 'librechat-data-provider'; +import { createChatSearchParams, getDefaultModelSpec, getModelSpecPreset } from '~/utils'; import { NewChatIcon, MobileSidebar, Sidebar } from '~/components/svg'; import { TooltipAnchor, Button } from '~/components/ui'; import { useLocalize, useNewConvo } from '~/hooks'; -import { createChatSearchParams } from '~/utils'; import store from '~/store'; export default function NewChat({ @@ -28,15 +28,18 @@ export default function NewChat({ const { newConversation: newConvo } = useNewConvo(index); const navigate = useNavigate(); const localize = useLocalize(); - const { conversation } = store.useCreateConversationAtom(index); const defaultPreset = useRecoilValue(store.defaultPreset); + const { conversation } = store.useCreateConversationAtom(index); const clickHandler = useCallback(() => { queryClient.setQueryData( [QueryKeys.messages, conversation?.conversationId ?? Constants.NEW_CONVO], [], ); - const params = createChatSearchParams(defaultPreset ?? conversation); + const startupConfig = queryClient.getQueryData([QueryKeys.startupConfig]); + const defaultSpec = getDefaultModelSpec(startupConfig); + const preset = defaultSpec != null ? getModelSpecPreset(defaultSpec) : defaultPreset; + const params = createChatSearchParams(preset ?? conversation); const newRoute = params.size > 0 ? `/c/new?${params.toString()}` : '/c/new'; newConvo(); diff --git a/client/src/utils/createChatSearchParams.ts b/client/src/utils/createChatSearchParams.ts index 8ec601e569..a25ce284cf 100644 --- a/client/src/utils/createChatSearchParams.ts +++ b/client/src/utils/createChatSearchParams.ts @@ -40,7 +40,9 @@ export default function createChatSearchParams( const conversation = input as TConversation | TPreset; const endpoint = conversation.endpoint; - + if (conversation.spec) { + return new URLSearchParams({ spec: conversation.spec }); + } if ( isAgentsEndpoint(endpoint) && conversation.agent_id &&