Skip to content

02 · Bridge 层

架构剖析第二篇:本地 FastAPI 桥承担了什么、路由怎么组织、SSE 事件泵与并发、启动副作用顺序。 对应「技术架构长视频」章节 2。来源 ARCHITECTURE.md §3。


§3.1 为什么选 FastAPI

  • 类型安全(pydantic)、自动 OpenAPI、ASGI 支持 HTTP/2 + SSE;
  • 与 Electron renderer 直接对话(而非双进程间复杂 IPC)简单可靠。

§3.2 路由组织

  • src/bridge/routes/ 下按领域拆分:chat / tree / agents / settings / cron / schedule / todo / reminders / skills / monitor / daily / digital_human / asr / auth / usage / status / reports / gift / cg / agent_workshop / skill_forge / skill_proposals / skill_workshop / feishu / background / user / agent_recipes / broker / broker_workshop / broker_app / pipelines / flows / broadcast / memory_status / onboarding / phone_call / quick_ask / responses / setup / tool_skills / vram / agent_activity / agent_assets …(47 文件)。
  • 每个文件是一个 APIRouter,mounted 到各自 prefix。

§3.3 SSE 事件泵与并发控制

  • /api/chat/streamSSE
  • HTTP/2 多路复用解决 Chromium 6-socket/host 上限 → 客户端可并行多个流;
  • 每个对话一个异步任务,事件通过队列推给 renderer。

§3.4 Bridge 启动副作用顺序(重要!)

src/bridge/app.py import 时按顺序做:

  1. pin WORKSPACE_ROUTE(仓库根);
  2. 主线程 pin CUDA(Windows WDDM 不允许 worker 线程首触 GPU);
  3. align_all_paths() —— 路径漂移自动对齐(必须在任何 DialogueManager 读对话之前);
  4. import + mount 47 路由;
  5. 注册 CORS + BridgeTokenMiddleware
  6. startup hooks:broker_workshop bootstrap → anyio 线程限制器提升 → 池看门狗 → 浏览器生命周期;
  7. 模块级:杀孤儿 GPU 进程 → 预热 embedder/rembg/rewriter/最近的 DH → autorun 检查 → rehydrate 监控/cron/技能调度。

顺序错误会直接崩(CUDA 首触线程、路径未对齐读对话)。改这段请谨慎。


视频时间点映射

视频时间点内容
(待录制)Bridge 总览:路由 47 个、SSE 流、HTTP/2
(待录制)启动副作用顺序演示(改一个会怎样)

下一篇:03-Agent 管线

✨ Familiars · 多 Agent AI 桌面应用 —— 对话树记忆 · 长期记忆 · 工具系统 · 数字人 · Broker 生态