Skip to content

fix(relay): 启动时迁移旧的 OpenAI provider 名称,避免第三方中转误启远端压缩 - #2278

Merged
BigPizzaV3 merged 1 commit into
BigPizzaV3:mainfrom
hzx829:fix/repair-stale-relay-provider-name
Sep 22, 2026
Merged

BigPizzaV3 merged 1 commit into
BigPizzaV3:mainfrom
hzx829:fix/repair-stale-relay-provider-name

Conversation

@hzx829

@hzx829 hzx829 commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

问题

升级前已经写入磁盘的 config.toml 可能继续保留:

model_provider = "custom"

[model_providers.custom]
name = "OpenAI"

Codex 会仅凭 provider 的显示名 OpenAI 启用 remote compaction v2。第三方中转并不实现该协议,于是压缩时报:

remote compaction v2 expected exactly one compaction output item, got 0 from N output items

#2231 已负责完整适配 v2 协议,并在重新生成 profile 时改写 provider 名;这里补齐旧配置迁移,避免用户升级后必须重新保存一次供应商配置。

改动

  • 启动前修复路径检查活动 provider:非 openai 会话身份仍叫 OpenAI 时,改写为实际 provider id。
  • 保持官方 OpenAI / mixed identity 不变。
  • 修复是幂等的,下一次启动不会重复写配置。
  • 新增回归测试覆盖旧配置修复和二次无改写。

这是对 #2231 的兼容性补齐,不替代其 remote compaction v2 协议实现。

验证

  • 新增 launcher_repairs_stale_openai_provider_name_for_non_openai_identity
  • 提交后由仓库 PR build artifacts 执行 Windows cargo test --workspace 和双平台构建验证。

@hzx829

hzx829 commented Sep 22, 2026

Copy link
Copy Markdown
Contributor Author

本地补验完成:

  • cargo test -p codex-plus-core 全部通过(含新增回归测试)。
  • 上游 PR build artifacts 当前停在 first-time contributor 的 action_required,需要维护者批准后才会执行三平台构建。

@BigPizzaV3
BigPizzaV3 merged commit deaf0f9 into BigPizzaV3:main Sep 22, 2026
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.

2 participants