Skip to content

fix(workflow-editor): 接入真实 Generation 运行时 #262

Description

@huyanxius

问题

生产环境 https://windup.xin/workflow-editor/18 可以稳定恢复 WorkflowRun 与画布,但页面顶部固定显示:

GenerationApis 尚未接入真实后端,不能执行或恢复生成任务

点击“重试读取生成结果”仍然返回同一错误,导致 Workflow Editor 无法读取已有 Generation,也无法提交或恢复新的生成任务。

最新主仓 main38ee1f2)仍存在该问题。真实 createGenerationApis 已经合入并被 Quick Start 使用,但 Workflow Editor 的默认会话仍注入 createUnavailableGenerationApis();只要 WorkflowRun 节点包含 Generation 引用,读取就会由前端占位实现主动拒绝,不会请求后端。

开放 PR #246 正在处理相同方向,但尚未合入主仓,且其当前实现收到认证恢复评审:后端会以 HTTP 200 + 业务 code: 401 表示 access token 过期,Generation 的普通 HTTP 请求必须沿用共享会话恢复并只重放一次,不能只给 raw fetch 添加旧 token。

复现步骤

  1. 登录生产环境。
  2. 打开 https://windup.xin/workflow-editor/18
  3. 等待 WorkflowRun 恢复完成。
  4. 观察页面顶部错误,点击“重试读取生成结果”。

当前结果

  • WorkflowRun 与项目上下文正常显示。
  • 身份母版节点保留此前上游生图服务返回的 525 SSL Handshake Failed 失败记录。
  • 页面读取 Generation 时由前端占位实现直接失败,重试不会访问真实 Generation 接口。

期望结果

  • Workflow Editor 默认会话使用主仓已有的真实 Generation 适配器。
  • 已有任务可通过 GET /generation/tasks/{id} 恢复,创建任务走对应 Generation POST 接口,进行中任务可通过 SSE 或既有轮询兜底继续更新。
  • HTTP 请求携带当前 access token;遇到 HTTP 200 + 业务 code: 401 时调用共享会话恢复并使用新 token 重放一次。
  • SSE 保持现有鉴权恢复行为。
  • 页面不再出现“GenerationApis 尚未接入真实后端”的占位错误。

范围

  • 仅修复前端 Generation 生产适配器与 Workflow Editor 默认会话装配。
  • 补充默认装配、HTTP 业务 401 恢复和真实任务读取的回归测试。
  • 不修改 WorkflowRun、WorkflowController、后端接口、生产数据或 QnAIGC 服务。
  • QnAIGC 的 525 SSL Handshake Failed 是独立的上游服务故障,不由本 Issue 修复。

验收标准

  • 最新主仓中 Workflow Editor 默认会话不再使用占位 GenerationApis。
  • 含已有 Generation 引用的 WorkflowRun 能读取对应任务快照。
  • 创建与查询请求携带当前 access token。
  • HTTP 200 + 业务 code: 401 成功刷新后只重放一次,并使用新 token。
  • SSE 保持鉴权恢复和轮询兜底。
  • 相关 Workflow Editor、Generation 与认证恢复测试通过。
  • 对生产同类 WorkflowRun 做真实浏览器验证,不触发新的付费生成。

关联

Metadata

Metadata

Assignees

No one assigned

    Labels

    MiniSpec小改动的精简规格P0优先级 P0(最高,先做)bugSomething isn't working

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions