dsh-llama-model-manager 插件介绍

前言

在本地部署大模型时,开发者常面临模型切换繁琐、进程管理混乱的问题。直接将 DeepSeek Harness (DSH) 连接到 llama-server 虽然可行,但在需要动态更换模型时,通常需要手动停止服务、修改配置并重启,不仅操作繁琐,还容易导致请求中断或显存未正确释放。dsh-llama-model-manager 插件旨在解决这一痛点,通过一个稳定的 OpenAI 兼容网关,自动管理本地模型的加载与卸载。

插件简介

该插件是 DeepSeek Harness (DSH) 的一个组件,专门用于在 Windows 环境下运行 llama-server.exe,并将本地 GGUF 模型通过 OpenAI 兼容接口暴露给 DSH。它接管了模型的整个生命周期——包括启动、停止、切换和故障恢复——使得 DSH 只需连接一个固定的 URL,而无需关心底层模型的变化。

核心功能

  • 生命周期管理:自动处理模型的加载与卸载。在需要切换模型时,插件会先停止旧模型,再加载新模型。
  • 稳定网关:提供一个固定的 OpenAI 兼容网关地址(默认端口 8080),DSH 无需频繁更改配置。
  • 优雅关闭与显存释放:使用 Ctrl+C 信号而非强制终止进程,确保 llama.cpp 能正确清理资源,避免显存泄漏。
  • 隐蔽控制台:进程启动时隐藏控制台窗口,避免闪烁干扰。
  • 孤儿进程处理:记录进程状态并提供安全机制,防止 DSH 崩溃后遗留的资源泄漏。
  • 可视化设置:提供设置页面,实时显示状态、日志和模型列表,支持直接在界面上操作。

安装与启用

确保环境满足以下要求:
* 操作系统:Windows 10/11。
* 运行环境:Node.js >= 20.10。
* 依赖项:DSH Web UI,以及 llama-server.exe(来自 llama.cpp)。

安装命令如下:

dsh plugin --profile web add github:DoctorxPriestess/dsh-llama-model-manager

安装后需重启 DSH 以加载插件。

配置与使用

在 DSH 的设置页面中,填写 llama-server.exe 的路径及模型信息。随后在 DSH 的 settings.yaml 中配置 Provider,指向插件的网关地址:

llm-pi-ai:
  providers:
    llamacpp:
      displayName: llama.cpp local
      api: openai-completions
      apiKeyEnv: LLAMACPP_API_KEY
      baseURL: http://127.0.0.1:8080/v1
      models:
        - id: qwen38-iq3s
          name: Qwen3.8-27B IQ3_S
          contextWindow: 131072

端口说明:
* 网关端口:8080(DSH 连接地址)。
* 内部端口:18080(llama-server 监听地址)。

停止方法:
插件支持通过设置 stopMethod 控制停止行为:
* auto(默认):优先发送 Ctrl+C,超时后强制终止。
* ctrl-c:仅发送 Ctrl+C,不强制终止。
* taskkill:跳过 Ctrl+C,直接强制终止。

注意事项

  • 平台限制:插件仅支持 Windows 10/11。
  • 权限与安全:插件以 DSH 进程的权限运行,安装前建议查阅源码。
  • 配置隔离:插件本身不读取或写入 DSH 的 settings.yaml,但在配置 Provider 时需正确填写 baseURL。

总结

dsh-llama-model-manager 通过自动化生命周期管理,解决了本地模型切换时的资源泄漏和操作繁琐问题,为开发者提供了一个稳定且易于管理的本地推理解决方案。

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

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

小夜