dsh-model-provider-label
其他 已归档

dsh-model-provider-label

haiyoucuv/dsh-model-provider-label

轻量级模型管理插件,可自动为同名模型附加提供方标识标签,直观区分不同来源的同名模型,无需额外配置即可在模型列表中清晰辨识归属。

1
Stars 标星
0
Forks 分支
1
Watchers 关注
0
Open Issues
TypeScript
主要语言
MIT
开源协议
56 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:haiyoucuv/dsh-model-provider-label
git clone https://github.com/haiyoucuv/dsh-model-provider-label.git
git clone git@github.com:haiyoucuv/dsh-model-provider-label.git
README.md main

dsh-model-provider-label

⚠️ 已停止维护(Deprecated)

本插件已停止维护:「显示厂商名」功能已并入新插件 dsh-chat-tweaks(DSH 界面美化合集:独立设置页、更多开关,持续更新)。

  • 新插件仓库:https://github.com/haiyoucuv/dsh-chat-tweaks

  • 安装新插件:

    dsh plugin --profile web add https://github.com/haiyoucuv/dsh-chat-tweaks/archive/refs/tags/v0.1.0.tar.gz
  • 安装新插件后请卸载本插件(二者占用同一 UI 槽位,共存会报错):

    dsh plugin --profile web remove dsh-model-provider-label

以下内容保留作历史存档。

在 DeepSeek Harness 对话框模型选择器同时显示 provider 显示名 与 模型名,
让不同 provider 下的同名模型一眼可辨。

Show the provider display name next to the model name in the DeepSeek
Harness composer model seat, so identical model names from different
providers become distinguishable.

GitHub release
License: MIT

中文 | English

默认模型选择器只显示模型名(如 DeepSeek V4 Flash)。当你配置多个
provider、且不同 provider 下有同名的模型时无法区分。本插件把 provider
的 displayName 一并显示:DeepSeek · DeepSeek V4 Flash。

效果

默认 安装本插件后
DeepSeek V4 Flash DeepSeek · DeepSeek V4 Flash
GPT-5 (provider A) ProviderA · GPT-5
GPT-5 (provider B) ProviderB · GPT-5

效果预览

下拉菜单、推理等级选择、模型目录加载、错误提示等行为与默认实现完全一致——
本插件只是遮蔽了 conversation.input.model UI 槽位,用 priority 更低
的组件替换默认渲染,其余逻辑 100% 复用宿主 modelDirectories 服务。

安装

# 从 GitHub 安装(推荐)
dsh plugin --profile web add https://github.com/haiyoucuv/dsh-model-provider-label/archive/refs/tags/v0.1.0.tar.gz

# 或从本地目录安装(开发调试)
dsh plugin --profile web add link:/path/to/dsh-model-provider-label

安装后重启 dsh web 使浏览器端加载 client bundle。

提示:也可以直接用 pnpm 在 profile 目录安装:

cd ~/.dsh/profiles/web && pnpm add https://github.com/haiyoucuv/dsh-model-provider-label/archive/refs/tags/v0.1.0.tar.gz

开发

pnpm install          # 安装 esbuild / typescript 等 dev 依赖
pnpm build            # 生成 lib/client.js(ModuleLoader 格式)+ lib/index.js
  • 源码:src/client/index.tsx(apply / inject + 槽位遮蔽)、
    src/client/ModelSelect.tsx(改造后的模型选择器)
  • 样式:src/client/ModelSelect.module.css
  • 构建产物 lib/ 已提交,安装无需本地构建

工作原理

DSH 的 conversation.input.model 是一个 single 类型 UI 槽位(slot),
默认由 dsh-client-ui-model-selection 以 priority: 0 注册。slot 系统规定
同 priority 只能有一个注册,更低 priority 的注册会遮蔽(shadow)默认实现
(lowest renders)。本插件用 priority: -100 注册同名槽位,因此渲染的是
我们的组件;目录数据仍来自宿主注入的 modelDirectories service(按会话共享,
与 /model 命令同一份状态),翻译复用宿主已注册的 model locale namespace
(不重复注册,避免 locale 冲突)。

自定义显示格式

编辑 src/client/ModelSelect.tsx 里的 providerLabel / modelLabel /
triggerLabel 组合即可,然后 pnpm build + 重启。

License

MIT — 见 LICENSE