Files
cmshoppe/docs/tasks/T-596.md
T

56 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: T-596
title: AI工场自定义模型(BYOK)总设计与启动门禁
phase: 8
deps: [T-598]
status: TODO
created: 2026-07-11
---
## 问题 / 背景
自定义模型是 AI工场 cmhub 托管链路完成后的后续增强,不属于 T-586~T-595 的当前交付范围。只有这些任务全部完成并验收后,再完成 T-597/T-598 的托管 GPT 模型评测与默认档位收口,才能启动 BYOK。
BYOK 不能再做成一个大任务直接编码。它涉及设备授权、套餐、密钥本地保护、服务端 Provider 白名单、异步 submit/poll、日志脱敏和零点数账本,必须先冻结契约,再按 T-599~T-602 小步落地。
后续实现时,自定义 Key 仍必须经过软件套餐/设备授权和 cmhub 异步任务代理,不能恢复客户端 direct 直连或同步长等待。
## 解除阻塞条件
- T-586~T-595 已全部完成,cmhub 托管链路已独立发布和验收。
- T-597/T-598 已完成,产品默认仍是 cmhub 托管模型,普通用户不被迫配置自定义 Key。
- cmhub 完成《卡密设备绑定与套餐授权方案》V1.5 所定义的 device credential、BYOK Provider 白名单、加密 task secret、零点数使用记录和 submit/poll 契约。
- cmhub 提供版本化 API 文档、错误码、至少一个受支持 Provider(第一期优先 OpenAI)、测试凭证和 mock/测试环境。
- 明确 BYOK title/image 请求、task secret 生命周期、终态清理、幂等键、下载口径和计费字段。
- 服务端确认 Key 不进入 request_payload、CallRecord、队列日志、遥测或异常监控。
## 方案
- 本任务只做启动门禁和总设计冻结:核对 cmhub V1.5 契约、OpenAI Provider 白名单、客户端保存/传输边界、错误码和任务拆分。
- 若任何解除阻塞条件缺失,把本任务改为 `BLOCKED` 并在执行记录写明缺口;不得猜字段、不得先写临时兼容代码。
- 通过后再按子任务实现:
- T-599:BYOK OpenAI Provider 契约、白名单与套餐校验对齐。
- T-600:BYOK Key 本地 DPAPI 存储与设置 UI。
- T-601:BYOK 异步 submit/poll 接入 AI工场 job 生命周期。
- T-602:BYOK 安全日志、零点数账本与端到端回归。
- 正式发行版继续禁用普通用户通过旧 `direct` 后端绕过 cmhub 授权代理。
## 验收要点
- 形成一份可执行的 BYOK 启动检查记录:已满足 / 未满足 / 证据来源 / 后续 owner。
- 明确第一期是否只支持 OpenAI Provider,以及允许的模型档位、能力范围、图片编辑接口和最大超时。
- T-599~T-602 的依赖、边界、验收点能独立执行,不再把 BYOK 当一个巨型编码任务。
- 若转 `BLOCKED`,后续子任务不得开工;若保持 `TODO/DONE`,必须说明接口契约已足够实现。
- 不提交真实 Key、测试凭证、账号、Cookie、业务图片或 data 目录。
## 边界(不改什么)
- 启动前提或接口契约未满足时不实现临时兼容接口。
- 不允许任意上游 URL,不做客户端直连,不同步长等待。
- 不改 cmhub 托管预扣/退点账本。
- 不改 T-586~T-595 已完成的 cmhub 托管 AI工场主线。
## 执行记录
TODO:领取时先核验 T-595/T-598 与 cmhub V1.5 授权、BYOK 异步契约;未满足则标记 BLOCKED,不编码。