fix: do not validate api key for Ollama

closes #14
This commit is contained in:
AnotiaWang
2025-02-17 18:30:59 +08:00
parent d4d3351ecf
commit dc068ce3fb
3 changed files with 16 additions and 20 deletions

View File

@ -19,7 +19,7 @@
}>()
const { t, locale } = useI18n()
const { config, showConfigManager } = storeToRefs(useConfigStore())
const { showConfigManager, isConfigValid } = storeToRefs(useConfigStore())
const toast = useToast()
const reasoningContent = ref('')
@ -41,10 +41,7 @@
)
async function getFeedback() {
const aiConfig = config.value.ai
const webSearchConfig = config.value.webSearch
if (!aiConfig.model || !aiConfig.apiKey || !webSearchConfig.apiKey) {
if (!isConfigValid.value) {
toast.add({
title: t('index.missingConfigTitle'),
description: t('index.missingConfigDescription'),

View File

@ -65,9 +65,6 @@
researchResultInjectionKey,
} from '~/constants/injection-keys'
const { t } = useI18n()
const { config } = storeToRefs(useConfigStore())
const toast = useToast()
const version = useRuntimeConfig().public.version
const configManagerRef = ref<InstanceType<typeof ConfigManager>>()
@ -93,18 +90,6 @@
provide(researchResultInjectionKey, researchResult)
async function generateFeedback() {
const aiConfig = config.value.ai
const webSearchConfig = config.value.webSearch
if (!aiConfig.model || !aiConfig.apiKey || !webSearchConfig.apiKey) {
toast.add({
title: t('index.missingConfigTitle'),
description: t('index.missingConfigDescription'),
color: 'error',
})
configManagerRef.value?.show()
return
}
feedbackRef.value?.getFeedback()
}

View File

@ -30,6 +30,18 @@ export interface Config {
webSearch: ConfigWebSearch
}
function validateConfig(config: Config) {
const ai = config.ai
if (ai.provider !== 'ollama' && !ai.apiKey) return false
if (typeof ai.contextSize !== 'undefined' && ai.contextSize < 0) return false
const ws = config.webSearch
if (!ws.apiKey) return false
if (typeof ws.concurrencyLimit !== 'undefined' && ws.concurrencyLimit! < 1)
return false
return true
}
export const useConfigStore = defineStore('config', () => {
const config = useLocalStorage<Config>('deep-research-config', {
ai: {
@ -47,6 +59,7 @@ export const useConfigStore = defineStore('config', () => {
'dismiss-update-version',
'',
)
const isConfigValid = computed(() => validateConfig(config.value))
const aiApiBase = computed(() => {
if (config.value.ai.provider === 'openrouter') {
@ -65,6 +78,7 @@ export const useConfigStore = defineStore('config', () => {
return {
config: skipHydrate(config),
isConfigValid,
aiApiBase,
showConfigManager,
dismissUpdateVersion: skipHydrate(dismissUpdateVersion),