问题描述
在使用 cc-switch 本地代理配合 Codex CLI 时,若开启 远程压缩(Remote Compact) 功能,Codex 会向 API 发起 /v1/responses/compact 请求进行服务端上下文压缩。但目前 cc-switch 本地代理(默认端口 15721)会返回 404 Not Found,导致压缩任务执行失败。
该功能的影响面与业务价值:
Codex 官方近期大力推广 Responses API 及远程压缩功能。启用后:
- 长上下文对话更稳定,显著降低 OOM 概率。
- 任务执行速度预估可提升 20% 以上。
- 目前主流中转服务端(如 CPA、New API 等)均已支持该接口。若 cc-switch 能提供支持,将极大提升长会话用户的使用体验。
复现步骤
- 在 cc-switch 的 Proxy 标签页 中,为 Codex 开启 Takeover 及本地代理(默认 15721 端口)。
- 修改 Codex 配置文件
~/.codex/config.toml,强制走 Responses API远程压缩(关键是 name = "OpenAI"):
[model_providers.custom]
name = "OpenAI"
wire_api = "responses"
requires_openai_auth = true
base_url = "https://<你的中转域名>/v1"
- 重启 Codex CLI。
- 在 CLI 中执行较长任务,或直接输入手动触发命令:
- 终端立即抛出以下错误:
■ Error running remote compact task: unexpected status 404 Not Found: Unknown error, url:
http://127.0.0.1:15721/v1/responses/compact
验证方法
若关闭 cc-switch 本地代理直连中转服务,执行 /compact 命令后,可在中转服务(如 CPA)的请求日志中成功观测到 /v1/responses/compact 请求。这表明远程压缩触发机制正常,问题确实出在本地代理的路由拦截上。
环境信息
- cc-switch 版本:v3.11.x(最新版)
- Codex CLI 版本:[请填写,例如:v0.x.x]
- 操作系统:[请填写,例如:Windows 11 / macOS Sonoma / Ubuntu 22.04]
- 中转服务:CPA / New API(已亲测支持 Responses API)
- 本地代理端口:15721
期望结果
希望 cc-switch 本地代理能完整兼容 OpenAI Responses API,对 /v1/responses/compact 端点进行透传(passthrough)转发,确保远程压缩功能正常工作。
或者作为临时方案,增加一个配置项:允许特定应用(如 Codex)的特定路径绕过本地代理,直接请求远程端点。
建议实现方式
在本地代理的 Axum router 中,增加针对 /v1/responses/compact 的路由处理逻辑。与现有的 /v1/responses 和 /v1/chat/completions 类似,直接转发 Request Body 和 Response Headers 即可。
相关参考
问题描述
在使用 cc-switch 本地代理配合 Codex CLI 时,若开启 远程压缩(Remote Compact) 功能,Codex 会向 API 发起
/v1/responses/compact请求进行服务端上下文压缩。但目前 cc-switch 本地代理(默认端口 15721)会返回 404 Not Found,导致压缩任务执行失败。该功能的影响面与业务价值:
Codex 官方近期大力推广 Responses API 及远程压缩功能。启用后:
复现步骤
~/.codex/config.toml,强制走 Responses API远程压缩(关键是 name = "OpenAI"):验证方法
若关闭 cc-switch 本地代理直连中转服务,执行
/compact命令后,可在中转服务(如 CPA)的请求日志中成功观测到/v1/responses/compact请求。这表明远程压缩触发机制正常,问题确实出在本地代理的路由拦截上。环境信息
期望结果
希望 cc-switch 本地代理能完整兼容 OpenAI Responses API,对
/v1/responses/compact端点进行透传(passthrough)转发,确保远程压缩功能正常工作。或者作为临时方案,增加一个配置项:允许特定应用(如 Codex)的特定路径绕过本地代理,直接请求远程端点。
建议实现方式
在本地代理的 Axum router 中,增加针对
/v1/responses/compact的路由处理逻辑。与现有的/v1/responses和/v1/chat/completions类似,直接转发 Request Body 和 Response Headers 即可。相关参考