前言¶
在本地环境中同时运行多个推理服务(如 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 开发者的实用工具,它通过统一的注册表和参数管理,解决了多服务并行时的配置混乱问题。对于需要精细控制显存、测速以及确保服务安全启停的开发者,该插件提供了必要的支撑。