• v0.6.0 2614f80d0f

    admin released this 2026-07-29 21:00:14 +08:00 | 130 commits to main since this release

    v0.6.0 — 预设供应商 + 供应商账单查询

    🎉 新增功能

    预设供应商(15 条)

    「+ 添加供应商」入口改为预设选择面板,一键填表。覆盖:

    • 官方:Kimi For Coding(套餐)、Anthropic、OpenAI、Google AI Studio
    • 国产:Moonshot、DeepSeek(余额)、智谱 GLM(套餐)、z.ai、阿里百炼、MiniMax(套餐)、StepFun(余额)、SiliconFlow(余额)、火山方舟
    • 第三方 / 聚合:Novita(余额)、OpenRouter(余额)

    所有预设的模型清单已按 models.dev 快照预填 maxContextSize / capabilities / displayName,快照缺的新模型显式覆写。alias 强制 provider/modelId 规范,与 handleDuplicateProvider 兼容。

    供应商账单查询

    卡片底部 <UsageFooter> 展示余额 / 套餐剩余:

    • 套餐类(Kimi For Coding / 智谱 / MiniMax):⚡ N% 已使用 · 5h 后重置,配色 <70% 绿 / 70-89 橙 / ≥90 红
    • 余额类(DeepSeek / SiliconFlow / OpenRouter / StepFun / Novita):💰 余额 ¥X.XX
    • 5min stale TTL + force_refresh + 并发 ≤3 + 8s 超时
    • 错误分类:网络 → "网络异常";401 → "API Key 无效";其他 → "查询失败 · 错误文本"
    • 失败时保留旧数据做 ghost 展示

    架构亮点

    • usageKinds 存 SQLite settings(JSON 数组),不写 config.toml——两条导出路径(kimi_code_io 手工 TOML / pi_io 独立 PiProvider 结构)均已逐行核实
    • Rust 端每次 query_provider_usage 重新 detect_provider(base_url),改 base_url 后自动重新路由
    • 旧用户升级 0.6.0 后自动获得账单支持(detect fallback)
    • API key 不经 IPC 序列化——前端只传 providerName,Rust 端从 config 加载,env 兜底(Kimi 平台期望 KIMI_API_KEY 等)
    • 新增 dev 模式运行时断言:preset 引用未实现的 kind 时 console.error,防止 TS/Rust 枚举漂移

    Save-time 校验

    新增「保存时校验未完成供应商」机制:

    • 用户提交保存(Ctrl+S / 保存按钮 / ProviderEdit onSave / 切换使用)→ 校验有未完成供应商(缺 api_key / base_url / 模型 / 模型 id 空)→ 弹 confirm 列原因
    • 切到指定供应商时只校验目标,不被兄弟供应商的不完整状态阻挡
    • 校验取消时自动 refresh() 回滚内存修改
    • 新增未提交 back 时静默丢弃(不弹 confirm,config.toml 不会污染半成品)

    🐛 修复

    • handleDuplicateProvider 的 alias.slice 漏洞:老数据非规范 alias(kimi-k3 / glm-5-2-1 等)复制不再错位,强制 startsWith 显式判断 + 完整 re-prefix fallback
    • handleSelectPreset 不再 auto-save——半成品预设不会污染 config.toml / SQLite
    • handleSwitchProvider 校验取消时自动 refresh() 回滚,不再出现"内存改了盘没动"的脏态

    📚 文档

    • docs/PROPOSAL-presets-and-usage.md(v0.4-draft 实施档,约 620 行)
    • docs/VERIFICATION-CHECKLIST.md(70+ 项手动验证清单,9 大类)
    • README.md / README_EN.md 致谢段补 cc-switch(预设 + 账单)
    • 已知限制与后续建议段(/reload 上游限制的源码调研结论)

    🙏 致谢

    供应商预设结构与余额/套餐查询实现参考自 cc-switch(MIT,© Jason Young)。

    用量仪表盘与会话管理基于 kimicode-dashboard(MIT,© JochenYang)移植。

    📦 安装

    下载下方 Kimi Switch_0.6.0_x64_en-US.msi(约 7 MB),双击安装。已装旧版可覆盖升级。

    🔍 验证清单

    发版前请按 docs/VERIFICATION-CHECKLIST.md 跑一遍:

    • A 组:预设选择弹窗 / 15 条预设 / 冲突处理 / 预填字段 / config.toml 污染检查 / 老数据迁移
    • B 组:账单查询(支持时自动查 / 5min 缓存 / 手动刷新 / 错误处理 / 多 kind 渲染 / SQLite 持久化 / 真实 API)
    • C 组:核心旧功能回归(切换 / 复制 / 删除 / 测速 / 拉取模型 / 设置 / 检查更新 / 仪表盘 / 会话)
    • D 组:构建与发布
    Downloads