DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

kjlamuro /

kjlamuro/dsh-model-provider-tag

Verified

Show which provider route a model comes from as a tag on the DeepSeek Harness composer model seat (official DeepSeek vs third-party providers)

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@89ccbcd6

dsh-model-provider-tag

给 DeepSeek Harness(DSH)的模型名加上供应商标签。

模型目录里经常同时挂着 DeepSeek 官方路由和第三方路由的同一个模型;收起态的模型席只显示 DeepSeek V4.1 Flash,看不出它到底来自官方还是某个供应商。本插件把供应商显示在模型名前面:

收起态 / 输入框模型席:   [官方] DeepSeek V4.1 Flash   Max
模型菜单(模型行):      模型   [官方] DeepSeek V4.1 Flash   ›
第三方路由:              [OpenCode Go] DeepSeek V4.1 Flash
  • 官方路由(deepseek-official、deepseek-account)显示细描边的「官方 / Official」标签, 文字跟随界面语言;
  • 其他供应商显示该路由自己的显示名(provider.name),用主题信息色的浅色胶囊以拉开对比;
  • 模型列表里被点开的那一页(已经按供应商分组、带分组标题)保持官方原样,不重复加标签;
  • 服务端下发的模型角标(model.badge)行为保持不变:收起态在名称前、菜单内在名称后。

长这样

供应商标签的设计预览(用应用主题变量近似渲染)

说明:这是用 DSH 主题变量与 Tag 组件样式近似渲染的设计预览,方便看清浅色 / 深色下的对比; 真机里显示的就是这个样子(官方 = 细描边「官方」,第三方 = 浅蓝点染胶囊 + 供应商显示名)。

实现方式

只用官方扩展点,不改 DSH 本体:

  • 宿主半边(lib/index.js)是空操作,唯一作用是让本包成为 Cordis 树里的一个条目, 让 dsh-client-modules 能发现客户端产物;
  • 客户端半边(lib/client.js)通过 ctx.slots.register 注册 conversation.input.model.label 这个官方 inline 单槽(0.2.2 起提供), 拿到 { provider: { id, name }, model, placement, selected } 后渲染标签;
  • 点击、焦点、搜索、禁用态、无障碍名称仍由官方模型选择控件负责,插件只交付非交互内容;
  • 任何一步失败都 fail-open:保持官方默认模型名,不拖累输入区。

安装

在 DSH 里用设置 → 插件 → 添加插件,填本目录的绝对路径,安装后按提示重启或让它热应用。 桌面版也可以在本机用随应用安装的 dsh 命令:

dsh plugin --profile desktop add link:"/Users/kjlamuro/DSH/dsh-model-provider-tag"

卸载:设置里停用并移除本插件,或 dsh plugin --profile desktop remove dsh-model-provider-tag。

GitHub 安装(推荐跨设备)

源码与 Release 都在 https://github.com/kjlamuro/dsh-model-provider-tag:

  • 插件面板:设置 → 插件 → 添加插件,填 github:kjlamuro/dsh-model-provider-tag;
  • CLI:
    dsh plugin --profile desktop add github:kjlamuro/dsh-model-provider-tag
    
  • 用 Release 里的 tgz(不依赖 git):
    dsh plugin --profile desktop add \
      https://github.com/kjlamuro/dsh-model-provider-tag/releases/download/v0.1.1/dsh-model-provider-tag-0.1.1.tgz
    

国内网络访问 github.com 可能较慢或被限流;安装时需要能连上 github.com(必要时给终端/代理开全局或 在插件面板安装时使用可用的网络)。git 安装方式需要本机有 git,Release tgz 方式不需要。

已实测:Release tgz 链接在本网络直连即可安装(慢一些,约 30 秒);github: 方式在本网络需要走代理。 两种方式装完都会自动登记为 profile bundle。

换电脑 / 分享给别人

本机现在装的是 link: 依赖(直接指向本目录),只在这台电脑的 desktop profile 里生效; 这个包也还没有发布到 npm。换电脑时插件本体和两处配套配置都要一起带走:

  1. 插件本体(二选一):
    • 直接拷贝整个 dsh-model-provider-tag/ 目录;或
    • 拷贝打包好的 dsh-model-provider-tag-0.1.1.tgz(Release 下载;本机 dist/ 里也有一份) (npm pack --pack-destination dist 可重新生成)。
  2. 在新电脑上安装(桌面版;插件面板与 CLI 两种方式都行):
    • 插件面板(推荐,能热应用):先打开一次 DSH 让 profile 初始化,然后 设置 → 插件 → 添加插件,填绝对路径——tgz 文件或解压后的目录都可以;安装完成按提示启用。
    • CLI:完全退出 DSH 后,用随 Desktop 安装的 dsh 命令:
      dsh plugin --profile desktop add /绝对路径/dsh-model-provider-tag-0.1.1.tgz
      
      重开 DSH 即可。tgz 已在临时 profile 里实测安装成功(依赖、bundle 选择都会自动登记)。
  3. 配套配置(不迁 profile 就没有;见下一节):
    • displayName: OpenCode Go 这段要加到新电脑 ~/.dsh/profiles/desktop/cordis.patch.yml 的 llm-pi-ai 条目里,否则标签会显示路由键 opencode-go;
    • OPENCODE_GO_API_KEY 之类的凭据也要在新电脑配好,否则模型本身调不通。

不要直接拷贝整个 ~/.dsh/profiles/desktop:里面有 link: 路径、pnpm 锁文件和机器相关的 node_modules,换机器容易坏。只迁插件 + cordis.patch.yml 里的配置片段最稳。

想做到新电脑一条命令安装:

  • GitHub(已发布):新电脑插件面板填 github:kjlamuro/dsh-model-provider-tag, 或用上面的 Release tgz 链接;
  • npm(以后可选):包名 dsh-model-provider-tag 目前在 npm 上仍未被占用, npm login && npm publish 后,新电脑在插件面板直接填包名即可。

(tgz 的校验值见同级的 dist/SHA256SUMS。)

供应商显示名

第三方路由的名字来自 pi-ai 适配器的 displayName;没写时回退到路由键(例如 opencode-go, 胶囊里就会显得很"机器")。本机 desktop profile 已经给当前路由补好:

- id: llm-pi-ai
  name: "@deepseek-ai/dsh-llm-pi-ai"
  config:
    providers:
      opencode-go:
        apiKeyEnv: OPENCODE_GO_API_KEY
        displayName: OpenCode Go

这个 displayName 同时作用于模型菜单的供应商分组标题和「设置 → 模型」页,所以是全局更名。 以后新增别的供应商,照同样的写法补 displayName 即可;改完保存,profile 热更新会立即生效。

已知限制

  • /model 命令弹窗的模型行使用命令弹窗自己的渲染 API,不经过 conversation.input.model.label, 因此不带本标签(那里的行本来也只显示模型名);输入框模型席和收敛态菜单都正常显示。
  • 收起态的按钮 aria-label / tooltip 仍只由官方模型名和推理等级组成;标签是视觉增强, 读屏软件听到的仍是官方名称。
  • 标签文字跟随 provider.name,所以供应商自己的改名会同步反映,无需更新本插件。
—/ 5

No ratings yet

Verified DSH bundle

Commit 89ccbcd631e2

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout