File size: 2,605 Bytes
6d4a6ec
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23ba3d3
6d4a6ec
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
"""
配置文件 - 存储应用的所有配置参数
"""
import os
import secrets

# 基本目录配置
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
DATA_DIR = os.path.join(BASE_DIR, 'data')
os.makedirs(DATA_DIR, exist_ok=True)

# 数据文件路径
API_KEYS_FILE = os.path.join(DATA_DIR, 'api_keys.json')  # 保留以供兼容性
AUTH_FILE = os.path.join(DATA_DIR, 'auth_tokens.json')

# SQLite数据库配置
DATABASE_PATH = os.path.join(DATA_DIR, 'api_keys.db')

# 应用密钥配置
SECRET_KEY = os.environ.get('SECRET_KEY', secrets.token_hex(16))
ADMIN_PASSWORD = os.environ.get('PASSWORD', '123456')

# 认证配置
TOKEN_EXPIRY_DAYS = 30

# 支持的平台
PLATFORMS = [
    {"id": "anthropic", "name": "Anthropic"},
    {"id": "openai", "name": "OpenAI"},
    {"id": "google", "name": "Google"},
    {"id": "deepseek", "name": "Deepseek"},
    {"id": "siliconflow", "name": "SiliconFlow"},
    {"id": "xai", "name": "xAI"},
    {"id": "groq", "name": "Groq"},
    {"id": "openrouter", "name": "OpenRouter"}
]

# 平台标签样式
PLATFORM_STYLES = {
    "anthropic": {
        "background-color": "rgba(217, 119, 87, 0.1)",
        "border-color": "rgba(217, 119, 87, 0.3)",
        "color": "#c25032"
    },
    "openai": {
        "background-color": "rgba(16, 163, 127, 0.1)",
        "border-color": "rgba(16, 163, 127, 0.3)",
        "color": "#0e8c6b"
    },
    "google": {
        "background-color": "rgba(28, 125, 255, 0.1)",
        "border-color": "rgba(28, 125, 255, 0.3)",
        "color": "#0051c3"
    },
    "deepseek": {
        "background-color": "rgba(77, 107, 254, 0.1)",
        "border-color": "rgba(77, 107, 254, 0.3)",
        "color": "#3246d3"
    },
    "siliconflow": {
        "background-color": "rgba(124, 58, 237, 0.1)",
        "border-color": "rgba(124, 58, 237, 0.3)",
        "color": "#6429c8"
    },
    "xai": {
        "background-color": "rgba(90, 90, 90, 0.1)",
        "border-color": "rgba(90, 90, 90, 0.3)",
        "color": "#5A5A5A"
    },
    "groq": {
        "background-color": "rgba(255, 95, 31, 0.1)",
        "border-color": "rgba(255, 95, 31, 0.3)",
        "color": "#FF5F1F"
    },
    "openrouter": {
        "background-color": "rgba(61, 88, 171, 0.1)",
        "border-color": "rgba(61, 88, 171, 0.3)",
        "color": "#3D58AB"
    }
}

# API调用节流控制配置
PLATFORM_LIMITS = {
    'openai': 100,
    'anthropic': 100,  
    'google': 500,    
    'deepseek': 20,
    'siliconflow': 50,
    'xai': 50,
    'groq': 50,
    'openrouter': 50,
    'default': 50
}

# 请求节流时间窗口(秒)
TIME_WINDOW = 10