diff --git a/src/components/settings/SettingsModal.tsx b/src/components/settings/SettingsModal.tsx
index 86a12c2..462f5ec 100644
--- a/src/components/settings/SettingsModal.tsx
+++ b/src/components/settings/SettingsModal.tsx
@@ -3,12 +3,13 @@
*/
import { useState, useEffect, useCallback } from 'react';
-import { Dialog, DialogContent, DialogTitle, Button, TextField, Select, MenuItem, Tabs, Tab, Checkbox, Box, Typography, Stack, Divider, FormControlLabel, InputLabel, FormControl, IconButton, Chip, Switch, Alert, CircularProgress } from '@mui/material';
+import { Dialog, DialogContent, DialogTitle, DialogActions, Button, TextField, Select, MenuItem, Tabs, Tab, Checkbox, Box, Typography, Stack, Divider, FormControlLabel, InputLabel, FormControl, IconButton, Chip, Switch, Alert, CircularProgress } from '@mui/material';
import { alpha } from '@mui/material/styles';
import { X, Settings, Bot, Wrench, Server, Palette, FileText, Eye, EyeOff, FolderOpen, Globe } from 'lucide-react';
import { useUIStore, type ThemeMode } from '@renderer/stores/ui-store';
import { useAgentStore } from '@renderer/stores/agent-store';
import { PROVIDER_LABELS } from '@renderer/lib/constants';
+import { ErrorBoundary } from '@renderer/components/common/ErrorBoundary';
type SettingsTab = 'workspace' | 'llm' | 'agent' | 'tools' | 'mcp' | 'searxng' | 'appearance' | 'logs';
const TABS: { id: SettingsTab; label: string; icon: typeof Settings }[] = [
@@ -48,14 +49,30 @@ export function SettingsModal(): React.JSX.Element | null {
{TABS.map((t) => } iconPosition="start" />)}
- {tab === 'workspace' && }
- {tab === 'llm' && }
- {tab === 'agent' && }
- {tab === 'tools' && }
- {tab === 'mcp' && }
- {tab === 'searxng' && }
- {tab === 'appearance' && }
- {tab === 'logs' && }
+
+ {tab === 'workspace' && }
+
+
+ {tab === 'llm' && }
+
+
+ {tab === 'agent' && }
+
+
+ {tab === 'tools' && }
+
+
+ {tab === 'mcp' && }
+
+
+ {tab === 'searxng' && }
+
+
+ {tab === 'appearance' && }
+
+
+ {tab === 'logs' && }
+