File size: 713 Bytes
621a86c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from __future__ import annotations

import threading
import time
import webbrowser

import uvicorn

from .app import app
from .config import load_config


def _open_browser_later(url: str, delay: float = 1.5):
    def _opener():
        time.sleep(delay)
        try:
            webbrowser.open(url)
        except Exception:
            pass

    t = threading.Thread(target=_opener, daemon=True)
    t.start()


if __name__ == "__main__":
    cfg = load_config()
    port = int(cfg.port or 11451)
    url = f"http://127.0.0.1:{port}"
    _open_browser_later(url)
    # 直接传 app 实例,避免模块路径问题
    uvicorn.run(app, host="127.0.0.1", port=port, reload=False)