Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions apps/electron/src/main/lib/channel-manager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,7 @@ export async function testChannel(channelId: string): Promise<ChannelTestResult>
case 'anthropic':
return await testAnthropic(channel.baseUrl, apiKey, proxyUrl)
case 'openai':
case 'openai-responses':
case 'deepseek':
case 'moonshot':
case 'zhipu':
Expand Down Expand Up @@ -387,6 +388,7 @@ export async function testChannelDirect(input: FetchModelsInput): Promise<Channe
case 'anthropic':
return await testAnthropic(input.baseUrl, input.apiKey, proxyUrl)
case 'openai':
case 'openai-responses':
case 'deepseek':
case 'moonshot':
case 'zhipu':
Expand Down Expand Up @@ -422,6 +424,7 @@ export async function fetchModels(input: FetchModelsInput): Promise<FetchModelsR
case 'anthropic':
return await fetchAnthropicModels(input.baseUrl, input.apiKey, proxyUrl)
case 'openai':
case 'openai-responses':
case 'deepseek':
case 'moonshot':
case 'zhipu':
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ interface ChannelFormProps {
}

/** 所有可选供应商 */
const PROVIDER_OPTIONS: ProviderType[] = ['anthropic', 'openai', 'deepseek', 'google', 'moonshot', 'zhipu', 'minimax', 'doubao', 'qwen', 'custom']
const PROVIDER_OPTIONS: ProviderType[] = ['anthropic', 'openai', 'openai-responses', 'deepseek', 'google', 'moonshot', 'zhipu', 'minimax', 'doubao', 'qwen', 'custom']

/** 供应商选项(用于 SettingsSelect) */
const PROVIDER_SELECT_OPTIONS = PROVIDER_OPTIONS.map((p) => ({
Expand All @@ -67,6 +67,7 @@ const PROVIDER_SELECT_OPTIONS = PROVIDER_OPTIONS.map((p) => ({
const PROVIDER_CHAT_PATHS: Record<ProviderType, string> = {
anthropic: '/v1/messages',
openai: '/chat/completions',
'openai-responses': '/responses',
deepseek: '/chat/completions',
google: '/v1beta/models/{model}:generateContent',
moonshot: '/chat/completions',
Expand Down
17 changes: 10 additions & 7 deletions packages/core/src/providers/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import type { ProviderType } from '@proma/shared'
import type { ProviderAdapter } from './types.ts'
import { AnthropicAdapter } from './anthropic-adapter.ts'
import { OpenAIAdapter } from './openai-adapter.ts'
import { ResponsesAdapter } from './responses-adapter.ts'
import { GoogleAdapter } from './google-adapter.ts'

// 导出所有类型和工具
Expand All @@ -19,19 +20,21 @@ export * from './url-utils.ts'
// 导出适配器类
export { AnthropicAdapter } from './anthropic-adapter.ts'
export { OpenAIAdapter } from './openai-adapter.ts'
export { ResponsesAdapter } from './responses-adapter.ts'
export { GoogleAdapter } from './google-adapter.ts'

/** 供应商适配器注册表 */
const adapterRegistry = new Map<ProviderType, ProviderAdapter>([
['anthropic', new AnthropicAdapter()],
['openai', new OpenAIAdapter()],
['deepseek', new OpenAIAdapter()], // DeepSeek 使用 OpenAI 兼容协议
['moonshot', new OpenAIAdapter()], // Moonshot/Kimi 使用 OpenAI 兼容协议
['zhipu', new OpenAIAdapter()], // 智谱 AI 使用 OpenAI 兼容协议
['minimax', new OpenAIAdapter()], // MiniMax 使用 OpenAI 兼容协议
['doubao', new OpenAIAdapter()], // 豆包使用 OpenAI 兼容协议
['qwen', new OpenAIAdapter()], // 通义千问使用 OpenAI 兼容协议
['custom', new OpenAIAdapter()], // 自定义也使用 OpenAI 兼容协议
['openai-responses', new ResponsesAdapter()], // OpenAI Responses API (/v1/responses)
['deepseek', new OpenAIAdapter()], // DeepSeek 使用 OpenAI 兼容协议
['moonshot', new OpenAIAdapter()], // Moonshot/Kimi 使用 OpenAI 兼容协议
['zhipu', new OpenAIAdapter()], // 智谱 AI 使用 OpenAI 兼容协议
['minimax', new OpenAIAdapter()], // MiniMax 使用 OpenAI 兼容协议
['doubao', new OpenAIAdapter()], // 豆包使用 OpenAI 兼容协议
['qwen', new OpenAIAdapter()], // 通义千问使用 OpenAI 兼容协议
['custom', new OpenAIAdapter()], // 自定义也使用 OpenAI 兼容协议
['google', new GoogleAdapter()],
])

Expand Down
Loading