模块地图

想快速定位"某业务功能对应哪个 model / view / 前端页面文件",或想总览后端四大目录与前端结构时读这篇

07-参考速查 / 速查
模块地图module map代码结构modelsviewstasksutils目录结构领域映射domain mapmodel-view-page前端页面pagesrouterConfigADUGTemplatecelery

模块地图

本文是从源码派生的总览级导航地图,用于快速定位"某业务功能 → 哪些 model / view / 前端文件"。 仓库根:cube-studio-enterprise/,后端在 myapp/,前端在 myapp/frontend/。

设计原理、组件关系请看『01-架构原理』段;后端框架与二次开发细节请看『06-二次开发』段。 本表为代码派生总览,具体以源码为准,仅供导航。

1. 后端 myapp/ 分组概览

应用工厂在 myapp/__init__.py(创建 Flask app、注册各 view 蓝图、初始化 SQLAlchemy / Celery / 鉴权)。各 REST 控制器通过 myapp/views/__init__.py 统一 import 后,在模块加载时调用 appbuilder.add_api(...) 完成注册。

子目录 规模 作用
myapp/models/ 33 个 .py(含 __init__.py/base.py/helpers.py) SQLAlchemy ORM 模型,业务模型多以 model_*.py 命名
myapp/views/ 56 个 .py,其中 49 个 view_*.py REST 控制器,多继承 baseApi.py 的 MyappModelRestApi
myapp/tasks/ celery_app.py + async_task.py + schedules.py Celery 异步任务与定时任务
myapp/utils/ 多模块 + 子目录 共享工具

tasks/ 任务清单(已核对 @celery_app.task 名)

  • 异步任务(async_task.py):task.check_docker_commit、task.check_notebook_commit、task.check_rental_instance_commit、task.upgrade_service、task.update_dataset、task.get_k8s_resource、task.upload_knowledge、task.llm_safety_check。
  • 定时任务(schedules.py):task.delete_workflow、task.delete_notebook、task.delete_debug_docker、task.make_timerun_config(定时任务流补录/调度核心)、task.upload_workflow、task.delete_old_data、task.check_pipeline_run、task.push_workspace_size、task.watch_gpu、task.watch_pod_utilization、task.adjust_node_resource、task.adjust_service_resource、task.adjust_pipeline_resource、task.cronhpa、task.check_pod_terminating、task.day_bill。

utils/ 主要模块

  • 模块文件:cache.py(缓存)、celery.py、core.py(核心工具)、dates.py、decorators.py、k8s_data_analysis.py、approval_engine.py(审批引擎)、labelstudio.py(标注集成)、push.py(消息推送)、routes.py(菜单→路由映射)、etl_type_check.py、file_download.py、image_utils.py、log.py。
  • 子目录:sqllab/(SQL 查询)、echart/(图表)、plugin/(插件)、tool/、alipay/、wework/、py/、torch_network_layers/。

2. 领域映射表(model → view → 前端,核心)

说明:大量"列表/详情/表单"页面由前端 ADUGTemplate.tsx 根据后端 /_info 接口配置动态渲染,并非每个资源都有独立前端页面文件。下表"前端"列写明独立页面或动态模板。

业务域 model 文件(主要类) view 文件 前端
任务流编排 model_job.py(Pipeline/Task/RunHistory/Workflow) view_pipeline.py、view_pipeline_immutable.py、view_task.py、view_runhistory.py、view_workflow.py vision(DAG 编排,独立 npm 模块)
任务模板/镜像 model_job.py(Job_Template/Images/Repository)、model_docker.py(Docker) view_job_template.py、view_images.py、view_docker.py ADUGTemplate 动态页
Notebook 在线开发 model_notebook.py view_notebook.py pages/Jupyter
在线服务 model_serving.py(Service/service_common) view_serving.py ADUGTemplate 动态页
推理服务 model_serving.py(InferenceService) view_inferenceserving.py ADUGTemplate 动态页
服务任务流 model_service_pipeline.py view_service_pipeline.py pages/CommonPipeline 编排画布
可视化模型定义 model_model_define.py view_model_define.py 编排画布(model_define_url)
数据大屏 —(布局在 py_dashboard.py) view_dashboard.py pages/Dashboard(/dashboard)
数据集/标注 model_dataset.py view_dataset.py、view_labelstudio.py ADUGTemplate 动态页 + labelstudio 代理
AIHub 模型市场 model_aihub.py(Aihub) view_aihub.py(按 visual/voice/language/multimodal/aigc/all 多路由) ADUGTemplate 动态页
对话/LLM model_chat.py(Chat/ChatLog)、model_llm_ingress.py(Ingress) view_chat.py、view_chat_dingtalk.py、view_chat_wechat.py、view_chat_wework.py、view_llm_ingress.py pages/ChatReact
ETL 任务流 model_etl_pipeline.py(ETL_Pipeline/ETL_Pipeline_Run/ETL_Task) view_etl_pipeline.py、view_etl_pipeline_run.py、view_etl_pipeline_etl.py、view_etl_pipeline_data_analysis.py visionPlus 模块、pages/CommonPipeline
元数据/指标/维表/血缘 model_metadata.py、model_metadata_metric.py、model_dimension.py view_metadata.py、view_metadata_metric.py、view_dimension.py、view_blood.py pages/Blood、pages/DataDiscovery、pages/DataSearch
服务编排 model_service_pipeline.py(Service_Pipeline) view_service_pipeline.py ⚠️ 见下注 ADUGTemplate 动态页
超参搜索 model_nni.py(NNI) view_nni.py ADUGTemplate 动态页
训练模型登记/定义 model_train_model.py(Training_Model)、model_model_define.py(Model_define) view_train_model.py、view_model_define.py ⚠️ 见下注 ADUGTemplate 动态页
算力租赁/存储租赁/账单/发票/充值 model_rental_instance.py(RentalInstance)、model_storage_lease.py(StorageLease)、model_bill.py(Bill)、model_invoice.py(Invoice) view_rental.py、view_storage_lease.py、view_bill.py、view_invoice.py、view_recharge.py(/recharge_modelview/api + /recharge) pages/ComputeLeasing、pages/RentalInstance、pages/StorageLease、pages/Recharge
项目组/权限 model_team.py(Project/Project_User)、user_attributes.py(UserAttribute) view_team.py、view_user_role.py 前端 /security 路由(iframe 嵌入 FAB 安全页)
登录/单点登录 —(认证视图) view_login.py(db/oauth2/cas/feishu/wecom 多 route_base) pages/Login
资源/节点/存储/Pod/K8s model_node.py(Node)、model_storage.py(Storage)、model_pod.py(Pod) view_resource_node.py、view_resource_storage.py、view_pod.py、view_k8s.py、view_total_resource.py ADUGTemplate 动态页 + pages/Jupyter(pod 终端)
审批/消息/日志/SQL查询/收藏 model_approval.py、model_message.py、log.py(Log)、model_sqllab_query.py、favorite.py view_approval.py、view_message.py、view_log.py、view_sqllab.py ADUGTemplate 动态页
仪表盘 —(聚合多模型数据) view_dashboard.py pages/Dashboard

注意:view_service_pipeline.py 与 view_model_define.py 在 myapp/views/__init__.py:28,50 中被注释掉(# from . import view_service_pipeline、# from . import view_model_define)。两者的 appbuilder.add_api(...)(view_service_pipeline.py:711、view_model_define.py:650)仅在模块被 import 时执行,因此默认构建下这两个视图未被注册,对应 service_pipeline_modelview/api、model_define_modelview/api 不可用。

3. 前端 frontend/src 概览

路由在 src/routerConfig.tsx。除少量独立页面外,菜单项由后端 /myapp/menu 返回,前端按 menu_type 选择渲染器:api→ADUGTemplate(通用 CRUD 列表/详情/表单)、iframe→IframeTemplate、out_link→OutLinkTemplate、innerRouter→独立页面组件。

独立页面目录(src/pages/):

  • Home(首页)、Login(登录)、UserCenter(用户中心)、Dashboard(仪表盘)
  • Jupyter(在线 IDE / pod 终端)、ChatReact(对话)
  • Blood(数据血缘)、DataDiscovery、DataSearch(数据查询/资产发现)
  • CommonPipeline(通用关系图/编排)、ComputeLeasing(算力租赁)、RentalInstance(实例管理)、StorageLease(存储租赁)、Recharge(充值)
  • GenericDetail(通用详情)、Page404
  • 顶层动态模板:ADUGTemplate.tsx(后端配置驱动的通用 CRUD 页)、IframeTemplate.tsx、OutLinkTemplate.tsx、ShowData.tsx、ChartOptionTempalte.tsx

API 客户端(src/api/):home.ts、kubeflowApi.ts(菜单/导航)、bloodApi.ts、chatgpt.ts、commonPipeline.ts、computeLeasingApi.ts、dataSearchApi.ts、iframeTemplateApi.ts、jupyterApi.ts、rentalInstanceApi.ts、userinfoApi.ts、index.tsx、interface/(TS 类型)。

状态管理用 MobX(store),国际化用 i18next(locales,en/zh)。

其他独立 npm 模块(不在 frontend/ 内):vision/(ML 任务流 DAG 可视化)、visionPlus/(ETL 流程可视化)。

4. 注册与路由约定

  • 每个 view_*.py 中的 REST 类设置 route_base(如 /pipeline_modelview/api),自定义业务端点用 flask_appbuilder.baseviews.expose_api(description=..., url=...) 装饰,description 多为中文,便于检索。
  • 标准 CRUD 端点由 baseApi.py 的 MyappModelRestApi 统一提供,详见本段 核心API速查.md。
  • 各资源 route_base、自定义端点清单见 核心API速查.md;各 model 类与字段/关系见 核心数据模型速查.md。

本表为代码派生总览,模块归属与文件名以 myapp/ 源码为准,仅供导航。

最后更新 2026-08-24完整文档以官方仓库为准:GitHub Wiki