Skip to content

fix(settings): make Codex auth cleanup opt-in - #464

Open
MDX-Tom wants to merge 1 commit into
qxcnm:mainfrom
MDX-Tom:codex/setting-preserve-requires-openai-auth
Open

fix(settings): make Codex auth cleanup opt-in#464
MDX-Tom wants to merge 1 commit into
qxcnm:mainfrom
MDX-Tom:codex/setting-preserve-requires-openai-auth

Conversation

@MDX-Tom

@MDX-Tom MDX-Tom commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

fix(settings): 让 requires_openai_auth 清理变为可选功能

摘要

当前网关 profile 同步会自动从 config.tomlcm provider 中删除 requires_openai_auth。部分用户依赖该配置,因此本 PR 将清理行为交给应用设置控制,并将默认值设为关闭。

修改内容

  • 在应用设置页面「基础设置」中新增「移除 requires_openai_auth」开关;
  • 设置通过 app_settings_get / app_settings_set 持久化,默认值为 false
  • 网关 profile 首次应用和 active gateway 同步都读取该设置;
  • 开关关闭时保留现有 requires_openai_auth 值;
  • 开关开启时才移除该字段;
  • 补齐中、英、俄、韩四种界面文案;
  • 增加设置持久化与配置补丁回归测试。

行为确认

  1. 新安装或没有该设置记录时,设置页面显示关闭;
  2. 关闭时,已有 requires_openai_auth = true 会继续保留;
  3. 开启后,切换到 CodexManager 网关或同步 active gateway profile 时移除该字段;
  4. 其他网关配置字段、平台密钥和 WebSocket 配置行为保持不变。

验证结果

已通过:

  • cargo fmt --all -- --check
  • git diff --check
  • cargo test -p codexmanager-service --lib codex_profile::tests --no-fail-fast — 29 passed;
  • cargo test -p codexmanager-service --test app_settings --no-fail-fast — 35 passed;
  • pnpm -C apps run test:runtime — 216 passed;
  • pnpm -C apps run build:desktop

完整 service lib 验证为 1532 passed / 1 failed / 3 ignored。唯一失败为现有 codex_skills::tests::directory_import_detects_same_size_file_replacement_and_fifo_entries 的跨平台 FIFO/路径断言,与本 PR 修改文件无关;目标 profile 与 app settings 回归均通过。

兼容性

  • 默认不再自动删除用户已有的 requires_openai_auth
  • 需要旧清理行为的用户可在设置页面主动开启;
  • 不新增环境变量,不改变 RPC 方法形状和 Codex profile 其他字段。

@MDX-Tom

MDX-Tom commented Sep 7, 2026

Copy link
Copy Markdown
Contributor Author

审查结论:实现完成,建议进入 review。

这次改动的方向是把 config.tomlrequires_openai_auth 的清理行为交给用户控制:

  • 应用设置「基础设置」新增「移除 requires_openai_auth」开关;
  • 默认关闭,未写入设置记录时也按关闭处理;
  • 关闭时保留现有 requires_openai_auth 值;
  • 开启时,在切换到 CodexManager 网关或同步 active gateway profile 时移除该字段;
  • 设置通过现有 app settings RPC 持久化,桌面端和 Web 设置页面共用同一字段;
  • 中、英、俄、韩界面文案已同步。

当前本地验证:

  • cargo fmt --all -- --check:通过
  • git diff --check:通过
  • cargo test -p codexmanager-service --lib codex_profile::tests --no-fail-fast:29 passed
  • cargo test -p codexmanager-service --test app_settings --no-fail-fast:35 passed
  • pnpm -C apps run test:runtime:216 passed
  • pnpm -C apps run build:desktop:通过

行为回归覆盖:

  1. 没有设置记录时,app settings 返回 removeRequiresOpenaiAuth = false
  2. 设置开关可在 false / true 之间持久化往返;
  3. 清理开关关闭时,已有 requires_openai_auth = true 保留;
  4. 清理开关开启时,已有字段被移除;
  5. 网关 URL、平台密钥、WebSocket 与其他 provider 字段保持原有更新逻辑。

完整 service lib 串行验证结果为 1532 passed / 1 failed / 3 ignored。唯一失败是现有 codex_skills::tests::directory_import_detects_same_size_file_replacement_and_fifo_entries 的跨平台 FIFO/路径断言,profile 与 app settings 相关回归全部通过。

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