1818from playwright .async_api import Browser as AsyncBrowser , Playwright as AsyncPlaywright
1919
2020# --- FIX: Replaced star import with explicit imports ---
21- from config import NO_PROXY_ENV , EXCLUDED_MODELS_FILENAME
21+ from config import NO_PROXY_ENV , EXCLUDED_MODELS_FILENAME , get_environment_variable
2222
2323# --- models模块导入 ---
2424from models import WebSocketConnectionManager
7070STREAM_PROCESS = None
7171
7272# --- Lifespan Context Manager ---
73- def _setup_logging ():
74- import server
75- log_level_env = os . environ . get ('SERVER_LOG_LEVEL' , 'INFO' )
76- redirect_print_env = os . environ . get ('SERVER_REDIRECT_PRINT' , 'false' )
73+ def _setup_logging ():
74+ import server
75+ log_level_env = get_environment_variable ('SERVER_LOG_LEVEL' , 'INFO' )
76+ redirect_print_env = get_environment_variable ('SERVER_REDIRECT_PRINT' , 'false' )
7777 server .log_ws_manager = WebSocketConnectionManager ()
7878 return setup_server_logging (
7979 logger_instance = server .logger ,
@@ -91,11 +91,11 @@ def _initialize_globals():
9191 auth_utils .initialize_keys ()
9292 server .logger .info ("API keys and global locks initialized." )
9393
94- def _initialize_proxy_settings ():
95- import server
96- STREAM_PORT = os . environ . get ('STREAM_PORT' )
94+ def _initialize_proxy_settings ():
95+ import server
96+ STREAM_PORT = get_environment_variable ('STREAM_PORT' )
9797 if STREAM_PORT == '0' :
98- PROXY_SERVER_ENV = os . environ . get ('HTTPS_PROXY' ) or os . environ . get ('HTTP_PROXY' )
98+ PROXY_SERVER_ENV = get_environment_variable ('HTTPS_PROXY' ) or get_environment_variable ('HTTP_PROXY' )
9999 else :
100100 PROXY_SERVER_ENV = f"http://127.0.0.1:{ STREAM_PORT or 3120 } /"
101101
@@ -109,10 +109,14 @@ def _initialize_proxy_settings():
109109
110110async def _start_stream_proxy ():
111111 import server
112- STREAM_PORT = os . environ . get ('STREAM_PORT' )
112+ STREAM_PORT = get_environment_variable ('STREAM_PORT' )
113113 if STREAM_PORT != '0' :
114114 port = int (STREAM_PORT or 3120 )
115- STREAM_PROXY_SERVER_ENV = os .environ .get ('UNIFIED_PROXY_CONFIG' ) or os .environ .get ('HTTPS_PROXY' ) or os .environ .get ('HTTP_PROXY' )
115+ STREAM_PROXY_SERVER_ENV = (
116+ get_environment_variable ('UNIFIED_PROXY_CONFIG' )
117+ or get_environment_variable ('HTTPS_PROXY' )
118+ or get_environment_variable ('HTTP_PROXY' )
119+ )
116120 server .logger .info (f"Starting STREAM proxy on port { port } with upstream proxy: { STREAM_PROXY_SERVER_ENV } " )
117121 server .STREAM_QUEUE = multiprocessing .Queue ()
118122 server .STREAM_PROCESS = multiprocessing .Process (target = stream .start , args = (server .STREAM_QUEUE , port , STREAM_PROXY_SERVER_ENV ))
@@ -141,8 +145,8 @@ async def _initialize_browser_and_page():
141145 server .is_playwright_ready = True
142146 server .logger .info ("Playwright started." )
143147
144- ws_endpoint = os . environ . get ('CAMOUFOX_WS_ENDPOINT' )
145- launch_mode = os . environ . get ('LAUNCH_MODE' , 'unknown' )
148+ ws_endpoint = get_environment_variable ('CAMOUFOX_WS_ENDPOINT' )
149+ launch_mode = get_environment_variable ('LAUNCH_MODE' , 'unknown' )
146150
147151 if not ws_endpoint and launch_mode != "direct_debug_no_browser" :
148152 raise ValueError ("CAMOUFOX_WS_ENDPOINT environment variable is missing." )
@@ -213,7 +217,7 @@ async def lifespan(app: FastAPI):
213217 await _start_stream_proxy ()
214218 await _initialize_browser_and_page ()
215219
216- launch_mode = os . environ . get ('LAUNCH_MODE' , 'unknown' )
220+ launch_mode = get_environment_variable ('LAUNCH_MODE' , 'unknown' )
217221 if server .is_page_ready or launch_mode == "direct_debug_no_browser" :
218222 server .worker_task = asyncio .create_task (queue_worker ())
219223 logger .info ("Request processing worker started." )
@@ -300,12 +304,13 @@ def create_app() -> FastAPI:
300304 app .add_middleware (APIKeyAuthMiddleware )
301305
302306 # 注册路由
303- from .routes import (
304- read_index , get_css , get_js , get_api_info ,
305- health_check , list_models , chat_completions ,
306- cancel_request , get_queue_status , websocket_log_endpoint ,
307- get_api_keys , add_api_key , test_api_key , delete_api_key
308- )
307+ # Import aggregated modular routers
308+ from .routers import (
309+ read_index , get_css , get_js , get_api_info ,
310+ health_check , list_models , chat_completions ,
311+ cancel_request , get_queue_status , websocket_log_endpoint ,
312+ get_api_keys , add_api_key , test_api_key , delete_api_key
313+ )
309314 from fastapi .responses import FileResponse
310315
311316 app .get ("/" , response_class = FileResponse )(read_index )
@@ -325,4 +330,4 @@ def create_app() -> FastAPI:
325330 app .post ("/api/keys/test" )(test_api_key )
326331 app .delete ("/api/keys" )(delete_api_key )
327332
328- return app
333+ return app
0 commit comments