liuzhao521
Fix: use PORT env variable and create accounts.json
8f3a455
import fs from 'fs';
import log from '../utils/logger.js';
const defaultConfig = {
server: { port: parseInt(process.env.PORT) || 8045, host: '0.0.0.0' },
api: {
url: 'https://daily-cloudcode-pa.sandbox.googleapis.com/v1internal:streamGenerateContent?alt=sse',
modelsUrl: 'https://daily-cloudcode-pa.sandbox.googleapis.com/v1internal:fetchAvailableModels',
host: 'daily-cloudcode-pa.sandbox.googleapis.com',
userAgent: 'antigravity/1.11.3 windows/amd64'
},
defaults: { temperature: 1, top_p: 0.85, top_k: 50, max_tokens: 8096 },
security: { maxRequestSize: '50mb', apiKey: null },
systemInstruction: '你是聊天机器人,专门为用户提供聊天和情绪价值,协助进行小说创作或者角色扮演,也可以提供数学或者代码上的建议'
};
let config = JSON.parse(JSON.stringify(defaultConfig));
export function reloadConfig() {
try {
const newConfig = JSON.parse(fs.readFileSync('./config.json', 'utf8'));
// 递归合并配置
// 1. 基础合并
Object.assign(config, newConfig);
// 2. 深度合并关键部分
if (newConfig.server) Object.assign(config.server, newConfig.server);
if (newConfig.api) Object.assign(config.api, newConfig.api);
if (newConfig.defaults) Object.assign(config.defaults, newConfig.defaults);
if (newConfig.security) Object.assign(config.security, newConfig.security);
// 3. 环境变量优先级最高
if (process.env.PORT) {
config.server.port = parseInt(process.env.PORT);
}
log.info('✓ 配置文件已重载');
return true;
} catch (error) {
log.error('⚠ 重载配置文件失败:', error.message);
return false;
}
}
// 初始化加载
reloadConfig();
export default config;