fix(codex): 修复 reasoning 档位体系多处问题 - #9
Conversation
- builtin 能力清单增加 Kimi K3/K3-256K(low/high/max,default high) - reasoning 声明解析/校验失败改为打日志,不再静默清空 - 前端取消勾选档位时清理 effortMap 孤儿映射;保存时校验映射 target 合法 - 子智能体 V2 编译:Unknown 能力 + Fixed 策略放行;Fixed 档位宽校验 (effort_map 映射后合法则通过,保留显式档位由代理层运行时映射) - 投影档位收窄为模型真实能力(deepseek/k3 变 3 档),effort_value_mode 保留完整映射,代理端先映射后校验(窄显示 + 宽映射兜底) - 子智能体能力解析新增官方缓存来源(cc_switch_owned 时读 backup), luna/sol 等官方模型继承官方档位 - 修复 v28 死锁:未启用 profile 用 status.status 区分 Disabled/Unroutable, 开关与编辑按钮恢复可用 - 更新 5 处档位断言,新增 5 个测试;全量 2995 passed
providerWithFetchedModelCatalog rebuilds the provider model catalog from the stored catalog on every /models fetch, but the field spread list omitted `reasoning`. User-declared reasoning levels (K3, Qwen, etc.) were silently dropped on each refresh, so fixed reasoning levels disappeared after saving the MultiRouter or refreshing the catalog. Carry `reasoning` forward from the existing provider model so manual declarations survive catalog refreshes. The rest of the sync chain (rebuildPlanModelCatalog -> buildSyncedRouteModels -> applyRouteCapabilities) already spreads the model object and preserves it.
Bug 修复说明:
|
7095f1a
into
BigStrongSun:bigstrongsun/fix-wizard-provider-subagent-ux
Resolve equivalent cherry-pick conflicts after PR #9 merged into the cloud development base. Preserve both v28 release evidence and v31 Qwen streaming root-cause records, and retain the rustfmt-normalized reasoning implementation. Validated focused capability-effort tests, rustfmt, diff checks, and strict UTF-8 without BOM. 本次提交由BigStrongsSun完成
问题
v3.19.1-28 的 Codex reasoning 档位体系存在多处问题,影响 DeepSeek/Kimi K3 档位显示、官方模型(luna/sol)子智能体档位配置、以及 schema1 旧配置迁移:
修复
codex_reasoning.rs:builtin 能力清单增加 Kimi K3/K3-256K(low/high/max,default high);reasoning 声明解析/校验失败改为打日志,不再静默清空;selectable 收窄为模型真实能力(窄显示)codex.rs/transform_codex_chat.rs:effort_value_mode 保留完整 effort_map 映射,代理端先映射后校验(宽映射兜底,medium/xhigh 不报错)codex_config.rs:子智能体能力解析新增官方缓存来源(cc_switch_owned 时读 backup),luna/sol 等官方模型继承官方档位;兼容字符串/对象数组两种 levels 格式codex_subagent_profiles.rs:Unknown 能力 + Fixed 策略放行;Fixed 档位宽校验(effort_map 映射后合法则通过,保留显式档位由代理层运行时映射)CodexSubagentProfileEditor.tsx:用 status.status 区分 Disabled/Unroutable,修复 v28 死锁CodexFormFields.tsx/ProviderForm.tsx:取消勾选档位时清理 effortMap 孤儿映射;保存时校验映射 target 合法性(与后端 validate 对齐)测试