import dotenv from 'dotenv';
import { ApiConfig } from '../types/api';
dotenv.config();
const config: ApiConfig = {
deepseekApiKey: process.env.DEEPSEEK_API_KEY || '',
deepseekApiUrl: process.env.DEEPSEEK_API_URL || '',
deepseekModel: process.env.DEEPSEEK_MODEL || '',
claudeApiKey: process.env.CLAUDE_API_KEY || '',
claudeApiUrl: process.env.CLAUDE_API_URL || '',
claudeModel: process.env.CLAUDE_MODEL || '',
claudeProvider: process.env.CLAUDE_PROVIDER || '',
isOriginReasoning: process.env.IS_ORIGIN_REASONING === 'true',
port: parseInt(process.env.PORT || '3000', 10),
allowedOrigins: (process.env.ALLOWED_ORIGINS || '*').split(','),
siteUrl: process.env.SITE_URL || 'http://localhost:3000',
siteName: process.env.SITE_NAME || 'DeepClaude MCP'
};
// 验证必要的配置
const validateConfig = () => {
const requiredEnvVars = [
'DEEPSEEK_API_KEY',
'CLAUDE_API_KEY',
'SITE_URL',
'SITE_NAME'
];
const missingEnvVars = requiredEnvVars.filter(envVar => !process.env[envVar]);
if (missingEnvVars.length > 0) {
throw new Error(`Missing required environment variables: ${missingEnvVars.join(', ')}`);
}
};
validateConfig();
export default config;