新增完整的API代理服务架构,支持Gemini、OpenAI和Claude等多种大模型API的统一接入。主要变更包括: 1. 实现策略模式架构,新增provider-strategies.js处理不同API协议 2. 添加适配器层(adapter.js)统一服务接口 3. 实现三种核心模型(Gemini/OpenAI/Claude)的完整支持 4. 添加测试配置和依赖 5. 更新README文档说明新架构和使用方式 6. 新增.gitignore配置和项目元文件
24 lines
897 B
JavaScript
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 };
|