在 DeepSeek Harness(DSH)的使用过程中,频繁切换模型是常态。仅通过文本名称识别当前模型对应的提供商(如 DeepSeek、OpenCode 等)有时不够直观。dsh-provider-badge 插件通过在模型选择器旁显示当前提供商的图标,解决了这一问题。
这是一个客户端插件,由维护者 marshfolx 开发。它订阅了模型选择插件的 modelDirectories 存储,因此能实时响应模型变更,并自动适配界面布局的缩放和行高变化。
核心功能¶
该插件根据模型名称匹配规则,显示不同的图标样式:
- DeepSeek:当提供商名称包含
deepseek时,显示鲸鱼 SVG 图标。 - OpenCode Go:当提供商名称包含
opencode(如opencode-go)或等于go时,显示粗体合并的 “GO” 字标。 - OpenCode Zen:当提供商名称等于
opencode或包含zen时,显示粗体合并的 “ZEN” 字标。 - 其他提供商:默认显示方块的提供商首字母。
图标高度会根据 DPI 和行高自动缩放。
安装与启用¶
通过 DSH 官方命令行工具安装:
dsh plugin --profile <profile> add github:marshfolx/dsh-provider-badge#main
安装完成后,需要重启 DSH 进程以加载插件。如果通过修改 package.json 手动添加,需在 dsh.profile.bundles 中追加该包名并运行 pnpm install。
图标外观调整¶
插件提供两种方式调整图标的大小、位置和颜色。
永久调整¶
编辑插件源码中的 client/client.js 文件,在顶部找到 TUNING_DEFAULTS 对象进行修改。
| 配置项 | 默认值 | 说明 |
|---|---|---|
iconScale |
1 |
图标高度倍数(鲸鱼图标基准 13px,字母图标基准 10px) |
yOffset |
0 |
垂直偏移量(像素),正数表示向下 |
color |
'var(--dsw-alias-label-caption)' |
图标颜色,跟随主题的标签 caption 颜色。若需半透明,可使用 rgba(...) 或 color-mix(...) |
修改后需刷新页面(建议硬刷新 Ctrl+F5)。
临时调整¶
无需编辑文件,直接在浏览器控制台执行以下代码,随后刷新页面:
localStorage.setItem('dsh-provider-badge:tuning', JSON.stringify({ iconScale: 1.1, yOffset: -1 }));
location.reload();
要恢复默认,清除该键值即可:
localStorage.removeItem('dsh-provider-badge:tuning');
location.reload();
插件结构¶
了解其结构有助于排查问题或进行二次开发:
cordis.patch.yml:定义了向 UI 注入的组件位置。client/client.js:浏览器端的主要逻辑,包含TUNING_DEFAULTS配置和模块注册。lib/index.js:宿主端逻辑(空文件,因是纯客户端插件)。
注意事项¶
- 该插件为纯客户端插件,不涉及服务端逻辑。
- 由于插件注入了 DOM 和样式,安装前建议检查其源码与许可证(MIT)。
- 配置修改后目前不支持热重载,必须刷新页面生效。