import sys,os current_path = os.getcwd() sys.path.append(current_path+"\\web") sys.path.append(current_path+"\\agent") import json from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware def save_api_spec(app: FastAPI): """ 保存 FastAPI 应用的 OpenAPI 规范到文件中。 """ from fastapi.openapi.utils import get_openapi import yaml openapi_schema = get_openapi( title="FastAPI - Swagger UI", version="1.0.0", routes=app.routes ) print(app.routes) # 将 JSON 转换为 YAML yaml_data = yaml.dump(openapi_schema, sort_keys=False) # 保存为 YAML 文件 with open("openapi.yaml", "w") as f: f.write(yaml_data) print("OpenAPI YAML 文件已生成:openapi.yaml") import logging logging.basicConfig(level=logging.INFO) handler = logging.FileHandler('/app/logs/api-server.log', mode='w',encoding="utf-8") handler.setLevel(logging.INFO) formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') handler.setFormatter(formatter) logging.getLogger().addHandler(handler) app = FastAPI(root_path="/open_platform") # 允许所有来源的跨域请求 app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) from router.task_router import task_router app.include_router(task_router) from router.file_router import file_router app.include_router(file_router) from router.user_router import user_router app.include_router(user_router) # from router.graph_mgr_router import graph_mgr_router # app.include_router(graph_mgr_router) from router.kb_router import kb_router app.include_router(kb_router) #from router.graph_router import graph_router #app.include_router(graph_router) #app.include_router(dify_kb_router) from router.knowledge_base_router import knowledge_base_router app.include_router(knowledge_base_router) save_api_spec(app)