docs(tasks): close review gaps in custom gateway suite split
对 T-678 细化与 T-679a/b/c 拆分的全栈复核结果: T-678:修正背景中不准确的收敛理由。api_type 在 app/ai.py 只有 :348、 :350 两处使用且都在图片路径内,文字路径从不读取该字段;不能全局收敛 的真实原因是 appconfig.py:881 对所有模型统一校验,收窄取值集合会让 存量文字模型在载入与保存时抛 ConfigError。方案首条同步改为按校验口径 表述,避免实现时去找不存在的文字侧分支。 T-679a/b/c:三处补加发布门禁,说明三者未全部完成前不得发布。拆分只为 控制改动面,不构成可独立发布的中间态——重复计费的二次确认定义在 T-679c,若 a/b 先上线,用户已能创建并失败 direct 任务却在无提示情况下 重试,属资金口径缺口而非体验缺陷。 T-679a:补记本任务组有意放宽 T-677「不给商品套图新增自定义网关路径」 的边界及理由(套图是来源切换后唯一完全断链的模块,图片理解不在放宽 范围内),避免后续回看误判两者矛盾。 T-679a:比例近似映射改为同时记录用户选择的比例与实际输出尺寸。原方案 只存原始比例会让 DB 记 9:16 而文件实际为 1024x1536;当前 add_asset 的 aspect_ratio 只写入无消费者(app/image_studio.py:707-731)故暂不可见, 但历史展示或导出一旦信任该字段即出错。新增字段迁移须附加式且幂等。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
7734b20434
commit
34c7a2e148
+4
-2
@@ -11,7 +11,9 @@ created: 2026-07-20
|
||||
|
||||
## 问题 / 背景
|
||||
|
||||
T-677 恢复了⑤的自定义网关(`ai.backend=direct`)。当前 `api_type` 同时用于文字与图片模型:文字模型需要 `chat/completions`,而图片模型的 `chat` / `auto` 分支则依赖非标准聚合网关把图片塞进对话响应。将 `appconfig.API_TYPES` 全局收敛成单一值会直接破坏自定义网关生文,因此必须按模型类别收敛。
|
||||
T-677 恢复了⑤的自定义网关(`ai.backend=direct`)。图片模型的 `chat` / `auto` 分支依赖非标准聚合网关把生成图塞进对话响应,不符合 OpenAI 规范,需要收敛。
|
||||
|
||||
**但不能全局收敛 `appconfig.API_TYPES`。** 代码事实是:`api_type` 在 `app/ai.py` 全文只有 :348、:350 两处使用,都在图片路径内,**文字生成路径从不读取该字段**;然而 `appconfig.py:881` 的 `if normalized["api_type"] not in API_TYPES` 对**所有模型统一校验,不分 category**。因此收窄全局取值集合的后果不是文字请求走错接口,而是存量文字模型(`api_type: "chat"`)在载入与保存时直接抛 `ConfigError`,自定义网关生文全部不可用。收敛必须按模型类别做,不能动全局集合。
|
||||
|
||||
当前 direct 图片编辑也只能提交单张图:`_image_edit_body()` 的 `files` 是单键字典,`_multipart_body()` 不能表达重复字段。商品套图需要按顺序提交“主体图 + 参考图”,其前置能力应在本任务完成。
|
||||
|
||||
@@ -21,7 +23,7 @@ T-677 恢复了⑤的自定义网关(`ai.backend=direct`)。当前 `api_type
|
||||
|
||||
### 1. 按类别收敛模型接口
|
||||
|
||||
- 保留全局 `API_TYPES = {"chat", "images_edits", "auto"}`,避免影响 `category=text` 的既有生文请求。
|
||||
- 保留全局 `API_TYPES = {"chat", "images_edits", "auto"}`,使 `category=text` 的既有模型配置仍能通过 `appconfig.py:881` 的校验正常载入与保存。
|
||||
- 新增“图片编辑能力”校验:仅 `category=image` 且 `api_type=images_edits` 的模型可用于②生成封面与后续⑥商品套图;文字模型保持既有 `chat` / `auto` 行为。
|
||||
- 图片模型的 `chat` / `auto` 存量配置原样保存、可查看,但在⑤显示“当前图片模型不支持 OpenAI 图片编辑接口”的中文状态,并在②、⑥预检中阻止提交。不得静默迁移、禁用或删除,避免触发“至少一个 image 模型启用”的既有校验冲突。
|
||||
- ⑤根据模型类别展示接口类型:文字模型保留现有可选项;图片模型只允许选择并显示“OpenAI 图片编辑接口”。不再以全局文案宣称 `chat/completions` 永远不能生成图片,而是说明其不符合本项目锁定的图片编辑响应契约。
|
||||
|
||||
Reference in New Issue
Block a user