dsh-model-reasoning-effort:給自定義 pi-ai 模型補回推理強度編輯

前言

用 DSH 接第三方中轉或自建網關時,通常要在官方「模型」頁裏手寫提供方與模型條目。pi-ai 適配器本身支持 models[] 裏的 reasoningEfforts,但官方「模型」設置頁刻意不提供該字段的編輯器:推理強度是逐模型能力,提供方級控件只能寫成某個模型會拒絕的值。結果是想在 Composer 模型選擇器裏看到 low / high 這類思考檔位,只能自己改配置文件。

下面介紹的插件就是這個缺口的補法。它由 pwkazn 維護,在社區目錄裏屬於「模型推理」分類,當前 0 顆 Star,許可證 MIT,版本 0.1.0。插件做的事很窄:把 reasoningEfforts 的編輯界面補回 Web GUI,不改適配器、不動其他模型。

這是什麼

一句話定位:爲 DeepSeek Harness 的自定義 pi-ai 模型聲明推理強度(思考檔位,以及每檔實際發送給網關的值)的插件。

  • 維護者:pwkazn
  • 倉庫:https://github.com/pwkazn/dsh-model-reasoning-effort
  • 許可證:MIT
  • 當前版本:0.1.0

它解決的具體問題是:官方設置頁沒有 reasoningEfforts 控件,而 OpenAI 兼容、Anthropic Messages 中轉等自定義模型往往需要按模型聲明支持哪些思考檔位。插件在「設置 → 模型」頁底部新增一個「推理強度(自定義模型)」面板,把這件事變成可點擊的界面操作。

核心功能

下面這些能力都來自 README,沒有額外推斷。

  1. 面板掛載在 Models 頁底部。插件註冊 settings.models.footer 列表插槽,不搶佔 settings.models.provider-card 的 llm-pi-ai 鍵位,因此可以與其他提供方卡片擴展共存。
  2. 逐模型三態,對應三種聲明方式:
    - 繼承:不聲明,保留內置目錄或提供方自身的能力。
    - 無推理:寫入 reasoningEfforts: false,模型選擇器不再提供思考檔位。
    - 聲明檔位:勾選 off / minimal / low / medium / high / xhigh / max,併爲每一檔填寫實際發送值。
  3. 檔位與發送值分離。例如 high 填 ultra,Composer 選 High 時網關收到的參數是 ultra;off 留空表示「支持,但不發送推理參數」。
  4. 批量應用。一次把同一組檔位寫入某提供方的全部模型,適合檔位統一的中轉網關。
  5. 寫入前校驗。校驗規則與適配器一致:聲明必須含 off 以外的檔位;非 off 檔位必須有非空發送值。草稿被拒絕時直接說明原因,而不是等運行時失敗。
  6. 按官方線路寫入。通過 settings.mutate 替換該提供方的完整 models 數組,保留插件不編輯的字段(id、名稱、上下文窗口、輸入模態、compat 等),並攜帶 revision 防止併發覆蓋。
  7. 界面中英雙語,隨界面語言切換。

安裝與啓用

從 GitHub 安裝,無需構建,純 ESM 加手寫客戶端 bundle:

dsh plugin --profile web add git+https://github.com/pwkazn/dsh-model-reasoning-effort.git

README 同時給出過另一種做法:複製到 profile 的 node_modules,再由插件管理器選中。原文標註爲不推薦,因爲下次安裝時容易丟失。

重啓或熱重載之後,打開「設置 → 模型」,頁面底部會出現「推理強度(自定義模型)」。

依賴約束來自 package.json:

{
  "dsh": { "engines": { "dsh": ">=0.2.0-rc.2" } },
  "peerDependencies": {
    "@deepseek-ai/dsh": ">=0.2.0-rc.2",
    "react": "^18.2.0"
  },
  "engines": {
    "node": "^22.19.0 || >=24.0.0"
  }
}

也就是說,DSH 至少需要 0.2.0-rc.2,Node 需要 ^22.19.0 或 >=24.0.0。

典型用法

下面是 README 給出的四步流程。

  1. 先在官方「模型」頁配置自定義模型提供方,例如 OpenAI 兼容或 Anthropic Messages 中轉。
  2. 在底部面板展開該提供方。
  3. 點某個模型的「編輯」,選擇「聲明檔位」,勾選需要的檔位並填寫發送值;或者用批量區一次性應用到全部模型。
  4. 保存後,在 Composer 的模型選擇器裏就能看到該模型的 Effort 檔位。

一個小例子:某中轉網關按 OpenAI 兼容協議提供模型,檔位映射是 low → minimal、medium → medium、high → ultra。在面板裏給該模型勾上這三檔,分別填入對應發送值,保存即可。

插件自身的純邏輯校驗命令是:

npm test   # 三態投影、發送值校驗、整表寫入、分層讀取

適用場景與注意

適合這一類人:已經用 DSH 接了自定義 pi-ai 模型,想在模型選擇器裏看到思考檔位,又不希望手改配置文件或擔心聲明與適配器規則不符。

有幾件事需要提前知道。

  • 聲明是斷言,不是探測。網關不接受某個檔位時,請求會在運行時失敗。以端點文檔爲準,只聲明它確實支持的檔位。
  • 面板只編輯用戶設置層可寫的 llm-pi-ai.providers.<route>.models。路線若直接服務內置 pi-ai 目錄、沒有 models 數組,瀏覽器側無法枚舉目錄,面板會列出這些路線並提示先添加模型行。
  • 首次保存會把該提供方的有效模型列表整體寫入用戶層,行爲與官方模型編輯器首次物化目錄時一致。之後組合層的改動不會自動穿透這層覆蓋。
  • 插件不觸碰 DeepSeek 直連適配器(llm-deepseek)。它的檔位由部署策略與 reasoningEffort 決定,已經存在於官方設置中。
  • 插件以當前 dsh 進程的權限運行。README 與目標頁面沒有展開權限模型,安裝前應閱讀源碼與許可證(MIT),自己判斷是否信任。

結尾

這個插件的價值不在於新增能力,而在於把 pi-ai 已經支持但官方界面沒暴露的 reasoningEfforts 補成一個可用的編輯器,寫入路徑、校驗規則和併發保護都跟着適配器走。如果只是想給自定義模型加檔位,它是一條比改配置更省事、也更容易和官方模型編輯器共存的路。

目錄頁:https://www.skillhub.cn/plugins/pwkazn/dsh-model-reasoning-effort
GitHub:https://github.com/pwkazn/dsh-model-reasoning-effort

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

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

小夜