DeepSeek Harness 插件:dsh-provider-model-picker

前言

DeepSeek Harness 的 Composer 控件在处理同名模型时存在歧义。当两个提供商提供相同模型(例如 DeepSeek-V4.1-Flash)时,默认的触发器仅显示模型名称,无法区分来源。dsh-provider-model-picker 旨在解决这一模糊性,它在保留原生提供者分组选择器的同时,在控件中显式显示提供者名称。

插件介绍

该插件由 icrefin 维护,开源协议为 MIT。它通过注册低优先级的插槽来覆盖默认行为,确保在 Composer 控件中显示 Provider/Model 格式(如 DeepSeek Demo/DeepSeek-V4.1-Flash),而不是仅显示模型名。

核心功能

  1. Provider/Model 显示:重新注册 conversation.input.model(优先级 -1),在触发器中显示提供者名称与模型名,同时提供提供者分组的模型列表。
  2. 推理等级支持:支持推理等级选择(off, minimal, low, medium, high, xhigh, max)。需在主机配置 YAML 中声明 reasoningEfforts 字段。
  3. UI 与交互:支持键盘导航(↑/↓ 移动行,Tab 接受/离开,Esc 返回),并遵循主机 CSS 变量进行紧凑显示。
  4. 本地化:包含英语和简体中文的界面文本。

典型用法

  • 同名模型场景:当 DeepSeek-V4.1-Flash 同时存在于 DeepSeek Demo 和 Baidu Team 时,控件会显示 DeepSeek Demo/DeepSeek-V4.1-Flash,而非仅显示 DeepSeek-V4.1-Flash。
  • 配置推理等级:在主机 YAML 中为模型声明 reasoningEfforts 字段。例如:
    - id: llm-pi-ai
      name: "@deepseek-ai/dsh-llm-pi-ai"
      config:
        providers:
          baidu-team:
            models:
              - id: deepseek-v4.1-flash
                name: BD DeepSeek-V4.1-Flash
                reasoningEfforts:
                  low: low
                  medium: medium
                  high: high

实现细节

  • 优先级机制:插件注册优先级为 -1,低于默认值 0。这确保了原生插件保持安装,若组件崩溃则回退到原生触发器。
  • 冲突处理:如果另一个插件已持有优先级 -1,注册将被拒绝。
  • 注入依赖:使用 inject 获取 @deepseek-ai/dsh-client-locale 等模块,但并不直接触碰 remote 或 remote.session(这些注入主要用于被调用者)。

注意事项

  • 安装命令未在提供的描述中明确列出。
  • 不声明主机路由、服务或配置。
  • 仅导出 . 条目以携带浏览器客户端入口。
  • 以当前 DSH 进程权限运行,安装前应检查源码与许可证。

总结

该插件通过低优先级注册解决了模型名称歧义问题,提供了更清晰的 Provider/Model 显示。它不仅修复了视觉上的模糊,还保持了与原生控件的兼容性,适合需要精细管理多提供商模型的场景。

  • 目录页: https://www.skillhub.cn/plugins/icrefin/dsh-provider-model-picker
  • GitHub: https://github.com/icrefin/dsh-provider-model-picker
羽毛球分组比赛记分
小程序二维码

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

小夜