前言¶
在 DeepSeek Harness(DSH)Web 客戶端裏,Composer 頂部的模型選擇器默認只顯示模型名,例如 Example Chat · High。當你在同一套配置裏掛了多個供應商、模型名又相近時,光看觸發器很難確認當前會話實際走的是哪一路。社區插件 dsh-model-show(維護者 ken95573,分類:模型推理)不改下拉菜單結構,只把觸發器、懸停提示和 ARIA 標籤改成 Provider/Model 形式,與內置模型選擇插件配合使用。
下面介紹插件定位、能力邊界、安裝方式與驗收步驟。事實以 GitHub 倉庫 README 與 package.json 爲準;目錄頁見 SkillHub 插件頁。
這是什麼¶
dsh-model-show 是面向 DSH web 客戶端的插件包(當前版本 1.0.1,許可證 MIT)。它在 Composer 的模型選擇器觸發器上同時展示 供應商名稱 與 模型名稱,格式固定爲 Provider/Model;若模型上報 reasoning effort,DSH 原有的 · <effort> 後綴仍會保留。
README 中的對比示例:
| Composer 觸發器文案 | |
|---|---|
| 安裝前 | Example Chat · High |
| 安裝後 | Example Provider/Example Chat · High |
下拉菜單本身不被改寫:各行仍是在供應商分組標題下的純模型名,搜索仍按純模型名匹配;供應商名稱不會參與菜單內搜索。供應商顯示名來自你自己的模型配置裏每個 provider 行的 displayName(例如 Example Provider)。
核心功能¶
- 觸發器文案:當前選中項在 Composer 上顯示爲
Provider/Model(及可選的 effort 後綴)。 - 無障礙與懸停:hover tooltip 與 ARIA label 與可見觸發器使用相同
Provider/Model文本。 - 陰影內置席位:插件複用內置
@deepseek-ai/dsh-client-ui-model-selection的modelDirectories服務,以更低優先級註冊 Composer seat,覆蓋內置展示邏輯;內置模型選擇插件需保持啓用。 - 無配置項:展示格式固定,README 明確說明 No configuration。
環境與依賴¶
- DSH 版本(
engines.dsh):>= 0.2.0-rc.1 < 0.3.0-0或>= 0.2.1-rc.1 < 0.4.0-0;面向 web 客戶端平臺。README 寫明在 Desktop runtime0.2.0-rc.2上開發,並在0.2.1-rc.2上重新 vendoring 與測試。 - 內置插件:
@deepseek-ai/dsh-client-ui-model-selection必須保持啓用;本插件只「陰影」Composer 席位,不替代整套模型目錄服務。
安裝與啓用¶
插件以當前 DSH 進程權限運行。安裝前建議在 GitHub 查看源碼與 MIT 許可證(lib/client.js 衍生自 DeepSeek 內置 bundle,見倉庫 NOTICE.md)。
插件市場¶
在目標 DSH 應用中打開插件市場,搜索包名 dsh-model-show,安裝後啓用。
Desktop CLI¶
Desktop 應用自帶 CLI(desktop profile 僅由該應用管理)。在 Windows 上示例命令如下(路徑來自 README):
"%LOCALAPPDATA%\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add dsh-model-show
從 GitHub 或本地目錄添加時,README 給出的形式爲(將 <user>、路徑替換爲實際值):
"%LOCALAPPDATA%\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add github:<user>/dsh-model-show
"%LOCALAPPDATA%\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add "C:\path\to\dsh-model-show"
卸載:
"%LOCALAPPDATA%\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop remove dsh-model-show
在 DSH 會話中¶
可在會話裏讓智能體通過 plugin_manager 的 action: install_bundle,以插件目錄爲 target 安裝。
安裝後請刷新頁面。若要用不同構建替換已加載的插件,README 要求 重啓應用。
典型用法與驗收¶
本插件沒有額外配置文件或 API 調用;啓用並選好模型後,直接觀察 Composer 觸發器即可。
README 建議的驗收步驟:
- Composer 觸發器顯示
Provider/Model(若模型有 reasoning effort,則還帶· <effort>)。 - 懸停觸發器,文案與可見文本一致。
- 打開下拉菜單:分組標題下仍是純模型名;用供應商名搜索 不應 匹配到模型項。
倉庫文檔截圖示例:供應商 OpenCode Zen、模型 DeepSeek V4.1 Flash,觸發器類似 OpenCode Zen/DeepSeek V4.1 Flash 加 DSH 自帶的 Default 等 effort 後綴(見 README 與 docs/composer-trigger.png)。
實現要點(便於排查)¶
- Node 側
lib/index.js爲空實現,用於掛載 bundle;瀏覽器側經dsh.client與exports["./client"]加載。 cordis.patch.yml插入插件行(id: model-show,name: dsh-model-show)。lib/client.js爲內置模型選擇瀏覽器 bundle 的 vendored 副本,含六處 documented 編輯;可見變化主要來自對choices[].model.name加供應商前綴,以及以priority: -1註冊 Composer seat。- 標籤前綴加在觸發器讀取的
currentChoice?.model.name上,因此菜單分組與搜索邏輯保持不變。
適用場景與限制¶
適合:多供應商、多模型並存,需要在 Composer 上一眼區分「哪家的哪個模型」,又不想改下拉或搜索行爲的使用者。
限制(README Limitations):
lib/client.js隨上游內置 selector 演進可能失效;engines.dsh、vendoring 腳本與npm test是維護時的護欄。- 繼承內置控件的樣式與觸發器寬度
min(360px, 45cqw);過長的Provider/Model會被省略號截斷,不會換行。 - 不能隨意裁剪 vendored bundle 的 inject 服務列表,否則可能出現首屏渲染錯誤且靜默回退到內置席位。
- 未來 DSH 若重做內置模型選擇器,可能需要作者重新 vendoring 並更新編輯錨點。
結尾¶
dsh-model-show 用最小改動回答一個問題:當前 Composer 會話到底用的是哪個供應商下的哪個模型。安裝啓用後刷新(或必要時重啓),按上文三步驗收即可。
- 社區目錄頁:https://www.skillhub.cn/plugins/ken95573/dsh-model-show
- 源碼與說明:https://github.com/ken95573/dsh-model-show