@huai_xin/dsh-model-picker 0.1.2 → 0.2.0

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.
Files changed (3) hide show
  1. package/README.md +19 -4
  2. package/client.js +1287 -838
  3. package/package.json +2 -2
package/README.md CHANGED
@@ -12,6 +12,13 @@ DSH 自带的模型选择器是按两级菜单设计的。模型一多,找一
12
12
 
13
13
  **和官方选择器共用一份状态** — 不是另起炉灶。它复用 DSH 自己的 `modelDirectories` 服务,所以你在输入框里选的模型,和 `/model` 命令弹窗里看到的,永远是同一个。切换过程中(Host 还没确认时)两个入口都会显示"正在切换"。
14
14
 
15
+ **搜索跟官方同一套算法** — 有序子序列匹配、前缀优先,`gpt61` 也能找到 `GPT-6.1-Sol`;模型 id 同样是搜索键。
16
+
17
+ **切档位失败会告诉你** — 提示框挂在控件上方,默认收起,点开才显示原始的 `code: message`。
18
+
19
+ **档位是一条能拖的滑杆** — 轨道上是各档位的刻度,拖动时滑块跟手,松手才提交一次。滑块整个
20
+ 待在轨道里面,不会压出边界;面板是紧凑尺寸,不占半个屏幕。
21
+
15
22
  **跟着模型列表实时变** — 别的插件改了可用模型(开关模型、导入账号、探测到模型不可用……),这个列表会立刻跟着变,不用刷新页面。
16
23
 
17
24
  **新会话显示默认模型** — 而不是空着或显示"没有可用模型"。
@@ -34,15 +41,23 @@ dsh plugin --profile <你的 profile> add /path/to/dsh-model-picker
34
41
 
35
42
  不想要了就直接停用或移除这个 bundle,不会影响模型本身是否可用。
36
43
 
37
- ## 已知限制
44
+ ## 和官方选择器的关系
45
+
46
+ **只换界面,不换数据。** 模型列表、当前选择、切换、失效刷新——这些都还是 DSH 官方 `ui-model-selection` 的实现,本插件通过它的 `modelDirectories` 服务读取。所以:
47
+
48
+ - 你在 `/model` 命令里看到的和输入框里看到的,永远是同一个选择
49
+ - 官方插件升级后,数据层的行为会自动跟着变
38
50
 
39
- **会丢掉 provider 插件挂在模型名上的装饰。** DSH 官方选择器声明了一个子槽位 `conversation.input.model.label`,provider 插件往那里挂徽标、可用性提示、促销标记之类的东西。替换者没法继承这个声明——子槽位只能声明一次,官方占用者即使被压住不渲染,它的声明依然有效。所以在这个选择器里,模型名后面不会有那些装饰。
51
+ 有一处**已知差异**:provider 插件挂在模型名上的徽标(`conversation.input.model.label`
52
+ 子槽位)在这里**不会显示**,模型名回落成纯文本。原因是子槽位声明按 key 独占,官方占用者已经
53
+ 声明了它,本插件再声明会直接抛 `already declared`,整个选择器停摆——见
54
+ [AGENTS.md](AGENTS.md) 不变量 2。取舍是:能用的选择器,好过带徽标但不渲染的选择器。
40
55
 
41
- 想同时要装饰和这套交互,只能停用官方的 `ui-model-selection` bundle,代价是它的 `/model` 命令一起消失。这是 DSH 槽位架构的限制,不是本插件能绕过的。
56
+ 本插件替换的只是那层 UI:把两级菜单换成一次点开的可搜索列表,把思考档位拆成独立控件。
42
57
 
43
58
  ## 兼容性
44
59
 
45
- 需要 DSH `0.2.1-rc` 及以上。模型数据全部走 DSH 自己的 client remote(`session.modelCatalog` / `session.selectModel`),插件本身不认识任何具体 provider——任何 provider 插件注册的模型都会出现在列表里。
60
+ 需要 DSH `0.2.1-rc` 及以上。插件本身不认识任何具体 provider——任何 provider 插件注册的模型都会出现在列表里。
46
61
 
47
62
  ## 开发
48
63