dsh-model-manager:本地 LLM 推理服務的總控臺

前言

在本地環境中同時運行多個推理服務(如 llama.cpp、SGLang、vLLM)時,配置參數往往散落在終端歷史記錄和筆記本中:某個模型應該使用哪套 -c / -np 參數?顯存是否足夠?哪個框架能在特定 GPU 上啓動?

dsh-model-manager 是 DeepSeek Harness (DSH) 的一個插件,旨在爲本地 LLM 推理服務提供一個統一的「總控臺」。通過它,可以在一個面板中管理服務註冊、參數版本、GPU 狀態及測速。

核心功能

該插件主要解決本地多服務管理混亂、顯存校驗困難及參數配置溯源難的問題。

  1. 服務註冊表

    • 登記本地推理服務,記錄端口、框架、模型和 GPU 信息。
    • 提供實時健康檢查,支持一鍵停止。
  2. 參數 Profile 管理

    • 管理 llama.cpp / SGLang / vLLM 的命名參數版本。
    • 參數表按 9 個邏輯組固定排序(模型→上下文→KV→投機解碼→採樣→性能→並行→服務→其他)。
    • 同模型×同框架的不同量化版本會並集展示,便於對比差異。
  3. GPU 檢測

    • 自動枚舉顯卡,優先使用 libcuda,若缺失則回退到 nvidia-smi。
    • 卡編號與 CUDA_VISIBLE_DEVICES 值對應。
  4. 顯存校驗

    • 保存 Profile 時,根據 -c / -np 參數估算 KV 佔用。
    • 若超出目標卡容量,會發出警告。
  5. 一鍵測速

    • 對已運行服務發送固定 prompt(非流式 256 token),記錄 tok/s。
    • 支持滿上下文熱測速(校驗可用上下文 ≥ 目標,記錄 TTFB / prefill / decode)。
  6. 安全紅線

    • 絕不執行 pkill。
    • 停止外部服務需顯式選擇 force,並在面板上進行兩次點擊確認。
    • 停止 11437(DSH 自身推理端口)時會提示「將中斷當前會話」。

安裝與啓用

該插件基於 DSH 的插件生態開發。

  1. 進入 DSH 的 web profile 目錄:
    cd ~/.dsh/profiles/web
  1. 使用 pnpm 安裝插件:
    pnpm add github:Ansonfishing/dsh-model-manager
  1. 修改 package.json,在 dsh.profile.bundles 數組中添加 "dsh-model-manager"。

  2. 重啓 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 開發者的實用工具,它通過統一的註冊表和參數管理,解決了多服務並行時的配置混亂問題。對於需要精細控制顯存、測速以及確保服務安全啓停的開發者,該插件提供了必要的支撐。

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

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

小夜