dsh-model-cascade:DeepSeek Harness 三級模型選擇器

前言

DeepSeek Harness (DSH) 提供了通過插件擴展行爲的能力。默認的模型選擇器使用扁平列表,當模型庫規模擴大時,滾動查找特定模型會降低操作效率。dsh-model-cascade 插件旨在解決這一問題,它將右下角的模型選擇器重構爲三級級聯菜單,並在同一交互界面中提供了獨立的思考強度設置入口。

核心功能

該插件主要提供以下能力:

  1. 三級級聯選擇:將模型選擇拆分爲供應商、系列、完整模型三個層級,減少單屏展示的模型數量。
  2. 麪包屑導航:菜單頂部顯示當前層級路徑,支持點擊返回上一級,或使用 Esc 鍵快速退級。
  3. 思考強度設置:噹噹前模型支持 reasoning 時,菜單頂部會出現獨立的「思考強度」行,進入後可選擇默認或指定檔位。
  4. 狀態同步:複用 DSH 內置的 ModelDirectory 服務,確保選中狀態、加載提示與內置選擇器保持一致。
  5. 遮蔽內置座位:通過 priority: -1 註冊,自動遮蔽內置的兩級模型列表。

安裝與啓用

安裝此插件需要將文件放入 DSH 的 node_modules 目錄,並修改 cordis.patch.yml 文件。

  1. 將插件文件放置到 node_modules 下對應目錄。
  2. 在 cordis.patch.yml 中添加掛載配置:
- insert:
    - id: dsh-model-cascade
      name: dsh-model-cascade
  1. 修改配置後需要重啓 DSH 實例,並在瀏覽器端進行硬刷新以加載瀏覽器半(lib/client.js)。

典型用法

啓用後,輸入框右下角的模型座位將變爲級聯菜單:

  1. 選擇模型:點擊模型按鈕,依次選擇供應商、系列,最後點擊完整模型 ID 進行確認。
  2. 導航返回:在菜單頂部使用麪包屑逐級返回,或在任意層級按 Esc 鍵退回上一級並關閉菜單。
  3. 設置思考強度:如果當前選中的模型支持推理,點擊菜單頂部的「思考強度」行,在彈出的獨立面板中選擇強度值。

技術細節與依賴

  • 宿主與客戶端:這是一個純 UI 插件。宿主半(lib/index.js)的 apply() 函數爲空,僅用於在 Loader 中佔位。瀏覽器半(lib/client.js)註冊了 conversation.input.model 座位。
  • 依賴服務:客戶端通過 inject 獲取 slots、modelDirectories、sessions、locale、remote、remote.session 等服務。特別說明:雖然 package.json 聲明依賴 ui-model-selection,但實際代碼 require 的是 ui-primitives。
  • 數據來源:數據直接讀取自 directory.subscribe 和 directory.getSnapshot(),包括 groups、current、status 及錯誤信息。
  • 版本要求:依賴 DSH 0.1.5-rc.1 服務層內部契約。

已知限制

  1. 系列分組邏輯:系列分組基於文本啓發式切分(提取 ID 中 / 後和 - 前的字符串),而非基於元數據驅動。命名不統一(如版本號差異)會導致裂分成多個系列。
  2. 樣式硬編碼:CSS 錨點與寬度(min(280px, 100vw - 32px) 等)在代碼中寫死,樣式注入僅執行一次。
  3. 預構建產物:lib/client.js 是 React JSX 編譯後的預構建產物,非可直接閱讀的源碼。
  4. 子代理限制:在子代理會話(subagentAddress 存在)中,該座位不渲染。
羽毛球分组比赛记分
小程序二维码

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

小夜