deepseek-flash通过官方api.deepseek.comResponses 时,上游事件和 Codex rollout 已经包含非空reasoning.content[].reasoning_text;CCSM 原生 Responses 流没有吞掉正文。- MultiRouter 编译器的
CodexModelCapabilitySummary只投影了窗口、模态、推理能力 等字段,丢失了 Codex Desktop 用来区分 raw reasoning 与 summary 的reasoning_summary_format/default_reasoning_summary。 - 路由重新生成
model_catalog_json后,DeepSeek alias 退回通用模板,Desktop 因而按 summary-only 路径投影,表现为没有可见推理。
- 在
codex_multirouter/compiler.rs保留显式的 raw-reasoning 元数据;对精确的官方api.deepseek.com+openai_responses+deepseek*组合,在旧 Provider 行缺字段时 补齐官方语义reasoningSummaryFormat=experimental和defaultReasoningSummary=none。 - 在
codex_multirouter/projection.rs将这两个字段写回 Router 的modelCatalog。 - 在
codex_config.rs生成最终 Codex catalog 时,对 DeepSeek alias 保留 snake_case 与 Desktop camelCase 两组字段,避免通用模板再次覆盖 raw 语义。 - 没有把 raw reasoning 复制成 summary,也没有修改 SSE 事件语义;GLM 的 Chat projection 修复仍与此独立。
projected_models_preserve_raw_reasoning_renderer_metadata:通过;官方 DeepSeek 旧行 没有元数据时,路由投影得到experimental/none。router_catalog_marks_deepseek_alias_as_raw_reasoning:通过;最终 catalog 同时包含reasoning_summary_format/default_reasoning_summary与 camelCase 别名。codex_multirouter::projection::tests:16/16 通过。cargo fmt --all与git diff --check:通过。
- 当前运行中的安装版仍是旧的 3.20.2-3;本次改动只在源码和测试中完成,尚未覆盖安装、 重启 Desktop 后的真实 UI canary。安装验收需要先构建新的候选 EXE,再用现有安全的 CCSM 替换事务验证生成 catalog 和 DeepSeek 任务的可见 raw reasoning。