前言¶
DeepSeek Harness 的 Composer 控件在處理同名模型時存在歧義。當兩個提供商提供相同模型(例如 DeepSeek-V4.1-Flash)時,默認的觸發器僅顯示模型名稱,無法區分來源。dsh-provider-model-picker 旨在解決這一模糊性,它在保留原生提供者分組選擇器的同時,在控件中顯式顯示提供者名稱。
插件介紹¶
該插件由 icrefin 維護,開源協議爲 MIT。它通過註冊低優先級的插槽來覆蓋默認行爲,確保在 Composer 控件中顯示 Provider/Model 格式(如 DeepSeek Demo/DeepSeek-V4.1-Flash),而不是僅顯示模型名。
核心功能¶
- Provider/Model 顯示:重新註冊
conversation.input.model(優先級 -1),在觸發器中顯示提供者名稱與模型名,同時提供提供者分組的模型列表。 - 推理等級支持:支持推理等級選擇(off, minimal, low, medium, high, xhigh, max)。需在主機配置 YAML 中聲明
reasoningEfforts字段。 - UI 與交互:支持鍵盤導航(
↑/↓移動行,Tab接受/離開,Esc返回),並遵循主機 CSS 變量進行緊湊顯示。 - 本地化:包含英語和簡體中文的界面文本。
典型用法¶
- 同名模型場景:當
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