mirror of
https://github.com/browseros-ai/BrowserOS.git
synced 2026-05-14 08:03:58 +00:00
Compare commits
3 Commits
multi-tab-
...
feat/defau
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f69b698834 | ||
|
|
1770db2433 | ||
|
|
91ba874a07 |
@@ -23,6 +23,7 @@ import {
|
||||
import { formatConversationHistory } from '@/lib/conversations/formatConversationHistory'
|
||||
import { declinedAppsStorage } from '@/lib/declined-apps/storage'
|
||||
import { useGraphqlQuery } from '@/lib/graphql/useGraphqlQuery'
|
||||
import { createDefaultBrowserOSProvider } from '@/lib/llm-providers/storage'
|
||||
import { useLlmProviders } from '@/lib/llm-providers/useLlmProviders'
|
||||
import { track } from '@/lib/metrics/track'
|
||||
import { searchActionsStorage } from '@/lib/search-actions/searchActionsStorage'
|
||||
@@ -208,7 +209,7 @@ export const useChatSession = (options?: ChatSessionOptions) => {
|
||||
})
|
||||
const activeTab = activeTabsList?.[0] ?? undefined
|
||||
const message = getLastMessageText(messages)
|
||||
const provider = selectedLlmProviderRef.current
|
||||
const provider = selectedLlmProviderRef.current ?? createDefaultBrowserOSProvider()
|
||||
const currentMode = modeRef.current
|
||||
const enabledMcpServers = enabledMcpServersRef.current
|
||||
const customMcpServers = enabledCustomServersRef.current
|
||||
|
||||
@@ -60,6 +60,15 @@ export function useLlmProviders(): UseLlmProvidersReturn {
|
||||
await defaultProviderIdStorage.setValue(loadedDefaultId)
|
||||
}
|
||||
|
||||
// Repair stale default ID that doesn't match any provider
|
||||
const defaultExists = loadedProviders.some(
|
||||
(p) => p.id === loadedDefaultId,
|
||||
)
|
||||
if (!defaultExists && loadedProviders.length > 0) {
|
||||
loadedDefaultId = loadedProviders[0].id
|
||||
await defaultProviderIdStorage.setValue(loadedDefaultId)
|
||||
}
|
||||
|
||||
setProviders(loadedProviders)
|
||||
setDefaultProviderId(loadedDefaultId)
|
||||
} catch {
|
||||
@@ -146,8 +155,12 @@ export function useLlmProviders(): UseLlmProvidersReturn {
|
||||
await providersStorage.setValue(updatedProviders)
|
||||
}
|
||||
|
||||
// Fall back to first provider if defaultProviderId is stale/invalid
|
||||
const selectedProvider = useMemo(
|
||||
() => providers.find((p) => p.id === defaultProviderId) ?? null,
|
||||
() =>
|
||||
providers.find((p) => p.id === defaultProviderId) ??
|
||||
providers[0] ??
|
||||
null,
|
||||
[providers, defaultProviderId],
|
||||
)
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ import { createParser, type EventSourceMessage } from 'eventsource-parser'
|
||||
import type { ChatMode } from '@/entrypoints/sidepanel/index/chatTypes'
|
||||
import { getAgentServerUrl } from '@/lib/browseros/helpers'
|
||||
import {
|
||||
createDefaultBrowserOSProvider,
|
||||
defaultProviderIdStorage,
|
||||
providersStorage,
|
||||
} from '@/lib/llm-providers/storage'
|
||||
@@ -78,7 +79,7 @@ export async function getChatServerResponse(
|
||||
request: ChatServerRequest,
|
||||
): Promise<ChatServerResponse> {
|
||||
const agentServerUrl = await getAgentServerUrl()
|
||||
const provider = await getDefaultProvider()
|
||||
const provider = (await getDefaultProvider()) ?? createDefaultBrowserOSProvider()
|
||||
const conversationId = request.conversationId ?? crypto.randomUUID()
|
||||
const personalization = await personalizationStorage.getValue()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user