mirror of
https://github.com/ILoveBingLu/CipherTalk.git
synced 2026-05-19 02:40:13 +08:00
fix(ai): 优化API密钥验证逻辑,支持本地服务无密钥访问
- 修改 AIService 中 API 密钥验证逻辑,允许 Ollama 本地服务跳过密钥检查 - 更新所有 AI 提供商实例化时的类型断言,使用非空断言操作符(!)确保类型安全 - 完善 AISummarySettings 中连接测试逻辑,区分 Ollama 和 Custom 服务的验证需求 - 为 Custom 服务添加 baseURL 必填验证,提升配置完整性检查 - 升级版本至 2.1.4 - 改进本地 AI 服务和自定义服务的使用体验,降低配置门槛
This commit is contained in:
@@ -110,7 +110,8 @@ class AIService {
|
||||
key = providerConfig?.apiKey
|
||||
}
|
||||
|
||||
if (!key) {
|
||||
// Ollama 本地服务不需要 API 密钥
|
||||
if (!key && name !== 'ollama') {
|
||||
throw new Error('未配置API密钥')
|
||||
}
|
||||
|
||||
@@ -129,23 +130,23 @@ class AIService {
|
||||
const baseURL = ollamaConfig?.baseURL || 'http://localhost:11434/v1'
|
||||
return new OllamaProvider(key || 'ollama', baseURL)
|
||||
case 'openai':
|
||||
return new OpenAIProvider(key)
|
||||
return new OpenAIProvider(key!)
|
||||
case 'gemini':
|
||||
return new GeminiProvider(key)
|
||||
return new GeminiProvider(key!)
|
||||
case 'zhipu':
|
||||
return new ZhipuProvider(key)
|
||||
return new ZhipuProvider(key!)
|
||||
case 'deepseek':
|
||||
return new DeepSeekProvider(key)
|
||||
return new DeepSeekProvider(key!)
|
||||
case 'qwen':
|
||||
return new QwenProvider(key)
|
||||
return new QwenProvider(key!)
|
||||
case 'doubao':
|
||||
return new DoubaoProvider(key)
|
||||
return new DoubaoProvider(key!)
|
||||
case 'kimi':
|
||||
return new KimiProvider(key)
|
||||
return new KimiProvider(key!)
|
||||
case 'siliconflow':
|
||||
return new SiliconFlowProvider(key)
|
||||
return new SiliconFlowProvider(key!)
|
||||
case 'xiaomi':
|
||||
return new XiaomiProvider(key)
|
||||
return new XiaomiProvider(key!)
|
||||
default:
|
||||
throw new Error(`不支持的提供商: ${name}`)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user