模块知识库/Vibe-Trading 量化交易智能体平台/Vibe-Trading Agent 核心运行时/FastAPI HTTP 路由与认证中间件/编码规范
- 每个路由文件暴露一个
register_<domain>_routes(app, ...) 函数,由宿主在启动时调用以将路由挂载到同一个 FastAPI 实例上。
- 对宿主
api_server 的依赖通过 import sys; host = sys.modules.get('api_server') 延迟读取,而非在模块顶层 import,以避免循环导入并支持测试 monkeypatch。
- 鉴权通过 FastAPI
Depends(require_auth) 或 Security(HTTPBearer(...)) 声明,敏感端点统一返回 HTTPException(status=401/403) 而非自定义异常。
- 共享服务(SessionService、ChannelRuntime、MessageBus)在
state.py 中以模块级变量缓存,并通过 _get_* 懒初始化函数首次访问时构建,未启用功能直接返回 None。
- Pydantic 响应模型集中在
models.py 中定义并被多个路由复用;领域内局部模型则就近定义在对应路由文件中。
- 对外部资源(后端、LLM provider、技能加载器)采用请求处理函数内的
from ... import 延迟导入,减少冷启动开销并在不可用时优雅降级。