@dsh-plugins/dsh-llm-hub 1.8.0 → 1.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,41 @@
2
2
 
3
3
  本项目遵循 [Semantic Versioning](https://semver.org/lang/zh-CN/)。
4
4
 
5
+ ## [1.9.1] - 2026-10-12
6
+
7
+ ### 🐛 安装文案指向一个已经退役的 profile
8
+
9
+ 宿主 2026-10-02 从「常驻 web 服务(profile `web`)」换成「桌面端 app(profile `desktop`,
10
+ 由 app 独占托管)」,而本插件的安装指引仍写死 `--profile web`。用户照着复制出来的命令
11
+ 执行,只会拿到一条 `profile "web" ...` 的报错 —— 比不给命令更糟。
12
+
13
+ - 家族 Dock 的「⚡ 一键复制安装」与页脚的「分享」两处文案都改为给出两条路:
14
+ 桌面端 app 在**插件管理**里搜包名直接装;自建 CLI profile 走
15
+ `dsh plugin --profile <你的profile名> add <包名>`,profile 名用占位符而非写死
16
+ - 按钮悬浮提示同步更新
17
+ - `npm run preview` 原来 `open http://127.0.0.1:3080`,该服务已下线,改为与 bloom 一致的
18
+ 「部署完成 → 到桌面端应用里重载页面」提示
19
+
20
+ 之所以拖到现在才发现:**那条把旧文案钉死的测试也一起写错了** —— 断言的是
21
+ `--profile web` 字面量。文案和测试一起错,反而没人发现。断言已改为只钉意图
22
+ (必须带 `--profile`、必须给出桌面端安装路径、不许再出现已退役的 profile 名)。
23
+
24
+ ## [1.9.0] - 2026-10-10
25
+
26
+ ### 🚀 下线智能路由配置界面,替换为只读用量/模型展示 Chip,修复可用模型统计 Bug
27
+
28
+ - **下线智能路由配置界面与切换浮层**:
29
+ - 移除设置页左侧独立的「路由」配置分区(原 `RoutingCard` / `RoutingSection`,包含分组编辑、主力与兜底模型设定、排序与自动保存);
30
+ - 移除输入框左侧原本可点击切换「公司 / 个人」分组和智能开关的 `SmartRouteChip` 浮层菜单;
31
+ - 替换为只读状态信息位 **`ProviderUsageChip`**,展示当前供应商 · 模型 · 可用数 · 配额 · 用量,点击仅查看只读详情,模型切换统一回归上方主模型下拉。
32
+ - **修复 Hero 看板可用模型数显示为破折号的 Bug 并去重**:
33
+ - 后端在全量探测状态快照 `baseVerdicts` 中补齐已配可用 provider 的 `modelIds` 与 `modelCount`;
34
+ - 前端顶部 Hero KPI 卡片在聚合可用模型数时,对所有健康可用供应商下的同名模型做跨供应商 `Set` 去重,解决重复计数并正确渲染真实模型数。
35
+ - **功能与稳定性增强**:
36
+ - 智能提取实际有余额的币种(避免因 USD:0 导致多币种账户显示为 0);
37
+ - DeepSeek 单 Key 模式下提供轮转引导,多 Key 模式下展示实时余额与脱敏状态 chips;
38
+ - 补回丢失的外部子代理注入调用,恢复本地 Harness(Codex / Claude / Antigravity)自动探测与注册。
39
+
5
40
  ## [1.8.0] - 2026-09-29
6
41
 
7
42
  ### 🔧 适配 DSH 0.1.7 的 settings 架构(升级到 0.1.7 后配置读不到的那版)
package/README.en.md CHANGED
@@ -30,10 +30,14 @@ On DSH's Models page, the official adapters leave half the job undone. This plug
30
30
  > Only Node.js is required — **no global dsh install**; upstream's official entry is `npx @deepseek-ai/dsh`. If dsh is installed globally, use `dsh` instead.
31
31
 
32
32
  ```sh
33
- npx @deepseek-ai/dsh plugin --profile web add @dsh-plugins/dsh-llm-hub
33
+ npx @deepseek-ai/dsh plugin --profile <your-profile> add @dsh-plugins/dsh-llm-hub
34
34
  ```
35
35
 
36
- Add `@dsh-plugins/dsh-llm-hub` to `dsh.profile.bundles` in `~/.dsh/profiles/web/package.json`, then restart DSH (stop it and rerun `npx @deepseek-ai/dsh web`).
36
+ > **Desktop app users**: the official Electron app owns the `desktop` profile exclusively — the CLI
37
+ > refuses plugin operations on it (`profile "desktop" is managed exclusively by the Electron application`).
38
+ > Install and update from the plugin manager inside the app; the CLI form above is for self-managed profiles.
39
+
40
+ Add `@dsh-plugins/dsh-llm-hub` to `dsh.profile.bundles` in `~/.dsh/profiles/<your-profile>/package.json`, then restart the DSH desktop app (quit and reopen it).
37
41
  Open **Settings → Models** — a new row appears under the provider cards.
38
42
 
39
43
  <sub>A boot-graph change requires a restart; hot reload won't pick it up. `cordis.patch.yml` is inserted automatically by the bundle mechanism.</sub>
package/README.md CHANGED
@@ -48,11 +48,10 @@ DSH 的模型页上,官方适配器有一半事情没做。这个插件把它
48
48
  > 前提:装好 Node.js 即可,**无需全局安装 dsh** —— 官方入口就是 `npx @deepseek-ai/dsh`。已全局安装的可把它换成 `dsh`。
49
49
 
50
50
  ```sh
51
- npx @deepseek-ai/dsh plugin --profile web add @dsh-plugins/dsh-llm-hub
51
+ npx @deepseek-ai/dsh plugin --profile <你的 profile> add @dsh-plugins/dsh-llm-hub
52
52
  ```
53
53
 
54
- 再把 `@dsh-plugins/dsh-llm-hub` 加进 `~/.dsh/profiles/web/package.json` 的 `dsh.profile.bundles` 数组,
55
- 然后重启 DSH(结束当前进程后重新运行 `npx @deepseek-ai/dsh web`)。打开**设置 → 模型**,provider 卡片下方会多出一行。
54
+ 再把 `@dsh-plugins/dsh-llm-hub` 加进该 profile 的 `package.json` 的 `dsh.profile.bundles` 数组,然后重启 DSH。打开**设置 → 模型**,provider 卡片下方会多出一行。
56
55
 
57
56
  <sub>boot graph 变了必须重启,热载不生效;`cordis.patch.yml` 由 bundle 机制自动 insert。</sub>
58
57
 
@@ -84,7 +83,7 @@ npx @deepseek-ai/dsh plugin --profile web add @dsh-plugins/dsh-llm-hub
84
83
  升级:
85
84
 
86
85
  ```sh
87
- npx @deepseek-ai/dsh plugin --profile web update @dsh-plugins/dsh-llm-hub@^1.5.1
86
+ npx @deepseek-ai/dsh plugin --profile <你的 profile> update @dsh-plugins/dsh-llm-hub@^1.5.1
88
87
  # 重启 DSH
89
88
  ```
90
89
 
@@ -499,12 +498,18 @@ publish。Release 的存在性单独探测,所以「npm 发成功但 Release
499
498
  <a href="https://github.com/webkubor/dsh-env-inspector">🖥️ 电脑环境</a>
500
499
  </p>
501
500
 
502
- 一行装齐(只需 Node.js),装完重启 DSH 即可:
501
+ 一行装齐(只需 Node.js),装完重启 DSH 即可。**把 `PROFILE` 换成你自己的 profile 名**:
503
502
 
504
503
  ```bash
505
- npx -y @deepseek-ai/dsh plugin --profile web add dsh-bloom-theme @dsh-plugins/dsh-llm-hub @dsh-plugins/dsh-user-mirror @dsh-plugins/dsh-env-inspector && node -e 'const f=(process.env.DSH_HOME||require("os").homedir()+"/.dsh")+"/profiles/web/package.json",p=require(f),b=p.dsh.profile.bundles;for(const n of Object.keys(p.dependencies))if(/^(dsh-bloom-theme|@dsh-plugins\/)/.test(n)&&!b.includes(n))b.push(n);require("fs").writeFileSync(f,JSON.stringify(p,null,2)+"\n")'
504
+ PROFILE=<你的 profile>
505
+ npx -y @deepseek-ai/dsh plugin --profile "$PROFILE" add dsh-bloom-theme @dsh-plugins/dsh-llm-hub @dsh-plugins/dsh-user-mirror @dsh-plugins/dsh-env-inspector && PROFILE="$PROFILE" node -e 'const f=(process.env.DSH_HOME||require("os").homedir()+"/.dsh")+"/profiles/"+process.env.PROFILE+"/package.json",p=require(f),b=p.dsh.profile.bundles;for(const n of Object.keys(p.dependencies))if(/^(dsh-bloom-theme|@dsh-plugins\/)/.test(n)&&!b.includes(n))b.push(n);require("fs").writeFileSync(f,JSON.stringify(p,null,2)+"\n")'
506
506
  ```
507
507
 
508
+ > **桌面端用户**:官方 Electron 端独占 `desktop` profile,命令行对它做插件操作会被拒
509
+ > (`profile "desktop" is managed exclusively by the Electron application`)——
510
+ > 请在应用内的**插件管理**里安装与升级。下面的 CLI 写法只适用于自建 profile。
511
+
512
+
508
513
  ---
509
514
 
510
515
  ## License