问题
模型配置页在“添加 / 删除模型”或“删除 provider”之后,OpenClaw 配置里会残留已经无效的模型引用,导致:
- 配置看起来越改越乱
- 删除后仍残留旧模型名
- 后续再次保存时这些旧引用可能继续被写回
复现现象
实际看到过残留在这些位置:
agents.defaults.model.fallbacks
agents.defaults.models
表现形式类似:
- provider/model 已经删掉了
- 但
fallbacks 里还留着 provider/model
defaults.models 里也还挂着对应键
初步判断
问题不只是 UI 显示,更像是“写配置时合并保留旧字段,但删除路径没有同步清理失效引用”。
也就是说:
- provider / model 从
models.providers.* 里删掉了
- 但没有同步清理:
agents.defaults.model.primary(若它指向被删模型)
agents.defaults.model.fallbacks
agents.defaults.models
建议修复
保存模型配置后,基于当前仍然存在的模型全集做一次引用清理:
- 收集所有有效模型
provider/model
- 如果
primary 已无效,切到一个仍存在的模型或置空
fallbacks 只保留仍存在、且不等于 primary 的项
defaults.models 只保留仍存在的模型键
期望
模型页删除模型 / 删除 provider 后,配置应该同步收干净,不应再残留无效 fallback / defaults.models 引用。
问题
模型配置页在“添加 / 删除模型”或“删除 provider”之后,OpenClaw 配置里会残留已经无效的模型引用,导致:
复现现象
实际看到过残留在这些位置:
agents.defaults.model.fallbacksagents.defaults.models表现形式类似:
fallbacks里还留着provider/modeldefaults.models里也还挂着对应键初步判断
问题不只是 UI 显示,更像是“写配置时合并保留旧字段,但删除路径没有同步清理失效引用”。
也就是说:
models.providers.*里删掉了agents.defaults.model.primary(若它指向被删模型)agents.defaults.model.fallbacksagents.defaults.models建议修复
保存模型配置后,基于当前仍然存在的模型全集做一次引用清理:
provider/modelprimary已无效,切到一个仍存在的模型或置空fallbacks只保留仍存在、且不等于 primary 的项defaults.models只保留仍存在的模型键期望
模型页删除模型 / 删除 provider 后,配置应该同步收干净,不应再残留无效 fallback / defaults.models 引用。