Files
model-platform/backend/README.md
T
郑龙捷 74dd97428f feat: 接入运维真实数据与三角色权限链路
- 新增 model_deploy 与 model_operations 双库查询,支持模型列表、模型详情、单月监控结果和运维工作台真实接口。

- 关闭运维模块生产 Mock 数据,补充缺表/空数据降级、工作台空状态和首条纵向链路测试。

- 按业务团队、模型团队、管理员权限矩阵接入菜单、页面、操作按钮和后端接口权限校验,支持 business_team 角色。

- 更新工作台布局、深色欢迎卡片、全宽页面适配、顶部回退,以及权限分组展示。

- 新增架构实现基线、周目标完成情况和角色权限矩阵初始化 SQL 文档。
2026-09-02 15:02:47 +08:00

48 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Backend
统一 FastAPI 管理服务。包含用户、Workspace、脚本、稳定版本、调度定义、
立即运行以及 S3 对象接口。原 `platform_api``storage_api` 已在此
模块合并,外部 REST 契约保持不变。
底层走的是 `common.storage.AsyncStorageBackend` 抽象,按
`settings.storage_backend` 切换 s3 / local 两种实现。
## A 卡模型运维模块
运维能力作为同一 FastAPI 进程内的独立 bounded context 接入:
- 平台库继续使用 `DATABASE_URL`,负责登录、角色和工作空间校验。
- 运维库使用 `OPERATIONS_DATABASE_URL`;未配置时自动复用平台库连接信息,
仅将库名切换为 `model_operations`
- `PLATFORM_READ_DATABASE_URL``DEPLOY_DATABASE_URL` 使用独立只读
SessionMySQL 事务会显式执行 `SET TRANSACTION READ ONLY`
- 三套 SQLAlchemy engine/session factory 完全分离:模型、版本和银行基础信息从
`model_deploy` 只读查询,监控结果与运维业务数据从 `model_operations` 查询或写入。
- 当前已落地 P0 ORM,以及模型列表、模型详情、指定月份监控结果三条接口。
- 运维模型接口联查 `model_deploy``model_operations`;模型方写入部署/银行/版本
信息和监控结果后,列表、模型详情、工作台及指定月份监控结果由后端统一返回。
- Redis作为可选加速层接入:缓存聚合查询并承载通知 Streams;MySQL
Outbox仍是可靠事实源,Redis不可用时主接口继续运行。
本地启动:
```bash
uv run --package backend --env-file .env uvicorn backend.main:app \
--host 0.0.0.0 --port 8010 --reload
```
运维模块探针:
```text
GET /api/v1/operations/health
```
真实业务接口均需登录 Cookie 和 `workspace_id` 查询参数:
```text
GET /api/v1/operations/models?workspace_id=<ULID>
GET /api/v1/operations/models/{model_id}?workspace_id=<ULID>
GET /api/v1/operations/models/{model_id}/monitor-results?month=YYYY-MM&workspace_id=<ULID>
GET /api/v1/operations/workbench?workspace_id=<ULID>
```