mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-10-14 12:02:27 +08:00
上一版守卫只看模型类型,不区分请求从哪个端点进来。OAuth 账号的 /v1/images/* 上游同样是 Codex Responses(openai_images_responses.go → handleOpenAIImagesErrorResponse → handleOpenAIAccountUpstreamError → HandleUpstreamModelNotFound),所以专用生图 端点也会命中 plan-gated 分支。账号确实不具备生图能力时跳过冷却,会让调度层失去 唯一的刹车:每个请求都完整走一遍号池,对上游形成无上界的 400 放大。 改动: - 新增 ctxkey.OpenAIImagesEndpoint 与 WithOpenAIImagesEndpoint / OpenAIImagesEndpointFromContext,在 handler/openai_images.go 入口置位; 与 OpenAIImageGenerationIntent 区分——后者在 /v1/responses 带图片模型时也会置位。 - 守卫下移到 modelKey 计算之后,抽成 shouldSkipCodexPlanGatedImageModelCooldown, 仅在 plan-gated 分支、且非 /v1/images/* 入站时生效。 - 同时判断 requestedModel 与最终 modelKey:冷却键走 account.GetMappedModel, 账号可以把文本别名映射到 gpt-image-*,只判请求模型会漏掉这种形态。