From 13e15657af9231785434cbeb0a64a9b8e210524a Mon Sep 17 00:00:00 2001 From: KimiSwitch Dev Date: Tue, 29 Sep 2026 10:42:13 +0800 Subject: [PATCH] =?UTF-8?q?fix(usage):=20=E5=88=97=E8=A1=A8=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E6=98=BE=E5=BC=8F=E6=A8=A1=E6=9D=BF=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=EF=BC=88Sub2API/NewAPI=EF=BC=89=E2=80=94=E2=80=94=E5=AF=B9?= =?UTF-8?q?=E9=BD=90=E5=90=8E=E7=AB=AF=E7=BB=95=E8=BF=87=20usage=5Fkinds?= =?UTF-8?q?=20=E7=9A=84=E5=8F=A3=E5=BE=84=20=E2=80=94=20bump=20to=20v0.7.2?= =?UTF-8?q?2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 ++++ docs/release-notes/release-notes-v0.7.22.md | 9 +++++++++ package.json | 2 +- src-tauri/Cargo.lock | 2 +- src-tauri/Cargo.toml | 2 +- src-tauri/tauri.conf.json | 2 +- src/components/ProviderList.tsx | 6 ++++-- src/hooks/useUsageQuery.test.ts | 21 ++++++++++++++++++++- src/hooks/useUsageQuery.ts | 19 +++++++++++++++++-- 9 files changed, 58 insertions(+), 9 deletions(-) create mode 100644 docs/release-notes/release-notes-v0.7.22.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 0250060..cbff622 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ --- +## v0.7.22 (2026-09-24) + +- **修复 Sub2API / NewAPI 模板查询不显示**:为无预设识别类型的自定义供应商配置 Sub2API(或 NewAPI)模板后,弹窗测试可查但供应商列表始终不显示——前端列表的查询/显示门槛只看预设 `usageKinds`,显式模板被漏掉;现在与后端口径对齐(模板查询绕过 usage_kinds),列表正常显示余额 / 配额 + ## v0.7.21 (2026-09-24) - **models.dev 在线同步**:高级设置新增「模型参考数据」卡片——一键在线拉取 models.dev 最新快照(上下文长度 / 能力标记 / 单价),前端与仪表盘计价即时生效,无需等待新版本;支持一键恢复随版本内置数据;显示当前数据来源与版本(同步 / 内置 + 日期 + 模型/供应商数) diff --git a/docs/release-notes/release-notes-v0.7.22.md b/docs/release-notes/release-notes-v0.7.22.md new file mode 100644 index 0000000..2c41074 --- /dev/null +++ b/docs/release-notes/release-notes-v0.7.22.md @@ -0,0 +1,9 @@ +# KimiSwitch v0.7.22 + +## 修复 + +- **Sub2API / NewAPI 模板查询在供应商列表不显示**:为没有预设识别类型的自定义供应商(如自家中转站)配置「Sub2API 中转站」或「NewAPI 中转站」模板后,配置弹窗里「测试查询」正常返回余额,但回到供应商列表却始终空白。根因:列表的查询与显示门槛只认预设注入的 `usageKinds`,而后端模板查询本就绕过 `usageKinds` 直接执行——前端口径与后端不一致。现在二者对齐,显式模板的供应商在列表正常显示余额 / 配额窗口、支持自动查询间隔与预警阈值。 + +## 备注 + +- 仅前端修复(`useUsageQuery` 支持判定 + 卡片渲染门槛),后端查询逻辑无变化;已补 3 个单测覆盖支持判定。 diff --git a/package.json b/package.json index 12a69e2..ce0e1f9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "kimiswitch", "private": true, - "version": "0.7.21", + "version": "0.7.22", "type": "module", "scripts": { "dev": "vite", diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 00dc25b..a8a157e 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -1978,7 +1978,7 @@ dependencies = [ [[package]] name = "kimiswitch" -version = "0.7.21" +version = "0.7.22" dependencies = [ "anyhow", "chrono", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 3fca257..775438f 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "kimiswitch" -version = "0.7.21" +version = "0.7.22" description = "Kimi Switch - model config manager" authors = ["codingplan.site"] edition = "2021" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 64b9166..78f04c0 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,6 +1,6 @@ { "productName": "Kimi Switch", - "version": "0.7.21", + "version": "0.7.22", "identifier": "com.kimiswitch.app", "build": { "beforeDevCommand": "npm run dev", diff --git a/src/components/ProviderList.tsx b/src/components/ProviderList.tsx index 8abb2ab..ef98d65 100644 --- a/src/components/ProviderList.tsx +++ b/src/components/ProviderList.tsx @@ -96,7 +96,9 @@ function ProviderCard({ provider.usageKinds, provider.usageConfig?.autoQueryIntervalMinutes, provider.usageConfig?.enabled === false, - provider.usageConfig?.threshold + provider.usageConfig?.threshold, + provider.usageConfig?.templateType === "newapi" || + provider.usageConfig?.templateType === "sub2api" ); const providerModels = Object.values(models).filter( (m) => m.provider === provider.name @@ -221,7 +223,7 @@ function ProviderCard({ )} {/* compact usage summary — sits left of the switch button, mirroring cc-switch's card layout (usage → action buttons) */} - {(provider.usageKinds?.length ?? 0) > 0 && ( + {usage.supported && ( )}