Files
MuWinds 5305754f0b refactor: 重构注释规范、修复类型错误、添加 lint hook 和 CLAUDE.md (#66)
- 后端按 Google Python Style Guide 重构注释,修复 ruff 和 pyright 错误(161→0)
- 前端按 Vue.js Style Guide 重构注释,修复 biome 错误
- 添加 PostToolUse lint hook(ruff + biome 自动检查)
- 更新 CLAUDE.md 覆盖 Commands/Testing/Structure/CodeStyle/GitWorkflow/Boundaries
- 修复 tsconfig.json 废弃的 baseUrl 配置
2026-05-11 23:02:39 +08:00

54 lines
1.4 KiB
Python

"""MathModelAgent 应用入口,配置 FastAPI 应用和中间件。"""
from fastapi import FastAPI
from contextlib import asynccontextmanager
from fastapi.middleware.cors import CORSMiddleware
import os
from app.routers import modeling_router, ws_router, common_router, files_router
from app.utils.log_util import logger
from fastapi.staticfiles import StaticFiles
from app.utils.cli import get_ascii_banner, center_cli_str
@asynccontextmanager
async def lifespan(app: FastAPI):
print(get_ascii_banner())
print(center_cli_str("GitHub:https://github.com/jihe520/MathModelAgent"))
logger.info("Starting MathModelAgent")
PROJECT_FOLDER = "./project"
os.makedirs(PROJECT_FOLDER, exist_ok=True)
yield
logger.info("Stopping MathModelAgent")
app = FastAPI(
title="MathModelAgent",
description="Agents for MathModel",
version="0.1.0",
lifespan=lifespan,
)
app.include_router(modeling_router.router)
app.include_router(ws_router.router)
app.include_router(common_router.router)
app.include_router(files_router.router)
# 跨域 CORS
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
expose_headers=["*"], # 暴露所有响应头
)
app.mount(
"/static", # 这是访问时的前缀
StaticFiles(directory="project/work_dir"), # 这是本地文件夹路径
name="static",
)