feat: add admin provider analytics dashboard

This commit is contained in:
2026-04-19 18:56:17 +08:00
parent b89ca96e4b
commit 395cdf4edd
12 changed files with 886 additions and 51 deletions

View File

@@ -126,7 +126,7 @@ DreamWeaver 是面向 3-8 岁亲子场景的个性化 AI 绘本与陪伴式讲
### 2:20 - 3:00 取舍与下一步
求职版优先稳定闭环和可解释性,不做支付、多租户和复杂监控。现在 job/event 已能查询 workflow、资产补全、provider 调用轨迹和聚合指标,用户端和管理端也能展示生成轨迹与跨故事 Provider 运营摘要;统一生成也已经迁移到后台 worker下一步是补取消/重试队列。
求职版优先稳定闭环和可解释性,不做支付、多租户和复杂监控。现在 job/event 已能查询 workflow、资产补全、provider 调用轨迹和聚合指标,统一生成迁移到后台 worker取消/重试队列也已打通;用户端可看跨故事运营摘要,管理端可看当前环境跨用户 Provider dashboard。下一步应补跨环境汇聚、断点续跑和更完整监控
---

View File

@@ -51,7 +51,7 @@ SMOKE_AUDIO=1 ./scripts/demo_smoke.sh
- **AI 不确定性处理**:主内容和资产拆开,图片/音频失败不阻塞阅读。
- **Provider 产品化**:用户看到稳定能力,系统内部用 Capability / Provider / Adapter / Routing Policy 管供应链。
- **可观测性**generation job/event 让生成过程、失败恢复和 Provider 成本可解释。
- **可继续生产化**:统一生成已迁移到 worker前端轮询任务事件模型也已打通,下一步是补取消/重试队列和更完整监控。
- **可继续生产化**:统一生成已迁移到 worker前端轮询任务事件模型、取消/重试队列和管理台当前环境 dashboard 也已打通,下一步是补跨环境汇聚、断点续跑和更完整监控。
---
@@ -63,4 +63,4 @@ SMOKE_AUDIO=1 ./scripts/demo_smoke.sh
| 图片生成失败 | 展示 `degraded_completed` 与资源重试 |
| Docker 冷启动慢 | 演示前先跑 smoke 并保持容器运行 |
| Provider 追问过深 | 回到 Capability / Provider / Adapter / Routing Policy 四层解释 |
| 生产化追问 | 说明下一步是取消/重试队列、监控告警、密钥治理和 Provider analytics 扩展 |
| 生产化追问 | 说明下一步是跨环境 Provider 汇聚、断点续跑、监控告警和密钥治理 |

View File

@@ -83,4 +83,4 @@ AI 生成产品最大的问题不是“能不能调模型”,而是结果不
### 这个项目下一步怎么上线?
我已经把当前轻量 job/event 模型迁移到后台 worker并打通了前端进度轮询;下一步会补取消/重试队列,再继续扩展跨时间窗口和跨用户维度的 provider 运营分析。生产上线前还需要补真实用户鉴权配置、密钥管理、监控告警和部署策略。
我已经把当前轻量 job/event 模型迁移到后台 worker并打通了前端进度轮询取消/重试队列和管理台当前环境运营视图;下一步会补跨环境 Provider 汇聚、断点续跑和更完整监控。生产上线前还需要补真实用户鉴权配置、密钥管理和部署策略。

View File

@@ -72,6 +72,7 @@ Week 2 已完成演示闭环、统一生成工作流、generation job/event、
| W4-09 | Workflow | 卡住任务自动收敛 | `GENERATION_JOB_STALE_MINUTES` + Celery beat stale job maintenance | P1 | Done |
| W4-10 | Workflow | 防止重复资产任务 | 运行中故事拒绝重复封面/音频/资产重试请求 | P1 | Done |
| W4-11 | Workflow | 生成任务取消与重新排队 | 取消已提交任务,失败/取消任务可重新排队 | P1 | Done |
| W4-12 | Ops | 管理台当前环境跨用户 Provider dashboard | `GET /admin/providers/analytics` + admin console 运营摘要面板 | P1 | Done |
---

View File

@@ -40,6 +40,7 @@ DreamWeaver 已经具备求职演示所需的完整闭环:
- Provider failover 和聚合指标
- 跨故事 Provider analytics
- 任务运行概览、最近失败摘要与卡住任务收敛
- 当前环境跨用户 Provider dashboard
- 前端生成轨迹和自动轮询形态
---
@@ -61,7 +62,7 @@ DreamWeaver 已经具备求职演示所需的完整闭环:
| Priority | Task | Why |
| --- | --- | --- |
| P0 | 跨用户 / 跨环境 Provider dashboard | 当前已支持单用户摘要,后续要支持运营视角 |
| P0 | 跨环境 Provider dashboard | 当前环境跨用户摘要已落地,后续需要多部署汇聚视角 |
| P1 | 监控告警与结构化 dashboard | 目前已有故事库级概览,后续要接入更完整观测体系 |
| P1 | 断点续跑与更细粒度任务控制 | 让取消、重试和 worker 恢复更稳 |
| P2 | 更细粒度叙事风格与音色策略 | 扩展体验,但不影响当前求职版主线 |

View File

@@ -77,16 +77,20 @@ DreamWeaver 当前同时支持普通故事生成、完整故事生成和绘本
- `POST /api/generations/jobs/{job_id}/cancel`
- `POST /api/generations/jobs/{job_id}/retry`
- 创建弹窗与生成轨迹都可触发取消或重新排队
- 管理台已补当前环境的跨用户 Provider dashboard
- `GET /admin/providers/analytics`
- 支持 `days` / `capability` 筛选
- 可查看跨用户调用量、成功率、平均耗时、预估成本、失败原因和 Top 用户分布
### Remaining Production Work
- 普通故事、完整生成、绘本生成已有统一外部入口,内部 workflow 仍可继续减少兼容层分支
- 统一资产重试入口已覆盖普通故事封面、绘本缺失插图和故事音频,后续可继续扩展更细的资产级审计
- 断点续跑、跨用户/跨环境 Provider 分析,以及更细粒度的任务控制策略仍属于后续生产化增强
- 断点续跑、跨环境 Provider 汇聚视图,以及更细粒度的任务控制策略仍属于后续生产化增强
### What This Means
这份 PRD 仍然保留目标态设计,但主干能力已经可在当前代码中演示。当前最适合的继续方式,是在已落地的 worker 化任务控制基础上,把当前首版运营摘要扩展为可筛选、可对比的分析视角,并逐步补断点续跑和更完整监控,而不是继续扩大功能范围。
这份 PRD 仍然保留目标态设计,但主干能力已经可在当前代码中演示。当前最适合的继续方式,是在已落地的 worker 化任务控制和当前环境运营 dashboard 基础上,继续补断点续跑、跨环境汇聚和更完整监控,而不是继续扩大功能范围。
---
@@ -97,7 +101,7 @@ DreamWeaver 当前同时支持普通故事生成、完整故事生成和绘本
DreamWeaver 当前存在以下工作流层面问题:
1. **生成入口已建立,内部路径正在收束**
当前前端已切到 `/api/generations`,旧的 `/api/stories/generate``/api/stories/generate/full``/api/storybook/generate` 仍作为兼容入口保留。service 内部已抽取上下文准备、主记录保存、封面补全、绘本插图补全和音频补全 helper并用 `AssetCompletionResult` 表达资产补全结果。generation job/event 已落库并可查询Provider 调用轨迹、单故事聚合指标跨故事运营摘要也已进入用户端与管理端展示;统一生成请求现在已经交给后台 worker 执行。下一步重点是把取消/重试队列也接到这套事件模型上
当前前端已切到 `/api/generations`,旧的 `/api/stories/generate``/api/stories/generate/full``/api/storybook/generate` 仍作为兼容入口保留。service 内部已抽取上下文准备、主记录保存、封面补全、绘本插图补全和音频补全 helper并用 `AssetCompletionResult` 表达资产补全结果。generation job/event 已落库并可查询Provider 调用轨迹、单故事聚合指标跨故事运营摘要和管理台跨用户 dashboard 都已进入前端展示;统一生成请求现在已经交给后台 worker 执行。下一步重点应转向断点续跑和跨环境汇聚,而不是再补一套新的入口
2. **保存与资产补全过程正在统一**
文本故事和绘本已拥有更清晰的主记录保存 helper普通故事封面、绘本缺失插图、故事音频生成/缓存已共用各自的 asset completion helper。服务层已经能表达资产任务结果并会把统一入口、资产重试、绘本逐页插图和音频生成的关键节点写入 job event。

View File

@@ -100,7 +100,7 @@ flowchart LR
当前仍是求职版 MVP不引入复杂工作流引擎。下一步生产化优先级
1.齐生成任务取消与重新排队能力,减少误触和重复消耗
2. 基于现有 job 查询和前端轮询继续扩展真实异步进度与任务控制。
3. 扩展 Provider analytics 的时间窗口、失败原因和跨用户维度
4. 继续补充部署、监控告警和密钥治理策略。
1.跨环境 Provider 汇聚视图,避免每个部署环境各自成孤岛
2. 基于现有 job 查询和前端轮询继续扩展断点续跑与更细粒度任务控制。
3. 在当前环境 dashboard 基础上继续扩展失败原因、监控告警和结构化观测能力
4. 继续补充部署密钥治理策略。

View File

@@ -61,7 +61,7 @@ job 响应会返回 `progress_percent`、`progress_label` 和 `is_terminal`
当前已有两层记录,未来可以继续扩展字段和事件颗粒度:
- 继续复用现有 job 查询和前端轮询进度条,为取消请求、重新排队和长任务通知提供统一入口。
- 当前跨故事 provider 指标扩展为跨用户、跨环境和更细颗粒度的失败原因维度分析。
- 当前环境的跨用户 provider dashboard 已在 admin 端落地,下一步应补跨环境汇聚和更细颗粒度的失败原因维度分析。
## 面试表达