diff --git a/DynamicIsland/components/ScreenAssistant/ModelSelectionPanel.swift b/DynamicIsland/components/ScreenAssistant/ModelSelectionPanel.swift index f369a38..a9f7758 100644 --- a/DynamicIsland/components/ScreenAssistant/ModelSelectionPanel.swift +++ b/DynamicIsland/components/ScreenAssistant/ModelSelectionPanel.swift @@ -117,6 +117,7 @@ class ModelSelectionPanel: NSPanel { // MARK: - Model Selection View struct ModelSelectionView: View { + private let primaryProviders: [AIModelProvider] = [.gemini, .openai, .claude, .local] @State private var selectedProvider: AIModelProvider = Defaults[.selectedAIProvider] @State private var selectedModel: AIModel? = Defaults[.selectedAIModel] @State private var enableThinking: Bool = Defaults[.enableThinkingMode] @@ -171,7 +172,7 @@ struct ModelSelectionView: View { .foregroundColor(.primary) LazyVGrid(columns: Array(repeating: GridItem(.flexible()), count: 2), spacing: 12) { - ForEach(AIModelProvider.allCases.filter { $0 != .groq }) { provider in + ForEach(primaryProviders) { provider in ProviderCard( provider: provider, isSelected: selectedProvider == provider, diff --git a/DynamicIsland/managers/ScreenAssistantManager.swift b/DynamicIsland/managers/ScreenAssistantManager.swift index d6fe4e0..f7f9b06 100644 --- a/DynamicIsland/managers/ScreenAssistantManager.swift +++ b/DynamicIsland/managers/ScreenAssistantManager.swift @@ -459,9 +459,9 @@ class ScreenAssistantManager: NSObject, ObservableObject { // Get selected model or default to llama-3.3-70b-versatile let selectedModel = Defaults[.selectedAIModel] - let modelId = AIModelProvider.groq.supportedModels.contains(where: { $0.id == selectedModel?.id }) - ? selectedModel!.id - : "llama-3.3-70b-versatile" + let modelId = selectedModel?.id.flatMap { selectedId in + AIModelProvider.groq.supportedModels.contains(where: { $0.id == selectedId }) ? selectedId : nil + } ?? "llama-3.3-70b-versatile" guard let url = URL(string: "https://api.groq.com/openai/v1/chat/completions") else { print("❌ ScreenAssistant: Invalid Groq API URL")