Skip to content

Codex/fix compaction output events - #2301

Open
ViceEye wants to merge 4 commits into
BigPizzaV3:mainfrom
ViceEye:codex/fix-compaction-output-events
Open

ViceEye wants to merge 4 commits into
BigPizzaV3:mainfrom
ViceEye:codex/fix-compaction-output-events

Conversation

@ViceEye

@ViceEye ViceEye commented Sep 24, 2026

Copy link
Copy Markdown
Contributor

问题

54ad97fb82d0b6afb2acd71fd9114616

本地代理此前会将 Responses 上游的 compaction_trigger 请求改写为普通摘要请求,再自行包装压缩结果。

这会阻断上游原生压缩协议。缺少 response.output_item.done 时,Codex 会报告收到 0 个压缩输出项;即使补齐事件,将普通摘要放入 encrypted_content 也可能导致后续回放时出现解密失败。

修改

  • Responses 上游保留原始 compaction_trigger,直接透传原生压缩响应。
  • 透传客户端声明的 X-Codex-Beta-Features,继续使用所选供应商的鉴权。
  • 保留压缩项的 ID、encrypted_content 和未知字段,支持压缩后的历史回放。
  • 显式 /responses/compact 请求保留原端点和请求体。
  • 将合成摘要兼容路径限定为 Chat Completions 上游。
  • 完善兼容路径的压缩事件、cmp_ ID 和无增量摘要处理,并正确传递上游失败。

验证

  • 131 项协议测试通过。
  • 24 项启动器测试通过。
  • Windows launcher 构建通过。
  • 新增原生请求、beta 请求头、流式/非流式响应及加密状态回放测试。
  • 已在正式本地代理端口验证完整的「Codex++ → CPA → 原生压缩 → 续聊」链路,压缩项成功返回,续聊保留测试上下文。
  • 用户重试后确认问题修复。

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant