Files

2.0 KiB

id, title, phase, deps, status, created
id title phase deps status created
T-601 AI工场 BYOK 异步 submit/poll 接入 image_studio_jobs 8
T-600
TODO 2026-07-11

问题 / 背景

BYOK 生图不能回到客户端直连 OpenAI、同步等待几百秒的旧路径。即使用用户自己的 Key,也必须经 cmhub 授权代理提交任务,并复用 AI工场的 job 持久化、重启续查、下载失败不重提交流程。

方案

  • 在 AI工场生成来源显式选择“cmhub 托管 / 自定义模型”;默认仍是 cmhub 托管。
  • 自定义来源 submit 请求带 device credential、product、provider、模型档位、加密 task secret 引用和 image_studio_job key;不把明文 Key 写入 DB 或日志。
  • 复用 T-590/T-594 的 job 生命周期:pending/submitted/running/succeeded/failed/expired/cancelled;已有 task_id 只 poll,不重新 submit。
  • poll 成功后走同一下载与图片校验管线,生成 asset、比例、父图、提示词、provider 和使用记录。
  • BYOK points_cost=0,但日志和 UI 显示“费用由模型服务商收取”,并保留 provider/task_id/call_id 便于排障。

验收要点

  • 自定义来源 N 张生成产生 N 个 job/key/task;停止、重启、下载失败、单张失败语义与 cmhub 托管一致。
  • 无套餐/设备、Key 无效、Provider 不允许、模型不允许、上游失败、内容拒绝都有中文错误和可恢复状态。
  • BYOK 失败不扣 cmhub 点数;cmhub 托管失败不静默切到 BYOK。
  • 旧② AI生成、AI工场 cmhub 托管和 T-590/T-594 测试不回归。
  • 运行 ruff、compileall、unittest、git diff --check;不使用真实 Key 作为自动化测试前提。

边界(不改什么)

  • 不实现自动上传蝦皮,不改变终选/导出行为。
  • 不支持同步长等待,不支持客户端 direct,不支持任意 URL。
  • 不在本任务做完整安全审计收口,集中到 T-602。

执行记录

(完成后记录接口字段、job 状态映射和回归结果。)