Skip to content

dsh-local-model-manager

Verified

dsh-local-model-manager · v0.1.8 · MIT · Web UI

Local model manager plugin for DeepSeek Harness: discover models, one-click configure, start/stop oMLX and llama.cpp, monitor memory and throughput, register into DSH.

Install

dsh plugin add dsh-local-model-manager

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Published to npm without a public repository. Inspect the package contents before installing.

Tags

Creators

Readme

dsh-local-model-manager

本地模型管理插件,为 DeepSeek Harness 的左侧栏增加一个「模型管理」页面:

  • 自动扫描本机模型目录,生成模型信息(参数量、量化、格式、加载器);
  • 一键配置实例(选端口、建目录、写启动参数、生成上下文设置);
  • 启动 / 卸载 / 重启模型服务;
  • 实时监控内存(统一内存 / 显存)、吞吐、缓存、MTP;
  • 查看服务日志、清理 SSD 缓存、复制连接信息;
  • 把已加载的本地模型一键注册进 DSH 的模型选择器。

支持 macOS + oMLX 与 Windows / Linux + llama.cpp,同一套 UI 与交互。

功能

分类 能力
发现 默认目录扫描、注册目录、注册单个模型(目录或 .gguf)、非 LLM 预检测
配置 一键创建 oMLX / llama.cpp 实例,自动选端口、建实例目录与缓存目录、写 model_settings.json
生命周期 启动、卸载并停止、重启;llama.cpp 输出重定向到日志文件
监控 模型占用 / 上限、实时 tok/s、预填 / 解码、缓存盘、命中率、MTP 接受率、会话累计 token
系统 统一内存(Metal)或系统内存 + NVIDIA 显存(nvidia-smi)、swap、磁盘余量
运维 日志查看(按模型独立目录)、清空缓存、复制 API 地址 / Key / 模型 ID
集成 写入 llm-pi-ai 的 volatile providers,运行时加入 DSH 模型列表,无需重启

界面

  • 两种布局:缩略表格与大卡片,右上角切换,选择保存在 localStorage;
  • 三档主题:浅色 / 深色 / 跟随;跟随模式使用 DSH 的 --dsw-alias-* 语义 Token;
  • 每个模型一张卡,数据每 5 秒刷新。

安装

# npm(发布后)
dsh plugin add dsh-local-model-manager

# 本地 tarball
dsh plugin add ./dsh-local-model-manager-0.1.0.tgz

# 源码目录
dsh plugin add /path/to/dsh-local-model-manager

安装后重启 DeepSeek Harness,左侧出现「模型管理」。

快速开始

  1. 准备推理引擎
    • macOS:安装 oMLX(0.7.x);
    • Windows / Linux:安装 llama-server,加入 PATH,或在配置中写 llamaBin。
  2. 添加模型目录:页面右上角「+目录」,选择模型根目录(默认 ~/models、/Volumes/AI/models)。
  3. 一键配置:在「未配置的本地模型」里点击目标模型的「一键配置」。
  4. 启动:回到卡片点击「启动并加载」。
  5. 接入 DSH:点击「加入 DSH 模型列表」,即可在会话的模型选择器中使用。

配置

配置文件:~/.dsh/model-manager.json(首次运行自动生成)。

{
  "autoDiscover": false,
  "modelDirs": ["/Users/me/models"],
  "cacheRoot": "/Volumes/AI/caches",
  "defaultCacheGb": 80,
  "maxContext": 262144,
  "llamaContext": 32768,
  "llamaBin": "/usr/local/bin/llama-server",
  "llamaVerbosity": 4,
  "gpuBin": "nvidia-smi",
  "instances": [
    {
      "key": "qwen150",
      "name": "Qwen3.8-Flash-Next",
      "port": 8000,
      "modelId": "Qwen3.8-Flash-Next-Uncensored-oQ6e-mtp",
      "modelPath": "/Volumes/AI/models/Qwen3.8-Flash-Next-Uncensored-oQ6e-mtp",
      "runner": "omlx",
      "start": ["/Users/me/venvs/omlx/bin/omlx", "serve", "..."],
      "cacheDir": "/Volumes/AI/caches/qwen150",
      "cacheMaxGb": 300,
      "logPath": "/Users/me/omlx-instances/qwen150/state/logs/server.log"
    }
  ]
}
字段 说明
modelDirs 扫描根目录列表
autoDiscover 是否自动扫描 ~/omlx-instances/*.json(默认 true)
cacheRoot 新实例的缓存根目录
defaultCacheGb oMLX SSD 缓存上限
maxContext oMLX 实例上下文上限
llamaContext llama.cpp 实例上下文长度
llamaBin / llamaVerbosity llama-server 路径与日志级别(-lv)
gpuBin nvidia-smi 路径
registeredModels 通过「+模型」注册的单个模型路径

Host API

插件在 DSH Host 内启动一个仅本机/内网使用的 HTTP 服务(默认 8098,需 key):

GET  /discover          模型注册表与扫描结果
GET  /sysinfo           内存 / Metal 上限
GET  /gpu               NVIDIA 显存信息
GET  /cacheinfo         按模型统计缓存目录(30s TTL)
POST /clearcache        清空某模型缓存
GET  /logs              读取服务日志
GET  /mtp               oMLX MTP 接受率
GET  /llamastats        llama.cpp 日志解析出的预填/解码速率与 token 数
POST /configure         一键创建实例
POST /start /stop       启停实例
POST /register          写入 DSH 模型列表
POST /addDir /addModel  注册目录 / 单个模型

安全说明

  • 本插件是 DSH Host 侧的受信任代码,会执行启停进程、读写模型与缓存目录;
  • Host API 使用静态 key,仅绑定本机与内网,请勿暴露到公网;
  • 不做全盘扫描,只读取显式注册的目录;
  • 启动命令来自配置文件,不执行模型输出或远程内容;
  • 一键配置只接受含 config.json 的模型目录或 .gguf 文件,并做非 LLM 预检测。

免责声明

本工具仅为大语言模型加载器,不提供、不修改、不审查任何模型的生成能力与内容。实际生成的内容完全取决于用户自行选择并加载的大语言模型。

使用者应自行选择模型、配置安全围栏(系统提示词、内容过滤、访问控制等),并确保使用方式符合当地法律法规。本工具不对用户使用任何模型后输出的任何结果承担责任。

兼容性

平台 推理引擎 显存/内存监控
macOS (Apple Silicon) oMLX 统一内存 + Metal 上限
Windows llama.cpp 系统内存 + nvidia-smi
Linux llama.cpp 系统内存 + nvidia-smi

要求 DSH >= 0.2.1-rc.3,Node.js >= 20(使用 DSH 自带运行时)。

开发

# 本地安装到某个 profile
dsh plugin add /path/to/dsh-local-model-manager
# 修改 client.js / index.js 后重启 DSH 生效
  • index.js:Host 半,注册表、扫描、生命周期、缓存、日志、DSH 注册;
  • client.js:浏览器半,侧栏入口与页面(手写模块加载器包,无需构建);
  • cordis.patch.yml:安装时插入 sidebar.panellist 与 main 两个 slot。

Roadmap

  • vLLM / LM Studio runner
  • 多卡绑定(CUDA_VISIBLE_DEVICES)
  • llama.cpp 每模型显存占用(nvidia-smi --query-compute-apps)
  • 插件索引与一键安装

License

MIT