前言¶
在 DeepSeek Harness(DSH)裏調模型和推理等級,默認要經輸入框工具行的小 chip,打開 /model 彈層,再進二級列表。發消息前如果經常在這兩項之間切換,路徑偏長,當前檔位也不夠一眼可見。dsh-composer-model-controls 是社區維護者 timxiang-948 的純 UI 客戶端插件:把模型選擇和推理強度直接嵌進輸入卡片底行,與權限控件同一行、發送按鈕左側;推理強度用 Codex 風格的滑塊面板操作,並與 /model 共用同一份會話狀態。
這是什麼¶
插件全名 dsh-composer-model-controls(npm 包名同),當前版本 0.4.5,許可證 MIT,面向 DSH 客戶端插槽 API(engines.dsh 要求 >=0.2.2-rc.1 <0.3.0)。它是瀏覽器半端 UI 擴展:Node 半端 apply 爲空,前端由 package.json#dsh.client 聲明,經 @deepseek-ai/dsh-client-modules 加載;不修改 DSH 內置包,只使用公開插槽與 ctx.modelDirectories、ctx.shortcuts。
與默認交互的差異¶
DSH 默認把模型與推理等級收在 /model 裏。本插件在同一 ModelDirectory 上讀寫,任意一側切換,另一側即時同步:
- 模型 chip:按供應商分組列出目錄中的全部模型,當前項勾選。
- 推理強度 chip:顯示當前檔位,點開爲滑塊面板;檔位完全來自當前模型在模型目錄裏公開的
reasoning.efforts,不做硬編碼。
子代理(subagent)會話不渲染這些控件;新會話 hero 階段尚無 dock/工具行時,會通過 conversation.hero.options 出現在 workspace/preset 選項行。
核心功能¶
控件位置¶
註冊在 conversation.input.model 插槽(priority: -1),渲染在輸入卡片底行:權限 chip 右側、發送按鈕左側。
推理強度滑塊¶
點擊或拖動軌道可切換檔位,鬆手吸附到最近檔位。軌道僅滑塊左側着色並帶向左發射的星塵粒子;右側留白。顏色隨檔位與拖動過程變化:Off 爲中性色 #5b6270,Low 綠、High 藍、Max 橙,其它自定義檔位在綠→藍→橙之間插值;長跨度過渡會柔化飽和度與亮度,避免途中出現刺眼鮮紅或熒光青。輸入框與卡片通過 box-shadow 內描邊加外柔光顯示 1px 彩色描邊(DSH 卡片本身 border:0,直接改 border 不會顯示),拖動時顏色跟軌道同步,鬆手後穩定在已確認檔位。
支持 Shift + Tab 從低到高循環切換推理等級(跳過 Off,到頂後回到最低檔),經 ctx.shortcuts 註冊;若 id 被佔用或服務不可用,會降級爲 document 級 keydown 監聽。
select() 提交期間保留樂觀檔位,避免吸附後閃回舊檔位;失敗則回滾並調用 directory.load() 重新同步;選擇進行中兩個 chip 會禁用,避免併發切換。
未聲明 reasoning.efforts 的模型¶
若目錄中無 reasoning.efforts(常見於自接 provider),點開推理強度 chip 會顯示指引,說明在 profile 的 cordis.patch.yml 裏爲 provider 的 models 聲明 reasoningEfforts,並給出可複製的 YAML 片段。資料註明:settings.yaml 爲舊版入口,當前配置寫在 profile 的 cordis.patch.yml。
示例片段(來自 README):
my-provider:
displayName: My Provider
apiKeyEnv: MY_PROVIDER_API_KEY
api: openai-completions
baseURL: https://example.com/v1
models:
- id: my-model
name: My Model
reasoningEfforts:
off: # 關閉推理
low: low # 低
medium: medium # 中
high: high # 高
開發與預覽(維護者向)¶
lib/client.js 爲手寫瀏覽器模塊,僅依賴 react、react-dom 與 @deepseek-ai/dsh-client-ui-primitives,無需構建。維護者可用 tools/preview/build.mjs 生成獨立 Composer 卡片預覽頁,在 headless Edge 中做視覺與交互驗證。一般用戶安裝插件即可使用,無需本地編譯。
安裝與啓用¶
插件以當前 DSH profile 的依賴形式安裝,會寫入 profile 的 dependencies 與 dsh.profile.bundles;支持 HMR,頁面未更新時可刷新一次。
公開發布後從 npm 安裝:
dsh plugin --profile desktop add dsh-composer-model-controls
本地開發可用路徑安裝(README 示例爲 Windows 路徑,Linux/macOS 請換成自己的絕對路徑):
dsh plugin --profile desktop add D:\MyProjects\harness\deepseekharness\dsh-composer-model-controls
也可在 DSH 插件管理界面用「本地路徑安裝」,或從社區插件市場安裝(目錄頁見文末鏈接)。安裝前請自行查看倉庫源碼與 MIT 許可證;插件在 DSH 進程權限下運行,與所有客戶端插件一樣,應對來源與行爲有基本判斷。
典型用法¶
1、安裝並啓用插件後,打開桌面版 DSH(資料記錄已在 0.2.2-rc.1 實機驗證),進入普通會話(非 subagent)。
2、在輸入卡片底行查看模型 chip 與推理強度 chip:點模型 chip 按供應商切換模型;點推理強度 chip 打開滑塊,拖動或點擊軌道切換檔位,鬆手吸附。
3、需要快速循環檔位時,在輸入框聚焦狀態下使用 Shift + Tab(若與宿主其它快捷鍵衝突,可在快捷鍵設置中改綁,或留意插件是否已退回 document 監聽)。
4、模型與 /model 彈層中的選擇保持同步;任一處修改,另一側應立即一致。
適用場景與注意¶
適合誰:經常在 Composer 裏切換模型或推理強度、希望檔位有顏色與描邊反饋、又不想到 /model 裏找二級菜單的 DSH 桌面用戶。
兼容性:面向 DSH 0.2.2-rc.1 一代客戶端 API;node 引擎要求 >=20。若宿主已佔用 Shift+Tab,需注意衝突與降級行爲。
安全與信任:社區插件目錄(skillhub.cn)與 GitHub 倉庫由維護者獨立發佈,與 DeepSeek / 幻方無官方從屬關係;安裝即信任其前端代碼在瀏覽器中執行,請從官方 README 給出的命令與路徑安裝,勿編造未文檔化的安裝串。
結尾¶
dsh-composer-model-controls 把模型目錄與推理檔位搬到輸入行,用滑塊、顏色與快捷鍵縮短操作路徑,並與 /model 共享 ModelDirectory 狀態。查閱說明與版本歷史: