route-claudecode
Version:
Advanced routing and transformation system for Claude Code outputs to multiple AI providers
135 lines • 3.6 kB
TypeScript
/**
* 智能模型发现系统 v2.0
* 通过/models端点获取模型列表,多次测试避免流控误判,智能更新配置
*/
import { ProviderConfig } from '@/types';
export interface ModelTestResult {
modelId: string;
isAvailable: boolean;
responseTime: number;
successRate: number;
testCount: number;
errors: string[];
statusCodes: number[];
lastTestTime: number;
confidence: 'high' | 'medium' | 'low';
}
export interface ProviderModelInfo {
id: string;
name?: string;
description?: string;
created?: number;
owned_by?: string;
capabilities?: {
text: boolean;
vision: boolean;
tools: boolean;
streaming: boolean;
};
pricing?: {
input: number;
output: number;
};
context_length?: number;
}
export interface IntelligentDiscoveryConfig {
providerId: string;
provider: ProviderConfig;
testConfig: {
testCount: number;
testInterval: number;
requestTimeout: number;
testPrompt: string;
maxTokens: number;
rateLimitBackoff: number;
maxConcurrentTests: number;
};
qualityThresholds: {
minSuccessRate: number;
maxResponseTime: number;
minConfidenceLevel: 'high' | 'medium' | 'low';
};
cacheConfig: {
modelListTTL: number;
testResultTTL: number;
enablePersistentCache: boolean;
};
}
export interface DiscoveryReport {
providerId: string;
discoveryTime: number;
totalModelsFound: number;
modelsFromAPI: number;
modelsFromFallback: number;
availableModels: ModelTestResult[];
unavailableModels: ModelTestResult[];
configurationUpdated: boolean;
recommendations: string[];
warnings: string[];
errors: string[];
performance: {
totalDuration: number;
apiCallDuration: number;
testingDuration: number;
averageResponseTime: number;
};
}
export declare class IntelligentModelDiscovery {
private config;
private cache;
private cacheExpiry;
private testQueue;
private activeTests;
constructor(config: IntelligentDiscoveryConfig);
/**
* 执行完整的智能模型发现流程
*/
discoverAndUpdateModels(): Promise<DiscoveryReport>;
/**
* 从API获取模型列表
*/
private fetchModelsFromAPI;
/**
* 智能模型测试 - 考虑流控和并发限制
*/
private intelligentModelTesting;
/**
* 带重试逻辑的模型测试
*/
private testModelWithRetryLogic;
/**
* 分析单个模型的测试结果
*/
private analyzeModelTestResults;
/**
* 分析所有测试结果
*/
private analyzeTestResults;
/**
* 更新提供商配置
*/
private updateProviderConfiguration;
/**
* 生成建议和警告
*/
private generateRecommendations;
private buildModelsEndpoint;
private buildAuthHeaders;
private parseModelsResponse;
private prioritizeModels;
private sendTestRequest;
private inferModelCapabilities;
private getFallbackModels;
private findConfigurationFile;
private isCacheValid;
private delay;
}
/**
* 创建智能模型发现实例的工厂函数
*/
export declare function createIntelligentModelDiscovery(config: IntelligentDiscoveryConfig): IntelligentModelDiscovery;
/**
* 默认配置
*/
export declare const DEFAULT_DISCOVERY_CONFIG: Omit<IntelligentDiscoveryConfig, 'providerId' | 'provider'>;
//# sourceMappingURL=intelligent-model-discovery.d.ts.map