@nimoxie/dsh-model-organizer 0.5.0 → 0.5.11

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 (4) hide show
  1. package/DEVELOPMENT.md +385 -212
  2. package/README.md +6 -2
  3. package/lib/client.js +4532 -3949
  4. package/package.json +1 -1
package/README.md CHANGED
@@ -22,8 +22,11 @@
22
22
  - 「设置 → 模型」这一行被本插件接管,点开就是本插件自己的页面(导航里仍然只有「模型」一行,本插件不会多占一格)。左栏最上是**只读的「官方(内置)」分组**——DeepSeek 官方那几条路由:悬停提示「官方路由 · 请到官方模型页编辑(点击前往)」,点一下会切回官方模型页(导航仍然是「模型」一行,配置不动)。下面是自己添加的供应商,按「官方目录 / 自定义供应商」分组,**都能拖动排序**(顺序只记在本机),行的悬停与抓握光标与设置页浮窗完全一致
23
23
  - 右栏编辑选中供应商:API 地址、API 格式(三种协议)即时保存;密钥粘贴后写入凭据库(页面读不回明文,可清除)
24
24
  - 模型列表的每一行是和供应商行同构的**一整行**(绿点 + 名称 + 参数摘要):**按住整行就能拖动排序**(手感和官方模型页右下角浮窗里的供应商行一致),**单击打开「模型详情」弹窗**,在里面改这个模型的全部配置——模型 ID、显示名、上下文窗口、最大输出 token、输入模态(文本 / 图片)、推理等级(继承 / 不支持 / 自定义)、是否启用,也可以删除该模型;**保存后立即写回 DSH 配置**(保存按钮只在弹窗里;页面底部那个旧按钮和行内输入框都没了)
25
- - 模型列表右上角有「**获取可用模型**」:调用官方发现接口(catalog 供应商零网络直出,网关走 `GET {baseURL}/models`),弹出「选择要添加的模型」——可搜索、可全选,**勾选后点「添加所选」才写回配置**,取消或关闭不影响现有配置
26
- - 左栏列表末尾有虚线框「**+ 添加模型提供商**」(与官方模型页同一形态):填路由 ID、显示名称、API 地址、API 格式、密钥即可新建一条供应商路由;路由 ID 会做非空 / 字符集 / 重名校验,配置与密钥引用在**同一次写入**里落地
25
+ - 模型列表右上角有「**获取可用模型**」:调用官方发现接口(DSH 目录里已有的供应商不发网络请求;自己加的网关才会去问 `GET {baseURL}/models`),弹出「选择要添加的模型」——可搜索、可全选,**勾选后点「添加所选」才写回配置**,取消或关闭不影响现有配置
26
+ - 左栏列表末尾有虚线框「**+ 添加模型提供商**」(与官方模型页同一形态):填路由 ID、显示名称、API 地址、API 格式、密钥、**至少一个模型 ID** 即可新建一条供应商路由;路由 ID 会做非空 / 字符集 / 重名校验,配置与密钥引用在**同一次写入**里落地
27
+ - 模型 ID 是**必填**的:自己添加的路由不在 DSH 的目录里,配置里没有模型它就解析不出来(DSH 会直接报 "resolves no models")。填好 API 地址与密钥后可以点「**从网关获取**」,它会按你填的地址去问一次网关,把模型 ID 自动填进来;也可以手动输入,多个用逗号或空格分隔
28
+ - 供应商详情右上角(启用开关左边)有一个**垃圾桶图标按钮**(和界面其它图标同一套素材,悬停/读屏为「删除供应商」):先弹确认,确认后移除这条自建路由的配置,并清理本页为它派生的密钥引用(别处配置的密钥不动);官方路由不提供这个按钮
29
+ - 每条模型行右侧有两个**带圆角边框的图标按钮**:**🔗 测试连接** = 让宿主去问该供应商的模型列表,并检查这个模型 ID 在不在其中(自建路由会真的访问网关、用已保存的密钥;目录已描述的路由直接读目录)。点击后图标变成**转圈**,结果换成 **✓**(可达且在列表)/ **⚠**(可达但不在列表)/ **✗**(失败),颜色区分、悬停看原因,**图标与按钮尺寸始终不变**;**🗑** = 从配置里删掉这个模型(每条路由至少保留一个)
27
30
  - 每行左侧的**绿点就是启用开关**:亮=启用,暗=停用。**启用 = 这一项出现在本插件的模型菜单里**;停用只是把它从**本插件的模型选择菜单**里移除(聊天框的模型菜单不再列出),**DSH 配置原样保留、随时可以点回来**。供应商行和模型行是同一个语义;状态与拖拽顺序一样存在本机
28
31
  - **默认接管官方「模型」页**:设置里**永远只有「模型」一行**(我们那格在两种状态下都隐藏),点它打开的就是被接管的那一页。**没有开关,按钮即状态**:本页标题右侧的「官方模型页」= 把这一行交还官方页;官方页浮窗里的「模型管理页」= 重新接替。两个方向都不改变菜单,只切换这一行背后的页
29
32
  - **每次打开「模型」都是我们的页**:接管状态不写盘(装了插件就以本插件的页为准);「交还官方页」**只对这一次打开设置有效** —— 关掉设置再进来,又是本插件的页(重载/重启同理)。判定照官方条目的优先级**相对计算**(官方 −1 赢 / 官方 +1 交还),不写死数值
@@ -76,6 +79,7 @@ dsh plugin --profile <profile> add link:/absolute/path/to/dsh-model-organizer
76
79
 
77
80
  ## 已知限制
78
81
 
82
+ - 「测试连接」验证的是**地址 / 密钥 / 网关可达性,以及这个模型 ID 是否在网关返回的列表里** —— 它不会真的发一条消息给模型(DSH 的远程接口没有这个能力,客户端也读不回密钥)。所以「✓」只代表这条路由和这个 ID 是通的,不等于这个模型一定能补全
79
83
  - 设置页右下角的排序浮窗**只列你自己添加的供应商**(写进配置的那些),官方路由**根本不进这个浮窗**;想在左栏看到官方路由,看顶部只读的「官方(内置)」分组
80
84
  - 浮窗里排出的供应商顺序会**镜像**到官方模型页的卡片上;官方卡片(DeepSeek 官方等)被刻意保持在最前面
81
85
  - 供应商顺序、浮窗位置只存在当前浏览器;模型顺序存在 DSH 的用户配置里,同一份 DSH 的所有设备共用——两台机器各装一份 DSH 则互不相通