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

View File

@ -65,9 +65,6 @@
researchResultInjectionKey, researchResultInjectionKey,
} from '~/constants/injection-keys' } from '~/constants/injection-keys'
const { t } = useI18n()
const { config } = storeToRefs(useConfigStore())
const toast = useToast()
const version = useRuntimeConfig().public.version const version = useRuntimeConfig().public.version
const configManagerRef = ref<InstanceType<typeof ConfigManager>>() const configManagerRef = ref<InstanceType<typeof ConfigManager>>()
@ -93,18 +90,6 @@
provide(researchResultInjectionKey, researchResult) provide(researchResultInjectionKey, researchResult)
async function generateFeedback() { 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() feedbackRef.value?.getFeedback()
} }

View File

@ -30,6 +30,18 @@ export interface Config {
webSearch: ConfigWebSearch 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', () => { export const useConfigStore = defineStore('config', () => {
const config = useLocalStorage<Config>('deep-research-config', { const config = useLocalStorage<Config>('deep-research-config', {
ai: { ai: {
@ -47,6 +59,7 @@ export const useConfigStore = defineStore('config', () => {
'dismiss-update-version', 'dismiss-update-version',
'', '',
) )
const isConfigValid = computed(() => validateConfig(config.value))
const aiApiBase = computed(() => { const aiApiBase = computed(() => {
if (config.value.ai.provider === 'openrouter') { if (config.value.ai.provider === 'openrouter') {
@ -65,6 +78,7 @@ export const useConfigStore = defineStore('config', () => {
return { return {
config: skipHydrate(config), config: skipHydrate(config),
isConfigValid,
aiApiBase, aiApiBase,
showConfigManager, showConfigManager,
dismissUpdateVersion: skipHydrate(dismissUpdateVersion), dismissUpdateVersion: skipHydrate(dismissUpdateVersion),