dsh-model-picker-brand: Display Provider Logo and Model ID in DSH Model Picker

前言

DeepSeek Harness(DSH)的 Composer 输入框里,模型选择器默认只显示一行文本,例如 DeepSeek-V4.1-Flash。当你在同一 Harness 里配置了多家 Provider、多条路由时,单靠展示名很难立刻区分「这是哪家 API」以及「当前选中的是哪条 model id」。社区插件 dsh-model-picker-brand(维护者 zhangyongshuai56-hub,SkillHub 分类:趣味换装)在不改 DSH 内核的前提下,通过官方插槽给标签加品牌标和模型 ID,停用后界面与官方一致。

下面介绍它的定位、能力与安装方式;事实以 GitHub 仓库 README 为准。

这是什么

dsh-model-picker-brand 是面向 web profile 的 DSH 插件:在模型选择器的标签位置插入彩色 Provider logo,并在名称旁展示 model ID(触发按钮上更紧凑,以 ID 为主)。实现方式是向官方插槽 conversation.input.model.label 注册 label 装饰器(priority −10),不修改 @deepseek-ai/dsh-client-ui-model-selection。npm 包名 dsh-model-picker-brand,当前 README 附带 package.json 显示版本 0.1.1,许可证 MIT。

界面变化

位置 安装前 安装后
Composer 触发按钮 DeepSeek-V4.1-Flash [logo] deepseek-flash(紧凑,ID 优先)
菜单「Model」行 DeepSeek-V4.1-Flash [logo] DeepSeek-V4.1-Flash + 灰色 deepseek-flash
模型列表项 同上 同上
未知 Provider 纯文本 首字母 monogram 彩色 chip

鼠标悬停任意标签时,title 为 name · id。

插槽渲染上下文包含 provider、model、placement(trigger | menu | option)、selected 等字段;装饰器在 try/catch 内渲染,异常时回退为 model.name,避免拖垮选择器。

核心功能

22 个品牌标与主题

内置 22 个品牌矢量标(部分来自 svgl,缺口用 simple-icons CC0 补充),在 14px / 16px 下验证过明暗主题。单色标(如 Anthropic、OpenAI、Ollama、Qwen、OpenRouter)随主题 currentColor;彩色标保留品牌色;Z.ai / 智谱使用官方风格 tile,便于暗色主题下 14px 可读。

Registry 驱动的品牌匹配

不用简单的 id → icon 扁平表,而是按置信度依次尝试:

  1. localStorage override(本地覆盖,无需发版)
  2. provider.id 上的 token(按分隔符拆分,长 token 优先)
  3. provider.name(含中文,如「智谱」「通义千问」「月之暗面」)
  4. model 前缀(最弱,如 glm-4.6、claude-3-7)
  5. 无匹配:首字母 monogram,不会误用其他厂商 logo

与官方 badge 插件 dsh-client-ui-deepseek-model-label-1017(priority 0)共存时,本插件 priority 更低(−10),启用后会接管标签渲染;禁用本插件后官方 badge 恢复。

安装与启用

环境要求:dsh >= 0.2.1-rc.2。无构建步骤、无运行时依赖;安装后需 重启或热重载 宿主一次。卸载只需移除 bundle 条目,不会额外写持久化配置。

插件向导

打开 Settings → Plugins → Add plugin,搜索 dsh-model-picker-brand,点击 Install。

dsh CLI(npm)

dsh plugin --profile web add dsh-model-picker-brand

直接从 GitHub 安装(不经 npm)

dsh plugin --profile web add github:zhangyongshuai56-hub/dsh-model-picker-brand

更新

dsh plugin --profile web update dsh-model-picker-brand@latest

典型用法

本地覆盖未知 Provider

在新 Provider 尚未收录进插件时,可在浏览器控制台写入 override,无需等插件发版:

localStorage.setItem('dsh.model-picker-brand.overrides', JSON.stringify({ 'my-provider': 'zhipu' }))

调试匹配结果

在浏览器控制台调用:

dshModelPickerBrand.resolve({ id: 'zai' })

用于核对 id / name / model 线索是否解析到预期品牌。

适用场景与注意

适合:经常在 DSH web 界面切换多 Provider、多模型路由的开发者;希望一眼看清「哪家 API + 哪条 id」,并愿意用社区 UI 插件做选择器增强。

注意:

  • 插件随当前 DSH 进程与 web 客户端注入运行,安装前建议阅读 源码 与 MIT 许可证;品牌图形仅用于标识服务来源,商标归各自权利人所有。
  • SkillHub 目录页(dsh-model-picker-brand)为社区生态站点,与 DeepSeek / 幻方无官方从属关系;星标等元数据以目录与 GitHub 当时显示为准(README 徽章链至 GitHub stars)。
  • 仅 web profile(dsh.plugin.client.platform: web),需注入 @deepseek-ai/dsh-client-ui-slots。

结尾

dsh-model-picker-brand 用官方 conversation.input.model.label 插槽做一级装饰:零内核改动、22 品牌标、registry 匹配与 monogram 兜底,把模型选择器从「单行模型名」变成「logo + 名称 + model ID」。需要安装命令与匹配细节时,可直接查阅 GitHub README 与 SkillHub 插件页。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye