mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-23 00:53:33 +00:00
feat: add intelligent backend routing and model service
- Add modelService for centralized model management - Support dynamic model list from config file (data/supported_models.json) - Include 2025 latest models: GPT-4.1, o3, o4-mini, Gemini 2.5, etc. - File watcher for hot-reload configuration changes - Improve model detection logic in api.js - Priority: modelService lookup → prefix matching fallback - Smart backend routing based on model provider - Add intelligent routing endpoints - /v1/chat/completions: unified OpenAI-compatible endpoint - /v1/completions: legacy format support - Auto-route to Claude/OpenAI/Gemini based on requested model - Add Xcode system prompt support in openaiToClaude - Detect and preserve Xcode-specific system messages - Export handler functions for reuse - openaiClaudeRoutes: export handleChatCompletion - openaiRoutes: export handleResponses 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
14
src/app.js
14
src/app.js
@@ -55,6 +55,11 @@ class Application {
|
||||
logger.info('🔄 Initializing pricing service...')
|
||||
await pricingService.initialize()
|
||||
|
||||
// 📋 初始化模型服务
|
||||
logger.info('🔄 Initializing model service...')
|
||||
const modelService = require('./services/modelService')
|
||||
await modelService.initialize()
|
||||
|
||||
// 📊 初始化缓存监控
|
||||
await this.initializeCacheMonitoring()
|
||||
|
||||
@@ -630,6 +635,15 @@ class Application {
|
||||
logger.error('❌ Error cleaning up pricing service:', error)
|
||||
}
|
||||
|
||||
// 清理 model service 的文件监听器
|
||||
try {
|
||||
const modelService = require('./services/modelService')
|
||||
modelService.cleanup()
|
||||
logger.info('📋 Model service cleaned up')
|
||||
} catch (error) {
|
||||
logger.error('❌ Error cleaning up model service:', error)
|
||||
}
|
||||
|
||||
// 停止限流清理服务
|
||||
try {
|
||||
const rateLimitCleanupService = require('./services/rateLimitCleanupService')
|
||||
|
||||
Reference in New Issue
Block a user