dsh-model-gate:DSH 單模型禁用門禁

在 DSH 的使用場景中,有時需要屏蔽特定的模型或提供者路由,但不希望修改底層的提供者配置或憑據。dsh-model-gate 提供了一個非破壞性的覆蓋層,用於實現這一需求。

核心功能

該插件通過攔截 DSH 的發現路徑,將被禁用的模型從所有可見列表中移除。同時,它確保任何嘗試調用這些模型的調度請求在協議層面返回 MODEL_DISABLED 錯誤,從而阻斷後續的網絡請求。它由 OPaimon 維護,採用 MIT 許可證。

安裝與啓用

使用官方安裝命令即可添加該插件:

dsh plugin --profile web add dsh-model-gate

或者,如果從 Release 下載了 tarball 包,可以先解壓再安裝:

tar -xzf dsh-model-gate-0.1.2.tgz    # 解壓得到 ./package/
dsh plugin --profile web add ./package

安裝後重啓 DSH 一次,使新的插件層生效。後續對黑名單的編輯通過設置頁面熱應用,無需再次重啓。

配置與用法

編輯配置文件 ~/.dsh/settings.yaml,在 llm-model-gate 節點下定義 disabledProviders 和 disabledModels。修改會立即生效。

llm-model-gate:
  disabledProviders:
    - openrouter
  disabledModels:
    - "*/kimi-k2.7-code"        # 禁用所有提供者上的該模型 ID
    - "token-rhythm/glm-5"      # 禁用特定 provider/model 對

匹配規則是精確且區分大小寫的。在 disabledModels 中使用 */model 前綴可以匹配該模型在所有提供者上的路由。

發現與調度行爲

  • 發現路徑:被禁用的模型會從 Web 選擇器、目錄列表和 API 請求驗證中完全消失,表現得從未被配置過。
  • 調度攔截:任何仍然嘗試調度禁用模型的路徑(例如子代理、會話標題、自定義路由或顯式 ID),都會在 llm/stream 水流中停止。此時返回 finish{kind:"error", code:"MODEL_DISABLED"} 錯誤塊,且不會發起任何網絡請求。

界面與限制

DSH 的 Web 設置面板提供了一個“模型門禁”區域。該區域通過插件自身的 typert 服務讀取未過濾的目錄,因此你可以看到所有模型及其開關狀態,並將禁用的模型重新啓用。

  • 非破壞性:插件不會觸碰任何提供者的配置文件或憑據。提供者保持安裝狀態,僅其公共列表被過濾。
  • 路由區分:視覺路由克隆(如 openrouter-vision)是獨立的路由鍵,需要分別屏蔽。
  • 卸載殘留:卸載插件後,殘留的 llm-model-gate 配置塊是無害的,不會影響系統運行。

插件已針對 DSH 0.1.x-rc 版本驗證。

插件地址:GitHub - OPaimon/dsh-model-gate

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

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

小夜