dsh-client-ui-model-switcher:DeepSeek Harness 一键服务商与模型切换插件

在 DeepSeek Harness (DSH) Web GUI 中,切换会话的模型或服务商通常需要进入设置页面。对于需要频繁切换模型的开发者或调试场景,这种方式效率较低。下面介绍一个客户端插件,它通过在会话标题栏增加滑块按钮,将模型切换逻辑下沉到客户端,实现一键切换。

核心功能

该插件主要解决会话级别的模型切换问题,核心能力如下:

  • 两级联动选择:替换原生模型选择器,采用两级设计。顶部显示服务商 Chips(服务商标签),点击后下方联动显示该服务商的可用模型列表,点击模型即可完成切换。
  • 配置过滤:面板通过检查 llm.providers、settings.describe 和 credentials.describe,仅显示已配置好 API Key 的服务商。补全 Key 后,服务商会自动出现在列表中。
  • 状态显示:当前选中的服务商和模型会以蓝色高亮并标记“✓”。
  • 实时同步:模型目录与 /model 命令及 Composer 席位共享同一份状态,任意入口切换都会实时刷新目录。
  • 异常提示:针对服务商不可用、目录加载失败等情况提供异常提示。
  • 会话限制:子代理会话不支持模型切换,插件会自动禁用并提示。

安装与启用

推荐使用 DSH 自带的 CLI 安装,它会自动处理依赖和配置写入。

dsh plugin --profile web add github:2275803244-cpu/dsh-model-switcher

安装完成后,需要重启 DSH 程序,会话标题栏才会出现滑块按钮。

典型用法

  1. 在会话标题栏找到滑块按钮并点击,弹出模型选择面板。
  2. 先点击顶部的服务商 Chips,下方联动显示该服务商的模型列表。
  3. 点击目标模型,完成切换。

注意:子代理会话禁用此功能。

技术实现与注意事项

  • 运行环境:纯浏览器侧实现,依赖 react / react/jsx-runtime,零构建过程。
  • 状态同步:通过订阅 modelDirectories 状态(使用 react.useSyncExternalStore),与 DSH 内部模型目录保持一致。
  • 槽位位置:插入到会话标题栏的 conversation.session.header.actions 槽位(order=25)。
  • 依赖:服务商目录来源于设置中的适配器配置。

若需查看更多信息,可访问插件目录页或 GitHub 仓库。

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

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

小夜