+ {/* Sub-Tabs Pill Strip */}
+
+
+
+
+
+
+ {/* MCPs Sub-Tab */}
+
+
+
+
+ {language.t("settings.extensions.availableAll")}
+
+ {language.t("settings.extensions.manageConfig")}
+
+
+
+ {(item) => (
+
+
+
+ {item.name}
+
+
handleMcpToggle(item, checked)}
+ hideLabel
+ >
+ {item.name}
+
+
+ )}
+
+
+
+
+
+ {/* Plugins Sub-Tab */}
+
+
+
+
+ {language.t("settings.extensions.availableAll")}
+
+ {language.t("settings.extensions.manageConfig")}
+
+
+
+ {(plugin) => (
+
+ )}
+
+
+
+
+
+ {/* Skills Sub-Tab */}
+
+
+
+
+ {language.t("settings.extensions.availableAll")}
+
+
+ {language.t("settings.extensions.addSkills")}
+
+
+
+
+ {(skill) => (
+
+ )}
+
+
+
+
+
+ >
+ )
+}
diff --git a/packages/app/src/components/settings-v2/index.tsx b/packages/app/src/components/settings-v2/index.tsx
index 8ff58843798..cbece20af6e 100644
--- a/packages/app/src/components/settings-v2/index.tsx
+++ b/packages/app/src/components/settings-v2/index.tsx
@@ -1 +1,9 @@
export { DialogSettings } from "./dialog-settings-v2"
+export { SettingsGeneralV2 } from "./general"
+export { SettingsAppearanceV2 } from "./appearance"
+export { SettingsNotificationsV2 } from "./notifications"
+export { SettingsProvidersV2 } from "./providers"
+export { SettingsModelsV2 } from "./models"
+export { SettingsServersV2 } from "./servers"
+export { SettingsProjectsV2 } from "./projects"
+export { SettingsExtensionsV2 } from "./extensions"
diff --git a/packages/app/src/components/settings-v2/models.tsx b/packages/app/src/components/settings-v2/models.tsx
index 482e8cbffbd..b43ff6ef345 100644
--- a/packages/app/src/components/settings-v2/models.tsx
+++ b/packages/app/src/components/settings-v2/models.tsx
@@ -4,13 +4,15 @@ import { Switch } from "@opencode-ai/ui/v2/switch-v2"
import { Icon as IconV2 } from "@opencode-ai/ui/v2/icon"
import { IconButtonV2 } from "@opencode-ai/ui/v2/icon-button-v2"
import { TextInputV2 } from "@opencode-ai/ui/v2/text-input-v2"
-import { type Component, For, Show } from "solid-js"
+import { type Component, For, Show, createSignal } from "solid-js"
import { createStore } from "solid-js/store"
import { useLanguage } from "@/context/language"
import { useModels } from "@/context/models"
import { useServerSDK } from "@/context/server-sdk"
+import { ServerConnection, useServer } from "@/context/server"
import { popularProviders } from "@/hooks/use-providers"
import { Persist, persisted } from "@/utils/persist"
+import { InlineServerSelect } from "./parts/server-select"
import { SettingsListV2 } from "./parts/list"
import { SettingsRowV2 } from "./parts/row"
import "./settings-v2.css"
@@ -22,7 +24,9 @@ const PROVIDER_ICON_SIZE = 16
export const SettingsModelsV2: Component = () => {
const language = useLanguage()
const models = useModels()
+ const server = useServer()
const serverSdk = useServerSDK()
+ const [selectedServer, setSelectedServer] = createSignal