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

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

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

小夜