import os from pathlib import Path from dotenv import load_dotenv from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from fastapi.staticfiles import StaticFiles from app.api.chat import router as chat_router load_dotenv() app = FastAPI(title="Art Agent MVP") app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # 确保存储目录存在 UPLOADS_DIR = Path(__file__).parent.parent / "uploads" GENERATED_DIR = Path(__file__).parent.parent / "generated" UPLOADS_DIR.mkdir(exist_ok=True) GENERATED_DIR.mkdir(exist_ok=True) # 静态文件服务:提供上传的参考图和生成的图片 app.mount("/uploads", StaticFiles(directory=str(UPLOADS_DIR)), name="uploads") app.mount("/generated", StaticFiles(directory=str(GENERATED_DIR)), name="generated") app.include_router(chat_router, prefix="/api") @app.get("/health") async def health(): return {"status": "ok"}