Delete config.py
Browse files
config.py
DELETED
@@ -1,105 +0,0 @@
|
|
1 |
-
"""
|
2 |
-
配置管理模块
|
3 |
-
包含所有全局配置常量和设置
|
4 |
-
"""
|
5 |
-
import os
|
6 |
-
|
7 |
-
|
8 |
-
class Config:
|
9 |
-
"""全局配置管理"""
|
10 |
-
|
11 |
-
# 服务器配置
|
12 |
-
SERVER_HOST = "0.0.0.0"
|
13 |
-
SERVER_PORT = 7860
|
14 |
-
|
15 |
-
# Warp API 配置
|
16 |
-
WARP_BASE_URL = "https://app.warp.dev"
|
17 |
-
WARP_AI_ENDPOINT = "/ai/multi-agent"
|
18 |
-
WARP_CLIENT_VERSION = "v0.2025.06.20.22.47.stable_07"
|
19 |
-
WARP_OS_CATEGORY = "Windows"
|
20 |
-
WARP_OS_NAME = "Windows"
|
21 |
-
WARP_OS_VERSION = "10 (19045)"
|
22 |
-
|
23 |
-
# Google Token相关配置
|
24 |
-
GOOGLE_TOKEN_URL = "https://securetoken.googleapis.com/v1/token?key=AIzaSyBdy3O3S9hrdayLJxJ7mriBR4qgUaUygAs"
|
25 |
-
TOKEN_REFRESH_INTERVAL = 50 * 60 # 50分钟,单位:秒
|
26 |
-
|
27 |
-
# 登录相关配置
|
28 |
-
OPTIMIZATION_GUIDE_URL = "https://optimizationguide-pa.googleapis.com/v1:GetHints"
|
29 |
-
FIREBASE_LOGIN_URL = "https://identitytoolkit.googleapis.com/v1/accounts:signInWithEmailLink?key=AIzaSyBdy3O3S9hrdayLJxJ7mriBR4qgUaUygAs"
|
30 |
-
|
31 |
-
# OpenAI API配置
|
32 |
-
OPENAI_API_VERSION = "v1"
|
33 |
-
|
34 |
-
# 请求超时设置
|
35 |
-
REQUEST_TIMEOUT = 360
|
36 |
-
|
37 |
-
# API密钥配置(从环境变量获取,默认为sk-123456)
|
38 |
-
@classmethod
|
39 |
-
def get_api_key(cls) -> str:
|
40 |
-
"""获取API密钥"""
|
41 |
-
return os.environ.get('AUTH_API_KEY', 'sk-123456')
|
42 |
-
|
43 |
-
@property
|
44 |
-
def VALID_API_KEYS(self) -> list:
|
45 |
-
"""有效的API密钥列表"""
|
46 |
-
return [self.get_api_key()]
|
47 |
-
|
48 |
-
# 管理员密钥配置
|
49 |
-
@classmethod
|
50 |
-
def get_admin_key(cls) -> str:
|
51 |
-
"""获取管理员密钥(用于访问Web界面)"""
|
52 |
-
return os.environ.get('ADMIN_KEY', '')
|
53 |
-
|
54 |
-
@classmethod
|
55 |
-
def get_super_admin_key(cls) -> str:
|
56 |
-
"""获取超级管理员密钥(用于敏感操作如导出token)"""
|
57 |
-
return os.environ.get('SUPER_ADMIN_KEY', '')
|
58 |
-
|
59 |
-
@classmethod
|
60 |
-
def require_admin_auth(cls) -> bool:
|
61 |
-
"""是否需要管理员认证"""
|
62 |
-
return bool(cls.get_admin_key())
|
63 |
-
|
64 |
-
@classmethod
|
65 |
-
def require_super_admin_auth(cls) -> bool:
|
66 |
-
"""是否需要超级管理员认证"""
|
67 |
-
return bool(cls.get_super_admin_key())
|
68 |
-
|
69 |
-
# refresh token环境变量配置(支持分号分割的多个token)
|
70 |
-
@classmethod
|
71 |
-
def get_refresh_tokens(cls) -> list:
|
72 |
-
"""从环境变量获取refresh token列表(支持分号分割)"""
|
73 |
-
env_token = os.environ.get('WARP_REFRESH_TOKEN', '')
|
74 |
-
if not env_token:
|
75 |
-
return []
|
76 |
-
|
77 |
-
# 使用分号分割多个token
|
78 |
-
tokens = [token.strip() for token in env_token.split(';') if token.strip()]
|
79 |
-
return tokens
|
80 |
-
|
81 |
-
@classmethod
|
82 |
-
def get_refresh_token(cls) -> str:
|
83 |
-
"""获取第一个refresh token(向后兼容)"""
|
84 |
-
tokens = cls.get_refresh_tokens()
|
85 |
-
return tokens[0] if tokens else ''
|
86 |
-
|
87 |
-
# 日志配置
|
88 |
-
@classmethod
|
89 |
-
def enable_file_logging(cls) -> bool:
|
90 |
-
"""是否启用文件日志"""
|
91 |
-
return os.environ.get('ENABLE_FILE_LOGGING', 'false').lower() in ('true', '1', 'yes', 'on','True')
|
92 |
-
|
93 |
-
|
94 |
-
class LogConfig:
|
95 |
-
"""日志配置"""
|
96 |
-
|
97 |
-
LOG_LEVEL = "INFO"
|
98 |
-
LOG_FORMAT = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
|
99 |
-
|
100 |
-
|
101 |
-
class ProtobufConfig:
|
102 |
-
"""Protobuf相关配置"""
|
103 |
-
|
104 |
-
PROTO_FILE = "warp_unified.proto"
|
105 |
-
PROTO_PACKAGE = "warp_unified"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|