前言¶
DeepSeek Harness(DSH)的 Web 客戶端在模型選擇菜單中集成了推理等級控制。默認的檔位選擇器在界面中佔據固定空間,交互方式較爲傳統。dsh-effort-slider 插件針對這一模塊進行了重構,在保留官方菜單結構的前提下,將檔位選擇替換爲緊湊的滑塊組件。
核心功能¶
該插件主要實現了以下交互與視覺改進:
- 菜單結構復刻:保持官方模型選擇菜單的原有佈局,菜單內仍顯示“模型”與“推理等級”兩行選項。
- 摺疊式子面板:點擊“推理等級”後,展開子面板,內部呈現滑塊控件。該面板摺疊在主菜單內,不會佔用輸入框周圍的空間。
- 阻尼動效:拖動滑塊時,彩色填充與滑塊頭呈現平滑的緩動效果;鬆手後,滑塊會自動吸附到最近的擋位。
- 樂觀更新:提交選擇時採用樂觀更新策略,在等待 RPC 響應期間不會出現擋位閃回舊值的情況。
- 自適應擋位:滑塊支持的擋位數量(如 off/high/max、low/high/xhigh/max 等)由配置決定,支持任意數量。
- 視覺反饋:滑塊根據擋位位置改變光效與色彩。越靠右色彩越強、光效越亮。最右側擋位通常進入彩虹動態特效;最左側擋位整體呈現灰暗無光狀態。
安裝與啓用¶
使用官方插件命令進行安裝:
dsh plugin --profile web add @qqqw114/dsh-effort-slider
安裝完成後,重啓 dsh web 進程,並在瀏覽器中執行 Ctrl+F5 強制刷新頁面以加載新組件。
實現原理¶
插件通過覆蓋 DSH 的渲染槽位來實現替換效果。
- 槽位註冊:插件註冊到
conversation.input.model單槽,設置priority: -100。由於 DSH 採用優先級渲染機制(數值越低越優先),此設置確保了插件組件在官方模型選擇組件之前渲染,從而接管該區域的輸出。 - 數據流:儘管渲染組件被替換,數據讀寫仍通過官方的
modelDirectories服務完成。選擇推理等級時,同樣調用官方的selectModelRPC。 - 菜單結構:插件復刻了官方的兩層導航結構(根菜單 → 模型 / 推理等級),僅在“推理等級”的子面板內容上替換爲自定義的阻尼滑塊。
生態與鏈接¶
該插件遵循 MIT 許可證,由用戶 QQQW114 維護。