diff --git a/packages/app/src/settings/models/models.tsx b/packages/app/src/settings/models/models.tsx
index 7c6b5aa47bac..11b81bf8f473 100644
--- a/packages/app/src/settings/models/models.tsx
+++ b/packages/app/src/settings/models/models.tsx
@@ -69,6 +69,12 @@ export const SettingsModels: Component<{
const searching = () => list.filter().length > 0
const expanded = (key: string) => searching() || !store.collapsed[key]
+ const providerVisible = (providerID: string) =>
+ models
+ .list()
+ .filter((item) => item.provider.id === providerID)
+ .every((item) => models.visible({ providerID, modelID: item.id }))
+
const setProviderVisibility = (providerID: string, visible: boolean) =>
models
.list()
@@ -186,6 +192,16 @@ export const SettingsModels: Component<{
onExpandedChange={(key, value) => setStore("collapsed", key, !value)}
onSetVisibility={setProviderVisibility}
ref={(providerID, element) => sections.set(providerID, element)}
+ action={(group) => (
+ setProviderVisibility(group.category, checked)}
+ hideLabel
+ >
+ {group.items[0].provider.name}
+
+ )}
rows={(items) => }
/>