diff --git a/components/ConfigManager.vue b/components/ConfigManager.vue
index 2e01328..5d49f02 100644
--- a/components/ConfigManager.vue
+++ b/components/ConfigManager.vue
@@ -21,6 +21,19 @@
/** If loading AI models failed, use a plain input to improve UX */
const isLoadAiModelsFailed = ref(false)
+ const activeSections = ref(['0', '1'])
+ const settingSections = computed(() => [
+ {
+ label: t('settings.ai.provider'),
+ icon: 'i-lucide-bot',
+ slot: 'ai',
+ },
+ {
+ label: t('settings.webSearch.provider'),
+ icon: 'i-lucide-search',
+ slot: 'web-search',
+ },
+ ])
const aiProviderOptions = computed(() => [
{
label: t('settings.ai.providers.openaiCompatible.title'),
@@ -170,183 +183,198 @@
-
+
- {{ $t('settings.ai.provider') }}
-
-
-
+
+
+
+
+
+ {{
+ selectedAiProvider.linkText || selectedAiProvider.link
+ }}
+
+
+
+
+
+
-
- {{ selectedAiProvider.linkText || selectedAiProvider.link }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $t('settings.ai.contextSizeHelp') }}
-
-
- tokens
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('settings.ai.contextSizeHelp') }}
+
+
+ tokens
+
+
+
- {{ $t('settings.webSearch.provider') }}
-
-
-
+
+
+
+
+
+ {{ selectedWebSearchProvider.link }}
+
+
+
+
+
+
-
- {{ selectedWebSearchProvider.link }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $t('settings.webSearch.concurrencyLimitHelp') }}
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('settings.webSearch.concurrencyLimitHelp') }}
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
+