现象
报错发生时的配置状态:未设置 model_provider,使用内置默认 openai provider(name = "OpenAI"),请求经 openai_base_url 转发到 DSCodex 路由(DeepSeek V4 Flash,Responses 兼容 API):
openai_base_url = "http://127.0.0.1:10110/<token>/v1"
长会话自动压缩或手动 /compact 时,远程压缩任务直接失败:
Error running remote compact task: Fatal error: remote compaction v2 expected exactly one compaction output item, got 0 from 2 output items
got 0 from N 中的 N 随上下文输出项数量变化(同一错误其他用户报过 1/4/6)。
根因分析(openai/codex 源码)
- 内置 openai provider 的 name 为 "OpenAI",
supports_remote_compaction()(is_openai() || is_azure_responses_provider(name, base_url))返回 true, 因此即使 base_url 已被覆盖为自定义后端,Codex 仍尝试远程压缩 v2;
- 远程压缩 v2 会发送一个
compaction_trigger 输入项 (openai/codex#22809), 随后 collect_compaction_output 强校验"恰好 1 个 compaction 输出项";
- DeepSeek 的 Responses 兼容 API 不识别
compaction_trigger,响应中不含 compaction 输出 → 直接 fatal error,没有回退到本地压缩。
期望行为
当 provider 不返回 compaction 输出(或不支持 compaction_trigger)时,Codex应自动回退到本地压缩,而不是让整个任务失败;或提供开关显式禁用远程压缩(对应 openai/codex#24418的 feature request)。
上游关联
本 issue 用于 DSCodex 侧跟踪该上游 bug,修复依赖 openai/codex。
环境
- 报错时:Windows 11 + Codex Desktop(底层 CLI 0.146.0-alpha.9.2),内置
openai provider + openai_base_url 指向 DSCodex 路由,模型 DeepSeek V4 Flash
- 触发方式:长会话自动压缩/手动 /compact
现象
报错发生时的配置状态:未设置
model_provider,使用内置默认 openai provider(name = "OpenAI"),请求经openai_base_url转发到 DSCodex 路由(DeepSeek V4 Flash,Responses 兼容 API):长会话自动压缩或手动
/compact时,远程压缩任务直接失败:got 0 from N中的 N 随上下文输出项数量变化(同一错误其他用户报过 1/4/6)。根因分析(openai/codex 源码)
supports_remote_compaction()(is_openai() || is_azure_responses_provider(name, base_url))返回 true, 因此即使 base_url 已被覆盖为自定义后端,Codex 仍尝试远程压缩 v2;compaction_trigger输入项 (openai/codex#22809), 随后collect_compaction_output强校验"恰好 1 个 compaction 输出项";compaction_trigger,响应中不含 compaction 输出 → 直接 fatal error,没有回退到本地压缩。期望行为
当 provider 不返回 compaction 输出(或不支持
compaction_trigger)时,Codex应自动回退到本地压缩,而不是让整个任务失败;或提供开关显式禁用远程压缩(对应 openai/codex#24418的 feature request)。上游关联
got 0 from 6)got 0 from 2 output items本 issue 用于 DSCodex 侧跟踪该上游 bug,修复依赖 openai/codex。
环境
openai provider +
openai_base_url指向 DSCodex 路由,模型 DeepSeek V4 Flash