Skip to content

v0.5.0-beta3: 修复推理模型思考档位校验失败(Reasoning level is required)

Choose a tag to compare

@wjf1 wjf1 released this 01 Oct 12:47
· 25 commits to master since this release

里程碑:彻底解决新建会话/切换模型时因思考档位(reasoning level)非法导致的「Model creation failed」

修复(推理模型思考档位必须按模型真实合法值下发)

  • 根因定位(真机 + 官方 Host 源码交叉实证):
    • 官方 registry 对带推理能力的模型强制校验 modelSelection.options.reasoningLevel,其值必须落在该模型 config.optionSpecs.reasoningLevel.values 内;
    • 旧实现硬编码下发 thought: "enabled",而该值仅对 Gemini / Claude 等部分模型合法;
    • DeepSeek 系列合法值为 [disabled, low, high, max]、GLM 为 [low, high, max],"enabled" 直接触发
      Reasoning level is required for <provider>/<model> → 会话创建即失败(task_status=error 并归档),
      手机端表现为停在 0 行 draft 且无任何提示。
  • 修复实现:
    • 新增 model-selection::getView 调用(远程桥实测可达),解析出每个模型的合法思考档位表并缓存;
    • 新建会话与「会话内切换模型」均改为按所选模型自己的合法档位下发(优先启用推理:取首个非 disabled 档位;
      例如 deepseek→low、gemini→enabled、GLM→low);
    • 拿不到档位信息时不下发 thought,交由 PC 端按模型默认档位决定,避免再次误发非法值;
    • createSession 日志补充 thought / mode 输出,便于后续排查。

真机实测证据(档位表解析结果)

account:bigmodel-start-plan/GLM-5.3-Flash                -> [low, high, max]
64a1207f-…/deepseek/deepseek-v4.1-flash                  -> [disabled, low, high, max]
64a1207f-…/meta/muse-spark-1.3-contributor               -> [disabled, enabled]
64a1207f-…/Qwen/Qwen3.8-Flash                            -> [low, medium, xhigh]
new-provider/cmd/deepseek/deepseek-v4.1-flash            -> [disabled, low, high, max]
new-provider-2/glm-5.3-flash                             -> [low, high, max]
new-provider-3/gemini-3.8-flash-high                     -> [disabled, enabled]
new-provider-3/claude-opus-4-6-thinking                  -> [disabled, enabled]