ikun2 / config.js
bingn's picture
Upload 19 files
f1357b6 verified
/**
* config.js - ChatAIBot.pro 注册配置 (HuggingFace Spaces 版)
*
* 敏感信息从环境变量读取 (HF Secrets)
* 端口默认 7860 (HF Spaces 标准端口)
* 账号数据持久化到 /data/accounts (HF 持久存储)
*/
const env = process.env;
export default {
// ==================== 站点配置 ====================
siteBase: 'https://chataibot.pro',
signupUrl: 'https://chataibot.pro/app/auth/sign-up',
loginUrl: 'https://chataibot.pro/app/auth/sign-in',
verifyUrl: 'https://chataibot.pro/app/verify',
// ==================== 邮箱配置 ====================
mailProvider: env.MAIL_PROVIDER || 'mailtm',
moemail: {
apiUrl: env.MOEMAIL_API_URL || '',
apiKey: env.MOEMAIL_API_KEY || '',
domain: env.MOEMAIL_DOMAIN || 'moemail.app',
prefix: env.MOEMAIL_PREFIX || 'ikun',
randomLength: 6,
duration: 0,
},
gptmail: {
apiBase: 'https://mail.chatgpt.org.uk',
apiKey: 'gpt-test',
fallbackKey: 'sk-LQ8yCnju',
},
duckmail: {
apiKey: env.DUCKMAIL_API_KEY || '',
domain: env.DUCKMAIL_DOMAIN || '',
},
catchall: {
domain: env.CATCHALL_DOMAIN || '',
prefix: 'ikun',
verifyMethod: 'manual',
workerUrl: '',
workerSecret: '',
},
custom: {
createUrl: env.CUSTOM_CREATE_URL || '',
createHeaders: {},
fetchUrl: env.CUSTOM_FETCH_URL || '',
fetchHeaders: {},
},
// ==================== 注册参数 ====================
count: 1,
concurrency: 1,
taskDelay: 3000,
retryCount: 1,
// ==================== 请求配置 ====================
timeout: 30000,
userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36',
// ==================== 验证码发件人过滤 ====================
senderFilter: 'chataibot',
// ==================== 代理配置 ====================
proxyEnabled: false,
proxyUrl: '',
// ==================== 输出配置 ====================
// HuggingFace Spaces 持久存储在 /data 目录
outputDir: env.ACCOUNTS_DIR || '/data/accounts',
exportJsonPath: '/data/results.json',
// ==================== API 代理服务配置 ====================
server: {
port: parseInt(env.PORT) || 7860, // HF Spaces 标准端口
host: '0.0.0.0',
apiKey: env.API_KEY || '', // 访问密钥 (空=不校验)
},
// ==================== 账号池配置 ====================
pool: {
minAvailable: parseInt(env.MIN_AVAILABLE) || 50,
autoRegister: env.AUTO_REGISTER !== 'false',
checkInterval: parseInt(env.CHECK_INTERVAL) || 300000,
},
// ==================== 模型消耗量 (每次请求消耗的 requests 数) ====================
// chataibot.pro 不同模型扣费不同,用于本地扣减额度
modelCost: {
// 基础模型: 1 request
'gpt-3.5-turbo': 1,
'gpt-4o-mini': 1,
'gpt-4.1-nano': 1,
'gpt-4.1-mini': 1,
'gemini-flash': 1,
'gemini-3-flash': 1,
'deepseek': 1,
'deepseek-v3.2': 1,
'qwen3.5': 1,
'claude-3-haiku': 1,
'claude-4.5-haiku': 1,
// 中端模型: 2 requests
'gpt-4': 2,
'gpt-4-turbo': 2,
'gpt-4o': 2,
'gpt-4.1': 2,
'gemini-pro': 2,
'gemini-3-pro': 2,
'gemini-3.1-pro': 2,
'claude-3-sonnet': 2,
'qwen3.5-plus': 2,
'qwen3-max': 2,
'grok': 2,
// 高端模型: 4 requests
'claude-3-sonnet-high': 4,
'claude-4.6-sonnet': 4,
'claude-4.6-sonnet-high': 4,
'claude-3-opus': 4,
'claude-4.5-opus': 4,
'claude-4.6-opus': 4,
'gpt-5-pro': 4,
'gpt-5.1': 4,
'gpt-5.2': 4,
'gpt-5.4': 4,
'o1': 4,
'o1-preview': 4,
'o3': 4,
'o3-pro': 4,
'o4-mini': 4,
'perplexity-pro': 4,
// 搜索模型: 2 requests
'gpt-4o-search-preview': 2,
'gpt-4o-mini-search-preview': 2,
'gemini-2-flash-search': 2,
'gemini-3-pro-search': 2,
'gemini-3-flash-search': 2,
// 推理/高消耗: 4 requests
'gpt-5.1-high': 4,
'gpt-5.2-high': 4,
'gpt-5.4-high': 4,
'gpt-5.4-pro': 4,
'o1-mini': 2,
'o3-mini': 2,
'o3-mini-high': 4,
'o4-mini-high': 4,
'o4-mini-deep-research': 4,
'qwen3-thinking-2507': 2,
'perplexity': 2,
},
// 未知模型的默认消耗
defaultModelCost: 2,
// ==================== 模型映射 ====================
modelMapping: {
// ---- OpenAI ----
'gpt-3.5-turbo': 'gpt-3.5-turbo',
'gpt-4': 'gpt-4',
'gpt-4-turbo': 'gpt-4-turbo',
'gpt-4o': 'gpt-4o',
'gpt-4o-mini': 'gpt-4o-mini',
'gpt-4.1': 'gpt-4.1',
'gpt-4.1-mini': 'gpt-4.1-mini',
'gpt-4.1-nano': 'gpt-4.1-nano',
'gpt-5-pro': 'gpt-5-pro',
'gpt-5.1': 'gpt-5.1',
'gpt-5.1-high': 'gpt-5.1-high',
'gpt-5.2': 'gpt-5.2',
'gpt-5.2-high': 'gpt-5.2-high',
'gpt-5.4': 'gpt-5.4',
'gpt-5.4-high': 'gpt-5.4-high',
'gpt-5.4-pro': 'gpt-5.4-pro',
'o1': 'o1',
'o1-preview': 'o1-preview',
'o1-mini': 'o1-mini',
'o3': 'o3',
'o3-mini': 'o3-mini',
'o3-mini-high': 'o3-mini-high',
'o3-pro': 'o3-pro',
'o4-mini': 'o4-mini',
'o4-mini-high': 'o4-mini-high',
'o4-mini-deep-research': 'o4-mini-deep-research',
'gpt-4o-search-preview': 'gpt-4o-search-preview',
'gpt-4o-mini-search-preview': 'gpt-4o-mini-search-preview',
// ---- Anthropic ----
'claude-3-haiku': 'claude-3-haiku',
'claude-3-sonnet': 'claude-3-sonnet',
'claude-3-sonnet-high': 'claude-3-sonnet-high',
'claude-4.6-sonnet': 'claude-4.6-sonnet',
'claude-4.6-sonnet-high': 'claude-4.6-sonnet-high',
'claude-3-opus': 'claude-3-opus',
'claude-4.5-opus': 'claude-4.5-opus',
'claude-4.6-opus': 'claude-4.6-opus',
'claude-4.5-haiku': 'claude-4.5-haiku',
'claude-3-haiku-20240307': 'claude-3-haiku',
'claude-3-opus-20240229': 'claude-3-opus',
'claude-3-sonnet-20240229': 'claude-3-sonnet',
'claude-3-5-sonnet-20240620': 'claude-3-sonnet',
'claude-3.5-sonnet': 'claude-4.6-sonnet',
'claude-3-5-sonnet': 'claude-4.6-sonnet',
'claude-3-5-sonnet-20241022': 'claude-4.6-sonnet',
'claude-3.5-haiku': 'claude-4.5-haiku',
'claude-3-5-haiku': 'claude-4.5-haiku',
'claude-3-5-haiku-20241022': 'claude-4.5-haiku',
'claude-4-sonnet': 'claude-4.6-sonnet',
'claude-sonnet-4-20250514': 'claude-4.6-sonnet',
'claude-4-opus': 'claude-4.5-opus',
'claude-opus-4-20250514': 'claude-4.5-opus',
'claude-sonnet-4-6': 'claude-4.6-sonnet',
'claude-opus-4-6': 'claude-4.6-opus',
'claude-haiku-4-5': 'claude-4.5-haiku',
'claude-4.5-sonnet': 'claude-4.6-sonnet',
'claude-4.5-sonnet-high': 'claude-4.6-sonnet-high',
'claude-4.1-opus': 'claude-4.5-opus',
// ---- Google ----
'gemini-flash': 'gemini-flash',
'gemini-pro': 'gemini-pro',
'gemini-3-flash': 'gemini-3-flash',
'gemini-3-pro': 'gemini-3-pro',
'gemini-3.1-pro': 'gemini-3.1-pro',
'gemini-2-flash-search': 'gemini-2-flash-search',
'gemini-3-pro-search': 'gemini-3-pro-search',
'gemini-3-flash-search': 'gemini-3-flash-search',
'gemini-2-flash': 'gemini-flash',
'gemini-2.0-flash': 'gemini-flash',
'gemini-3.0-flash': 'gemini-3-flash',
'gemini-3.0-pro': 'gemini-3-pro',
'gemini-2.5-pro': 'gemini-pro',
'gemini-1.5-pro': 'gemini-pro',
'gemini-1.5-flash': 'gemini-flash',
// ---- 其他 ----
'deepseek': 'deepseek',
'deepseek-v3.2': 'deepseek-v3.2',
'deepseek-chat': 'deepseek',
'deepseek-v3': 'deepseek',
'deepseek-r1': 'deepseek',
'deepseek-reasoner': 'deepseek',
'deepseek-coder': 'deepseek',
'qwen3.5': 'qwen3.5',
'qwen3.5-plus': 'qwen3.5-plus',
'qwen3-max': 'qwen3-max',
'qwen3-thinking-2507': 'qwen3-thinking-2507',
'qwen3': 'qwen3-thinking-2507',
'qwen-max': 'qwen3-max',
'qwen-plus': 'qwen3.5-plus',
'qwen-turbo': 'qwen3.5',
'grok': 'grok',
'grok-2': 'grok',
'grok-3': 'grok',
'grok-3-mini': 'grok',
'perplexity': 'perplexity',
'perplexity-pro': 'perplexity-pro',
'pplx': 'perplexity',
'pplx-pro': 'perplexity-pro',
'llama-3': 'gpt-4o-mini',
'llama-3.1': 'gpt-4o',
'llama-3.2': 'gpt-4o',
'llama-4': 'gpt-4.1',
'mistral-large': 'gpt-4o',
'mistral-small': 'gpt-4o-mini',
'codestral': 'gpt-4o',
},
};