Skip to content

feat(model-providers): expose max and ultra for custom Codex models - #2912

Closed
xiaojunonode wants to merge 1 commit into
makecindy:mainfrom
xiaojunonode:codex/custom-provider-max-effort
Closed

feat(model-providers): expose max and ultra for custom Codex models#2912
xiaojunonode wants to merge 1 commit into
makecindy:mainfrom
xiaojunonode:codex/custom-provider-max-effort

Conversation

@xiaojunonode

@xiaojunonode xiaojunonode commented Aug 17, 2026

Copy link
Copy Markdown

这次改了什么

摘要

让未命中内置模型目录的自定义 Codex 模型也显示原生 maxultra 思考强度,同时保留 high 为默认值,不会自动增加 subagent 或 API 消耗。

变更类型

  • feat 新功能
  • fix 缺陷修复
  • refactor / perf 重构或性能优化
  • docs / test / chore 文档、测试或工程维护
  • 其他:

范围

  • 关联 Issue / 需求:自定义模型供应商的 Codex 思考强度缺少 max / ultra
  • 本 PR 包含:扩展自定义 Codex 的 fallback effort 清单,并更新映射单元测试
  • 明确不包含:修改 Claude Code 或 Pi 的能力清单、改变任一引擎的默认 effort、数据库、协议或 UI
  • 用户可见变化:自定义 Codex 模型的强度列表新增 maxultra;默认仍为 high
  • 是否存在 breaking change:无

UI 变化

不涉及:只调整传给既有选择器的模型能力元数据,没有修改 UI 代码、布局或文案。

  • 引用的设计规范:不涉及

怎么验证的

自动验证

pnpm test:unit:related
结果:通过;test runner、Desktop、Mobile 与 model-providers 关联门禁全部通过

pnpm --filter @cindy/model-providers run test
结果:通过,18 个测试文件、541 个用例全部通过

Desktop providerCatalogRealmReload.test.ts
结果:通过,24 个用例全部通过

pnpm --filter @cindy/model-providers run --if-present typecheck
结果:通过;该 package 未定义 typecheck script,按仓库门禁约定跳过

pnpm check:dco
结果:通过,1 个提交签名有效

手工验证

未启动或重启 Desktop;本次只改模型能力元数据与单元测试。

未执行的验证

无额外手工 UI 验证。

风险

风险分类

  • 无已知风险
  • SQLite / migration
  • system prompt
  • 协议兼容
  • 权限 / 安全 / 用户数据
  • 存量插件兼容(批准状态 / 指纹 / manifest 校验 / 安装布局 / 包格式)
  • 原生层 / fingerprint / OTA
  • 跨平台差异
  • 其他:自定义端点仍需实际支持所选的 Codex max / ultra 档位

影响与回滚

  • 影响范围:仅自定义供应商中未命中 Registry 的 Codex 模型;Registry 已声明的能力保持不变
  • 默认行为:仍选择 high,只有用户手动选择 max / ultra 才提高消耗
  • 回滚 / 降级方式:用户可选择较低 effort;代码层可回退本提交

提交前检查

  • 已 review 完整 diff
  • 每个 commit 都带 DCO 签名(git commit -s,见 DCO
  • UI 改动已在「UI 变化」注明引用的设计规范章节(不涉及 UI 则跳过)
  • 未提交凭证、令牌或授权文件
  • 已补充必要文档
  • 已确认测试结果或说明未执行原因

@xiaojunonode xiaojunonode changed the title [codex] Enable 'max' reasoning effort for custom-provider models feat(model-providers): enable max effort for custom providers Aug 17, 2026
Custom Codex models that do not match the built-in registry used a fixed effort list ending at xhigh. Expose Codex's native max and ultra levels while preserving high as the default selection.

Signed-off-by: xiaojunonode <45325630+xiaojunonode@users.noreply.github.com>
@xiaojunonode
xiaojunonode force-pushed the codex/custom-provider-max-effort branch from 33d6725 to c6f5c00 Compare August 18, 2026 02:59
@xiaojunonode xiaojunonode changed the title feat(model-providers): enable max effort for custom providers feat(model-providers): expose max and ultra for custom Codex models Aug 18, 2026
@xiaojunonode
xiaojunonode marked this pull request as ready for review August 18, 2026 02:59
@xiaojunonode
xiaojunonode requested a review from a team as a code owner August 18, 2026 03:00
@greptile-apps

greptile-apps Bot commented Aug 18, 2026

Copy link
Copy Markdown

Greptile Summary

本 PR 为未唯一命中内置模型目录的自定义 Codex 模型增加 maxultra reasoning effort,同时保留 high 作为默认值。

  • 扩展自定义 Codex 模型的 fallback effort 清单
  • 保持 Registry 中已有的模型能力声明优先
  • 更新单元测试以覆盖未注册及匹配不明确的模型

Confidence Score: 5/5

未发现需要阻止合并的问题,该变更与 PR 明示的自定义端点能力透传设计一致。

类型、能力列表和 Codex 请求协议均支持 maxultra,现有 Registry 能力声明仍优先于 fallback,且默认 effort 保持为 high

Important Files Changed

Filename Overview
packages/model-providers/src/user-provider.ts 将自定义 Codex fallback effort 扩展为包含 maxultra,默认 effort 仍为 high,Registry 元数据的优先级未改变。
packages/model-providers/src/tests/user-provider.test.ts 更新自定义、未注册及 Registry 匹配不明确场景的预期值,覆盖新增 effort 档位。

Reviews (1): Last reviewed commit: "feat(model-providers): expose max and ul..." | Re-trigger Greptile

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c6f5c00204

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread packages/model-providers/src/user-provider.ts
@MagicLizi

Copy link
Copy Markdown
Contributor

@xiaojunonode 👋 这个 PR 还有 1 条 review conversation 没 resolve(packages/model-providers/src/user-provider.ts),auto-review 因此暂时跳过、没法继续审查 / 合并。

如果你已经按评论改完或回应了,请到对应 thread 上点 Resolve conversation;全部 resolve 后,下一轮 auto-review 会自动重新审查这个 PR。

@MagicLizi MagicLizi added touches:product-ui 改动碰到产品 / UI 面(review-pr 自动维护,仅展示) awaiting-discussion 等待维护者讨论(review-pr) labels Aug 18, 2026
@MagicLizi

Copy link
Copy Markdown
Contributor

⏸️ 本 PR 触发 product 维护者确认门。

为自定义 Codex provider 暴露 max/ultra effort 档位,属产品功能扩展。 需维护者在 PR 上 Approve 后方可合并。

讨论 issue 已创建,详见上方链接。

讨论 issue:#2959

@MagicLizi

Copy link
Copy Markdown
Contributor

@xiaojunonode 👋 这个 PR 目前与 main 有合并冲突,auto-review 因此暂时跳过、没法继续审查 / 合并。

请在本地 merge 最新的 origin/main 解决冲突后推送;冲突解除后,下一轮 auto-review 会自动重新处理这个 PR。

@zqchris zqchris left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个 PR 把自定义 Codex 的 effort 兜底继续往前开放,目标清楚,也正好接上 #2979 留给产品确认的那一格。合并前请先补一处基线收敛:

请先合最新 main。当前 diff 还停在 #2979 之前,仍是 ['low','medium','high','xhigh'] → 六档;而 #2979 已于 08-18 合并,main 的 CUSTOM_EFFORTS.codex 已经是五档(到 max),注释也写明了「ultra 仍仅限已登记模型」。请把本 PR 收敛成「只增加 ultra 一档」的增量改动,避免覆盖 #2979 已合入的实现和注释。

另外请在 PR 描述里写明产品选择:开放 ultra,还是维持仅限已登记模型。若开放,请说明为什么 ultra 与 max 适用同一套「兼容性由选择者承担」的口径;若维持现状,这份 PR 可以关闭,#2979 已覆盖 #2964 的主体诉求。

@zqchris
zqchris dismissed their stale review August 20, 2026 17:04

误把面板的“拒绝”执行成了“要求修改”,现撤回这条错误 review,改按产品拒绝结论重发。

@zqchris zqchris left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个 PR 把自定义 Codex 的 effort 兜底继续往前开放,目标清楚,也正好接上 #2979 留给产品确认的那一格。但产品侧这次不采纳对所有自定义 Codex 开放 ultra 的方向。

请关闭本 PR,保留 #2979 的保守口径:max 作为通用兜底,ultra 只对已登记、明确声明能力的模型开放。对未登记或能力不明的自定义端点默认亮出 ultra,用户选中后可能直接得到端点不支持的请求失败,这个失败面不值得由通用 fallback 承担。

如果后续要继续推进,请另提基于显式模型能力声明或唯一匹配元数据的方案;这不是否定你把 effort 配置做成可扩展的实现,而是否定“对所有自定义端点默认开放 ultra”这一产品方向。

@xiaojunonode

Copy link
Copy Markdown
Author

Closing as accepted. Thanks for the review feedback — model-dependent efforts should not be exposed through the generic fallback. I'll keep this as a local-only customization.

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

Labels

awaiting-discussion 等待维护者讨论(review-pr) touches:product-ui 改动碰到产品 / UI 面(review-pr 自动维护,仅展示)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants