前言¶
在本地環境中同時運行多個推理服務(如 llama.cpp、SGLang、vLLM)時,配置參數往往散落在終端歷史記錄和筆記本中:某個模型應該使用哪套 -c / -np 參數?顯存是否足夠?哪個框架能在特定 GPU 上啓動?
dsh-model-manager 是 DeepSeek Harness (DSH) 的一個插件,旨在爲本地 LLM 推理服務提供一個統一的「總控臺」。通過它,可以在一個面板中管理服務註冊、參數版本、GPU 狀態及測速。
核心功能¶
該插件主要解決本地多服務管理混亂、顯存校驗困難及參數配置溯源難的問題。
-
服務註冊表
- 登記本地推理服務,記錄端口、框架、模型和 GPU 信息。
- 提供實時健康檢查,支持一鍵停止。
-
參數 Profile 管理
- 管理 llama.cpp / SGLang / vLLM 的命名參數版本。
- 參數表按 9 個邏輯組固定排序(模型→上下文→KV→投機解碼→採樣→性能→並行→服務→其他)。
- 同模型×同框架的不同量化版本會並集展示,便於對比差異。
-
GPU 檢測
- 自動枚舉顯卡,優先使用
libcuda,若缺失則回退到nvidia-smi。 - 卡編號與
CUDA_VISIBLE_DEVICES值對應。
- 自動枚舉顯卡,優先使用
-
顯存校驗
- 保存 Profile 時,根據
-c/-np參數估算 KV 佔用。 - 若超出目標卡容量,會發出警告。
- 保存 Profile 時,根據
-
一鍵測速
- 對已運行服務發送固定 prompt(非流式 256 token),記錄 tok/s。
- 支持滿上下文熱測速(校驗可用上下文 ≥ 目標,記錄 TTFB / prefill / decode)。
-
安全紅線
- 絕不執行
pkill。 - 停止外部服務需顯式選擇
force,並在面板上進行兩次點擊確認。 - 停止 11437(DSH 自身推理端口)時會提示「將中斷當前會話」。
- 絕不執行
安裝與啓用¶
該插件基於 DSH 的插件生態開發。
- 進入 DSH 的 web profile 目錄:
cd ~/.dsh/profiles/web
- 使用 pnpm 安裝插件:
pnpm add github:Ansonfishing/dsh-model-manager
-
修改
package.json,在dsh.profile.bundles數組中添加"dsh-model-manager"。 -
重啓
dsh。會話視圖中將出現「模型管理」tab。
典型用法¶
配置本地 GPU 表¶
爲了讓面板顯示真實的顯卡名稱和顯存容量,而不是默認的 “GPU 0” / “GPU 1”,可以創建配置文件:
touch ~/.dsh/model-manager/builtin-gpus.local.json
並在文件中寫入如下內容:
{
"0": { "name": "RTX 4090", "memGb": 24 },
"1": { "name": "RTX 6000 Ada", "memGb": 48 }
}
如果沒有此文件,面板將顯示默認名稱,且顯存校驗功能會自動跳過。
適用場景與注意¶
- 依賴環境:需要 DSH(帶 web 界面)+ pnpm。GPU 檢測功能需要 python3(缺失時回退 nvidia-smi)。
- 權限與安全:插件以當前 DSH 進程權限運行。停止外部服務有嚴格的二次確認機制,防止誤操作。
- 許可證:MIT 許可證。
總結¶
dsh-model-manager 是本地 LLM 開發者的實用工具,它通過統一的註冊表和參數管理,解決了多服務並行時的配置混亂問題。對於需要精細控制顯存、測速以及確保服務安全啓停的開發者,該插件提供了必要的支撐。