Skip to content

GenBox 架构

liwei9745 edited this page Jul 9, 2026 · 2 revisions

title: GenBox 架构 type: concept created: 2026-07-10 updated: 2026-07-10 sources: [genbox-extracted.json] tags: [architecture, backend, frontend]

GenBox 架构

GenBox 是一站式多模型生图生视频服务:后端 FastAPI(约 6600 行 Python),前端原生单页应用(static/),可 PyInstaller 打包成桌面应用。

分层

  1. 入口层Module-main:FastAPI app,挂载 47 个路由,负责进程内 HTTP 服务 + 浏览器自启。
  2. 配置层Module-config + Module-providers-config:全局配置与动态 Provider 注册。
  3. 业务层 — 生成 / 视频 / 画廊 / dashboard 四大域,各自模块。
  4. 数据层storage/:providers.json(运行时可写)、gallery、history、logs。
  5. 表现层 — 前端单页应用 前端单页应用,通过 /api/* 与后端通信。

请求生命周期(以生图为例)

用户在前端选择 Provider + prompt
  → POST /api/generate
  → [[图像生成流水线]] 调用 Provider base_url
  → 结果写入 storage/gallery
  → 前端轮询 GET /api/generate/status/{id}
  → 画廊展示

关键设计

  • Provider 抽象:所有生图/视频后端统一为 Provider(id/type/base_url/api_key/models,其中 api_key 等敏感字段存于本地配置,不在文档中暴露),见 Provider-注册系统
  • 运行时可写配置:providers.json 前端可改,无需重启。
  • PyInstaller 兼容:get_base_path() 区分源码/打包后路径。

See Also

Clone this wiki locally