dsh-model-visibility:把 DSH 模型菜單收成一張可讀、可改的能力清單

前言

在 DeepSeek Harness(DSH)裏選模型,常見兩類麻煩:一是菜單裏堆滿嵌入、生圖、生視頻等用不到的條目;二是官方 session.modelCatalog 只把模型 id、名稱和推理檔位交給瀏覽器,沒有上下文窗口、輸入模態和模型類型。自定義中轉站若只寫了 defaultInput: [text],而單個模型的 input 留空,registry 會把整站模型都當成「純文本」,對話模型在輸入框裏發圖會被拒。

維護者 TZYCeng 的插件 dsh-model-visibility(npm 包名 @tzyc/dsh-model-visibility,當前版本 1.9.0,MIT 許可證)在 DSH 裏增加 設置 → 模型顯示 頁面:逐模型開關控制菜單可見性,併爲每個模型合併標註推理能力、思考強度檔位、上下文、模態與類型;必要時可手動覆蓋,甚至寫回模型提供商配置。下面介紹它做什麼、怎麼裝、典型用法與注意事項。

這是什麼

dsh-model-visibility 是 DeepSeek Harness 的 bundle 插件,分類屬於模型推理相關能力。它不改變 DSH 核心,而是在設置裏提供一張按提供商分組的模型清單:關掉的不出現在對話作曲器的模型菜單裏;留下的每一行帶能力標籤,標籤來源分層顯示(實線爲已聲明,虛線爲目錄或推斷)。

插件解決的三件事與 README 表述一致:收起來(隱藏不用模型)、說清楚(真實能力與來源)、改得動(手動覆蓋、可選寫回 Provider、默認可讓判定爲多模態的中轉站對話模型在請求側接受圖像)。

核心功能

模型菜單與分組

  • 逐模型開關:關閉的模型立即從模型菜單消失;當前會話正在使用的模型即使被關也會保留(便於收起態仍顯示模型名)。
  • 分組批量操作:每組標題右側可「全組隱藏 / 全組顯示」;工具欄「全部顯示」一次清空隱藏;在篩選狀態下批量操作只作用於當前篩選結果。
  • 分組摺疊:摺疊狀態保存在瀏覽器 localStorage,不改動任何模型開關;工具欄可一次摺疊或展開全部分組。

能力標籤與篩選

能力標籤包括:是否支持推理及適配器公佈的思考強度檔位;上下文窗口(如 上下文 1M);多模態 / 純文本 / 未知;類型色條區分對話、生圖、生視頻、嵌入、重排、音頻、審覈、翻譯等。

篩選支持:按名稱或 ID 搜索;按類型快捷篩選;按「多模態」「支持推理」;按最小上下文(128K / 256K / 512K / 1M);多條件同時生效。

能力從哪裏來

插件按優先級合併六類來源,每層只補前一層缺失字段;頁面懸停可看到具體來源,並用實線 / 虛線區分聲明與推斷:

優先級 來源 說明
0 manual 用戶在設置頁手動聲明
1 config 設置文檔或 Provider 顯式模態
2 adapter 適配器 / 內置目錄側聲明
3 provider 中轉站 GET /models 返回的字段
4 catalog 內置 pi-ai / models.dev 快照
5 inferred 模型名特徵推斷

另有 official 校正(如 glm-5.3 按廠商文檔糾正目錄多模態錯誤)和 unknown(不把未聲明的 defaultInput: [text] 當成純文本)。manual 優先級最高。

手動覆蓋與寫回提供商

模型行「編輯能力」可指定類型、上下文、輸入模態、思考強度或「不支持推理」。全部留空保存即刪除覆蓋,恢復自動識別。覆蓋持久化在 $DSH_HOME/dsh-model-visibility/overrides.json,Host 按文件 mtime 重讀。

勾選「同時寫入模型提供商設置」時,會把 input、contextWindow、reasoningEfforts 等寫入 llm-pi-ai 裏對應模型條目,與輸入框、適配器及其他設置界面共用同一份事實。成功寫入的字段會從 overrides.json 移除。

示例(摘自 README,字段名以文檔爲準):

{
  "version": 1,
  "overrides": [{
    "provider": "chatgpt",
    "model": "gpt-6.1-terra",
    "input": ["text", "image"],
    "contextWindow": 400000,
    "efforts": [
      { "id": "low", "name": "Low" },
      { "id": "high", "name": "High" }
    ],
    "defaultEffort": "high"
  }]
}

圖像放行

默認開啓的開關「讓輸入框按能力標註放行圖像」:對判定可輸入圖像的中轉站對話模型,在請求側補上 image,無需改配置文件;關閉則回到適配器聲明。

隱藏列表持久化與其他

隱藏列表寫入 profile 的 cordis.patch.yml,並鏡像到 $DSH_HOME/dsh-model-visibility/hidden.json,重裝或 profile 自愈後可恢復。工具欄「重新獲取能力」會作廢舊緩存與進行中的掃描,重新詢問適配器與中轉站(比僅繞過 TTL 的「刷新」更徹底)。支持模型 ID 歸一化後再匹配目錄。

安裝與啓用

可在社區目錄頁一鍵安裝(獨立站點 awesome-dsh-plugin 列表頁,與 DeepSeek / 幻方無官方從屬關係),或使用 plugin_manager 的 install_bundle。README 給出的方式如下:

# 1) 插件市場(推薦)
#    https://awesome-dsh-plugin.com/p/TZYCeng/dsh-model-visibility/

# 2) npm(plugin_manager)
#    install_bundle  target = @tzyc/dsh-model-visibility

# 3) GitHub Release tar 包
#    install_bundle  target = https://github.com/TZYCeng/dsh-model-visibility/releases/latest/download/dsh-model-visibility.tgz

# 4) 本地目錄(開發)
#    profile 裏 link 這個目錄,並先安裝依賴:
npm install

說明:npm 上的未作用域包名 dsh-model-visibility 屬於另一個同名項目,本插件發佈在 @tzyc/dsh-model-visibility。

安裝後刷新頁面或重啓 DSH,在 設置 → 模型顯示 打開頁面。SkillHub 目錄頁:https://www.skillhub.cn/plugins/TZYCeng/dsh-model-visibility。

典型用法

  1. 先瘦身菜單:在中轉站分組裏關閉嵌入、生圖等不用的模型,或用「全組隱藏」再逐個打開需要的對話模型。
  2. 覈對發圖能力:看行內模態標籤與虛線 / 實線來源;若中轉站 GET /models 只有 id,對新模型點「編輯能力」聲明 text + image,需要長期生效可勾選寫回 Provider。
  3. 過濾長上下文:在篩選欄選最小上下文 1M,再配合「支持推理」,快速縮小候選列表。
  4. 目錄與中轉站不一致:若出現「官方校正」標籤,以文檔鏈接爲準;仍不對時可手動覆蓋,必要時用「重新獲取能力」刷新中轉站列表。

界面頂部會顯示類似「已顯示 86 / 301 個模型 · 已關閉 215 個」的統計,並與搜索、類型按鈕、圖像放行開關、圖例同屏操作。

適用場景與注意

適合誰:配置了多個模型提供商或 OpenAI 兼容中轉站、模型數量多、需要在菜單裏區分對話與生圖 / 嵌入、或經常被 defaultInput: [text] 誤導模態的用戶。

運行與信任:插件以當前 DSH 進程權限運行,會讀取並 patch 設置、調用中轉站 GET /models、寫入 profile 與 $DSH_HOME 下 JSON。安裝前應查看 GitHub 倉庫 源碼與 MIT 許可證,僅在可信環境啓用。

已知邊界(來自 README 結構中的「限制」章節標題及前文邏輯):手動「恢復自動」只刪插件覆蓋,不會自動清空已寫入 Provider 的配置;寫回失敗時本地覆蓋仍生效,需在「設置 → 模型提供商」手動撤銷。README 標明測試 72 passing,具體限制條目以倉庫文檔爲準。

結尾

dsh-model-visibility 把 DSH 模型菜單從「一長串 id」變成可搜索、可篩選、帶來源說明的能力清單,並能把隱藏偏好與覆蓋持久化。若你正在維護多中轉站或自定義模型列表,值得在裝 bundle 後先打開 設置 → 模型顯示 收一遍菜單、標一遍能力。

羽毛球分组比赛记分
小程序二维码

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

小夜