feat: 素材诊断自动化——上传后自动触发,无需用户手动点击 #1574

Open
opened 2026-08-31 15:09:12 +08:00 by xiaoxia · 0 comments
Owner

背景

当前素材库的诊断功能需要用户手动点击卡片上的按钮触发,体验不够自动化。诊断应该在素材上传/导入完成后自动运行,结果直接展示在卡片上。

现状

  • 前端:AssetCard.tsx 有诊断按钮,点击调用 getAssetDiagnosis(assetId)
  • 后端:asset_diagnosis.py 提供诊断接口
  • 诊断内容:就绪分、质量评分、使用次数、问题提示

改造方案

1. 后端:素材入库后自动触发诊断

触发时机:素材上传完成后,状态变为 ready 时

实现方式:

  • 在 ingest.py 中,素材处理完成后调用诊断逻辑
  • 或新建 Celery 任务 run_asset_diagnosis

诊断结果存储:

  • Asset 模型增加字段:diagnosis_score(Integer)、diagnosis_label(String)、diagnosis_gaps(JSON)

2. 前端:移除手动诊断按钮

  • AssetCard.tsx 移除诊断按钮
  • 卡片直接显示诊断结果

3. 诊断逻辑复用

复用现有 asset_diagnosis.py 中的 _build_single_asset_diagnosis 逻辑

验收标准

  1. 素材上传完成后,卡片自动显示诊断结果
  2. 前端不再有诊断按钮
  3. 诊断结果准确反映素材状态

相关文件

  • apps/worker/worker_app/tasks/ingest.py
  • apps/api/app/api/routes/asset_diagnosis.py
  • apps/web/src/pages/assets/components/AssetCard.tsx
## 背景 当前素材库的诊断功能需要用户手动点击卡片上的按钮触发,体验不够自动化。诊断应该在素材上传/导入完成后自动运行,结果直接展示在卡片上。 ## 现状 - 前端:AssetCard.tsx 有诊断按钮,点击调用 getAssetDiagnosis(assetId) - 后端:asset_diagnosis.py 提供诊断接口 - 诊断内容:就绪分、质量评分、使用次数、问题提示 ## 改造方案 ### 1. 后端:素材入库后自动触发诊断 触发时机:素材上传完成后,状态变为 ready 时 实现方式: - 在 ingest.py 中,素材处理完成后调用诊断逻辑 - 或新建 Celery 任务 run_asset_diagnosis 诊断结果存储: - Asset 模型增加字段:diagnosis_score(Integer)、diagnosis_label(String)、diagnosis_gaps(JSON) ### 2. 前端:移除手动诊断按钮 - AssetCard.tsx 移除诊断按钮 - 卡片直接显示诊断结果 ### 3. 诊断逻辑复用 复用现有 asset_diagnosis.py 中的 _build_single_asset_diagnosis 逻辑 ## 验收标准 1. 素材上传完成后,卡片自动显示诊断结果 2. 前端不再有诊断按钮 3. 诊断结果准确反映素材状态 ## 相关文件 - apps/worker/worker_app/tasks/ingest.py - apps/api/app/api/routes/asset_diagnosis.py - apps/web/src/pages/assets/components/AssetCard.tsx
xiaoxia added the P2feature labels 2026-08-31 15:09:12 +08:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: xiaoxia/xiaoxia-saas#1574