# 请求去重 + 实时推送 两项关键的工程优化 - **策略**:`hash(prompt + assetType + params)` 生成唯一键 - **存储**:`sync.Map` 内存缓存,TTL 自动过期 - **逻辑**:相同参数的并发请求自动合并,返回已有 `taskId` - **效果**:避免重复生成,节省 API 调用成本,提升用户体验 - 用户建立 `ws://host/api/v1/tasks/:taskId/ws` 连接 - 管线各阶段执行时推送实时状态消息: ```json { "type": "progress", "stage": "asset_generator", "progress": 45, "message": "正在生成素材..." } ``` - 质检重试时推送额外信息:重试次数、重试原因 - 管线完成时推送最终结果:素材 URL、元数据 - **兼容方案**:同时支持 HTTP 轮询(`GET /api/v1/tasks/:taskId`)