-
v0.8.3-rc1
StableRelease / Version consistency (push) Waiting to runreleased this
2026-10-10 19:51:27 +08:00 | 0 commits to main since this releaseKimiSwitch v0.8.3-rc1
配置一致性修复版:解决「供应商改名后模型别名没跟着改,产生的僵尸条目删了又出现」这一类问题,并补齐删除供应商时的关联清理与防呆。
修复
- 供应商改名时模型别名同步重键:此前改名只更新模型的
provider字段,模型别名键仍保留旧前缀(如opencode-go-copy/...),形成永远指向新供应商的僵尸条目;现在别名、全局默认模型、该供应商记住的默认模型、子代理池条目全部同步更新 - 僵尸模型不再复活:应用加载时会把 SQLite 镜像中缺失于 config.toml 的模型合并回来(迁移保护),导致已删除的模型在保存后重新出现;现在供应商已不存在的模型不再被合并
- 改名冲突不再静默吞模型:改名为已存在的供应商名、或遗留裸别名与新名冲突时,目标别名自动加
-2/-3后缀,与「应用 JSON」路径的既有规则一致 - 复制供应商不再清空源供应商:修复复制时复用改名逻辑导致源供应商模型被整体搬走的问题;副本为独立副本,源供应商模型完整保留
删除供应商 / 模型时的关联清理
- 子代理模型池(
[secondary_model])中引用被删模型的条目一并移除 - 池默认模型指向被删模型时自动回落到池中剩余条目;池被清空时整个
[secondary_model]节移除 - 全局
default_model指向被删模型时置空 - SQLite 中该供应商的用量查询配置(
usage_kinds:/usage_config:)随之清理;保留另一 agent(Pi)的设置,读取失败时跳过清理而非误删 - 模型占位符自动改名为真实模型 id 时,池条目同步跟随
防呆
- 放弃修改不落盘:复制供应商不再立即静默保存,与其他编辑一致——点「返回」并放弃后配置保持原样
- 改名/删除/JSON 应用等所有编辑路径统一遵守「必须保存才写盘」
其他
- 修复测试基建中进程级环境变量(
KIMI_CODE_HOME/KIMI_SWITCH_DB_PATH)的并发竞争:dashboard 与 oauth 测试此前各自持锁,改为统一的 crate 级共享锁 - models.dev 快照同步至 2026-10-10(8,456 模型 / 226 供应商)
测试
- 前端 146 项(新增 16 项:改名重键、复制保留源、冲突去重、子代理池清理与空表防护)
- Rust 197 项(新增 4 项:删除后双存储持久化与不复活、孤儿配置修剪、跨 agent 修剪保护)
已知限制
- config.toml 中若已存在「供应商已删除」的僵尸
[models.*]段落,升级后不会自动删除(config.toml 是用户权威文件,本版只防复发),需在界面中手动删除一次 - 删除供应商后
default_model置空时的 kimi-code CLI 回退行为,建议实测确认
下载
- Windows:
.exe(NSIS 安装包,本版仅提供) - macOS / Linux:见 Releases(由 CI 构建)
Downloads
- 供应商改名时模型别名同步重键:此前改名只更新模型的