letterm commited on
Commit
cc65e0c
·
verified ·
1 Parent(s): d265669

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -36
app.py CHANGED
@@ -513,42 +513,23 @@ async def reconnect_for_token_refresh():
513
  logger.error(f"令牌刷新失败: {e}")
514
 
515
  async def async_main():
516
- if not CONFIG['LOGIN']['USER_ID'] or not CONFIG['LOGIN']['AUTH']:
517
- logger.error("用户ID或授权令牌未设置")
518
- return
519
- headers = {
520
- "authorization": f"{CONFIG['LOGIN']['USER_ID']} {CONFIG['LOGIN']['AUTH']}",
521
- "x-zed-protocol-version": "68",
522
- "x-zed-app-version": "0.178.0",
523
- "x-zed-release-channel": "stable"
524
- }
525
- ssl_context = ssl.create_default_context()
526
- ssl_context.check_hostname = False
527
- ssl_context.verify_mode = ssl.CERT_NONE
528
- logger.info("连接到Websocket服务器")
529
- async for websocket in connect(CONFIG['API']['WS_URL'], additional_headers=headers, ssl=ssl_context):
530
- try:
531
- ping_task = asyncio.create_task(ping_periodically(websocket))
532
- token_request_task = asyncio.create_task(delayed_token_request(websocket, delay=2))
533
- await handle_messages(websocket)
534
- break
535
- except ConnectionClosed:
536
- continue
537
- except Exception as e:
538
- logger.error(f"意外错误: {e}")
539
- await asyncio.sleep(1)
540
- continue
541
- finally:
542
- ping_task.cancel()
543
- try:
544
- await ping_task
545
- except asyncio.CancelledError:
546
- pass
547
- token_request_task.cancel()
548
- try:
549
- await token_request_task
550
- except asyncio.CancelledError:
551
- pass
552
 
553
  async def delayed_token_request(websocket, delay=2):
554
  await asyncio.sleep(delay)
 
513
  logger.error(f"令牌刷新失败: {e}")
514
 
515
  async def async_main():
516
+ app = web.Application()
517
+ app.router.add_post('/v1/messages', handle_message_request)
518
+ app.router.add_post('/v1/chat/completions', handle_message_request)
519
+ app.router.add_get('/v1/models', handle_models_request)
520
+
521
+ async def health_check():
522
+ return web.json_response({
523
+ "status": "ok",
524
+ "message": "Zed LLM proxy is running"
525
+ })
526
+
527
+ app.router.add_get('/', health_check)
528
+
529
+ runner = web.AppRunner(app)
530
+ await runner.setup()
531
+ site = web.TCPSite(runner, 'localhost', CONFIG['SERVER']['PORT'])
532
+ await site.start()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
533
 
534
  async def delayed_token_request(websocket, delay=2):
535
  await asyncio.sleep(delay)