diff --git a/src/modules/llms/models-modal/ModelsList.tsx b/src/modules/llms/models-modal/ModelsList.tsx index 2d037d95d..2ce3593d9 100644 --- a/src/modules/llms/models-modal/ModelsList.tsx +++ b/src/modules/llms/models-modal/ModelsList.tsx @@ -39,8 +39,12 @@ function ModelItem(props: { const handleLLMConfigure = React.useCallback((event: React.MouseEvent) => { event.stopPropagation(); + if (event.shiftKey) { + console.log('llm', llm); + return; + } onModelClicked(llm.id); - }, [llm.id, onModelClicked]); + }, [llm, onModelClicked]); const handleLLMHide = React.useCallback((event: React.MouseEvent) => { event.stopPropagation(); @@ -150,7 +154,6 @@ export function ModelsList(props: { }) { // external state - const { updateLLM } = llmsStoreActions(); const { chatLLMId, fastLLMId, funcLLMId } = useDefaultLLMIDs(); const llms = useFilteredLLMs(props.filterServiceId === null ? false : props.filterServiceId); @@ -158,7 +161,7 @@ export function ModelsList(props: { const handleModelClicked = React.useCallback((llmId: DLLMId) => onOpenLLMOptions(llmId), [onOpenLLMOptions]); - const handleModelSetHidden = React.useCallback((llmId: DLLMId, hidden: boolean) => updateLLM(llmId, { hidden }), [updateLLM]); + const handleModelSetHidden = React.useCallback((llmId: DLLMId, hidden: boolean) => llmsStoreActions().updateLLM(llmId, { hidden }), []); // are we showing multiple services diff --git a/src/modules/llms/models-modal/ModelsModal.tsx b/src/modules/llms/models-modal/ModelsModal.tsx index 9fd6d033d..6d3d6060c 100644 --- a/src/modules/llms/models-modal/ModelsModal.tsx +++ b/src/modules/llms/models-modal/ModelsModal.tsx @@ -67,7 +67,8 @@ export function ModelsModal(props: { suspendAutoModelsSetup?: boolean }) { title={<>Configure AI Models} startButton={ multiService ? setShowAllServices(all => !all)} /> : undefined } diff --git a/src/modules/llms/vendors/useServiceSetup.ts b/src/modules/llms/vendors/useServiceSetup.ts index 9ae86080c..822c6d668 100644 --- a/src/modules/llms/vendors/useServiceSetup.ts +++ b/src/modules/llms/vendors/useServiceSetup.ts @@ -28,14 +28,14 @@ export function useServiceSetup { + const { updateServiceSettings, ...rest } = useModelsStore(useShallow(({ llms, sources, updateServiceSettings }) => { // find the service | null - const service: DModelsService | null = state.sources.find(s => s.id === serviceId) ?? null; + const service: DModelsService | null = sources.find(s => s.id === serviceId) ?? null; // (safe) service-derived properties const serviceSetupValid = (service?.setup && vendor?.validateSetup) ? vendor.validateSetup(service.setup as TServiceSettings) : false; - const serviceLLms = service ? state.llms.filter(llm => llm.sId === serviceId) : stableNoLlms; + const serviceLLms = service ? llms.filter(llm => llm.sId === serviceId) : stableNoLlms; const serviceAccess = vendor.getTransportAccess(service?.setup); return { @@ -48,7 +48,7 @@ export function useServiceSetup