fix: 修复图片生成与编辑请求的本地代理链路 - #2104
Conversation
BigPizzaV3
left a comment
There was a problem hiding this comment.
当前 PR 有编译阻塞问题:open_image_generations_proxy_request / open_image_edits_proxy_request 返回的是 UpstreamProxyResponse,但 crates/codex-plus-core/src/launcher.rs 的 handle_image_proxy_connection 调用了 upstream.status() 和 upstream.is_success();该结构体只有 status_code、content_type、is_stream、wire_api 和 response 字段。请改用 status_code(生成 HTTP 状态行)并按 200..300 判断成功,或直接从 response 读取状态,但不要移动后续仍需使用的字段。修复后请补跑三平台 artifact CI;当前 PR 没有任何 CI 结果,暂不能合并。
|
感谢审查。
我已经遵守审查中提出的实现建议,推送了提交
|
|
已核对最新提交 |
|
我现在已经rebase到 48d4315 了 |
问题说明
Codex++ 启用本地协议代理后,Codex 内置的
image_gen工具会向本地代理发送图片请求,但代理此前没有处理以下 Images API 路径:POST /v1/images/generationsPOST /v1/images/edits这些请求会落入未知路径处理并返回
404,导致相同供应商在直连时可以正常生成图片,而通过 Codex++ 启动后无法使用图片生成和编辑功能。修改内容
/images/generations/v1/images/generations/v1/v1/images/generations/codex/v1/images/generations/images/edits/v1/images/edits/v1/v1/images/edits/codex/v1/images/editsContent-Type。/v1和/v1/v1的上游地址。127.0.0.1:57321、localhost:57321和 IPv6 回环地址被误当作图片上游,从而形成递归代理。404 未知后端路径。兼容性
本次修改仅扩展 Images API 的代理能力,不改变现有 Responses、Chat Completions、Models 和 Audio Transcriptions 请求行为。
图片生成和编辑共享独立的 10 分钟响应头超时,不影响其他 API 请求。
测试
已完成以下验证:
launcher测试:85/85 通过protocol_proxy串行测试:80/80 通过relay_config测试:145/145 通过codex-plus-data单元及集成测试通过Content-Type透传测试通过rustfmt --edition 2024 --check通过git diff --check通过真实链路验证
已使用本地构建版本完成真实请求验证:
POST /v1/images/generations成功返回HTTP 200b64_jsonPOST /v1/images/edits成功完成真实图片编辑imageGeneration项目,状态为completed相关议题
Closes #747
Related to #1480