AIClient-2-API/src/provider-strategies.js
hex2077 903b6bbcaf feat: 实现多模型API代理核心功能与策略模式架构
新增完整的API代理服务架构,支持Gemini、OpenAI和Claude等多种大模型API的统一接入。主要变更包括:

1. 实现策略模式架构,新增provider-strategies.js处理不同API协议
2. 添加适配器层(adapter.js)统一服务接口
3. 实现三种核心模型(Gemini/OpenAI/Claude)的完整支持
4. 添加测试配置和依赖
5. 更新README文档说明新架构和使用方式
6. 新增.gitignore配置和项目元文件
2025-07-25 18:14:16 +08:00

24 lines
897 B
JavaScript

import { MODEL_PROTOCOL_PREFIX } from './common.js';
import { GeminiStrategy } from './gemini/gemini-strategy.js';
import { OpenAIStrategy } from './openai/openai-strategy.js';
import { ClaudeStrategy } from './claude/claude-strategy.js';
/**
* Strategy factory that returns the appropriate strategy instance based on the provider protocol.
*/
class ProviderStrategyFactory {
static getStrategy(providerProtocol) {
switch (providerProtocol) {
case MODEL_PROTOCOL_PREFIX.GEMINI:
return new GeminiStrategy();
case MODEL_PROTOCOL_PREFIX.OPENAI:
return new OpenAIStrategy();
case MODEL_PROTOCOL_PREFIX.CLAUDE:
return new ClaudeStrategy();
default:
throw new Error(`Unsupported provider protocol: ${providerProtocol}`);
}
}
}
export { ProviderStrategyFactory };