"""从运行中的 FastAPI app 导出 OpenAPI spec 到 docs/contracts/openapi/backend-api.json""" import json import pathlib import sys sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[2] / "apps" / "backend")) from app.main import app spec = app.openapi() out = pathlib.Path(r"C:\NeoZQYY\docs\contracts\openapi\backend-api.json") out.write_text(json.dumps(spec, ensure_ascii=False, indent=2), encoding="utf-8") print(f"Done: {len(spec['paths'])} paths, {len(spec['components']['schemas'])} schemas")