dsh-plugin-llama-manager:在 DSH 里管理本地 llama.cpp 与 GGUF 启动模板

前言

在 DeepSeek Harness(DSH)里对接本地推理,常见做法是手动维护 llama-server 启动参数、自己记端口和模型路径,再在 profile 里手写 OpenAI 兼容端点。参数一改就要多套命令对齐,设置面板里也不容易同时看日志、PID 和模板差异。dsh-plugin-llama-manager 面向 Windows 上的 DSH 用户:在左侧栏提供独立整页的「本地模型」工作台,用多套启动模板启停 llama-server,并把已选模板的本地服务登记到 DSH 顶部模型选择器。功能设计参考 Local Llama Agent Manager,界面采用 DSH 的整页布局。

这是什么

dsh-plugin-llama-manager 是 ckilwork 维护的 DSH 客户端插件(当前版本 1.4.6,MIT 许可证)。它解决的是:在 DSH 进程内统一管理 llama.cpp 的 llama-server.exe、GGUF 模型路径与启动参数,并通过本地代理把请求转发到 OpenAI 兼容接口,同时可选绑定按模板生效的 Agent 提示词注入方案。

插件数据默认落在 $DSH_HOME/llama-manager;未设置 DSH_HOME 时回退到用户目录下的 .dsh/llama-manager。登记模型选择器时会备份当前 profile 的 cordis.patch.yml,再写入 llama-manager 提供方。

核心功能

独立整页与多套模板

  • 左侧栏新增「本地模型」入口,整页展示,不占设置面板空间。
  • 支持新建、复制、重命名、删除、切换多套启动模板;参数未保存时有提示。

服务启停与状态

  • 启动、停止、重启 llama-server;展示 PID、运行时长、就绪状态与异常退出原因。
  • 可配置空闲自动卸载:0(不卸载)/ 5 / 10 / 30 分钟或自定义;超时无请求自动停止以释放显存,下次用同一模板再启即可。

启动参数与模型库

启动参数覆盖项包括:主模型、mmproj、草稿模型(MTP / EAGLE3)、上下文长度、GPU 层数、端口、并行槽位、Flash Attention、Jinja、推理格式、KV 缓存类型等。插件会扫描模型目录中的 .gguf、mmproj、草稿模型,以及 llama.cpp 目录中的 llama-server.exe;路径可从下拉选择,最近路径会记住。

日志、命令预览与连通测试

  • 实时日志合并 stdout/stderr,按级别着色,支持过滤、自动滚动、清空;可从日志解析 prompt/eval token 速度。
  • 「启动命令预览」与真实启动参数一致(API Key 脱敏),可复制到 PowerShell 执行(不适用 cmd.exe)。
  • 对 /v1/chat/completions 发最小 OpenAI 兼容请求,显示回复、延迟与模型名。

与 DSH 模型选择器集成

插件启动时自动把 llama-manager 提供方(默认本地代理 http://127.0.0.1:18087/v1)登记到当前 profile;选择器里按已选择模型文件的启动模板展示。空模板不会登记。首次写入 profile 配置后通常需要重启 DSH 生效。生成回复期间代理不会因切换模型而截断流式输出;服务未就绪时会先切换再转发。

Agent 提示词方案

支持按启动模板绑定并启用代理注入,默认关闭;保留 DSH 原有系统提示词,不改写 DSH 的 Agent 配置。流程是先保存方案,再在模板里选择绑定并保存模板。

目录与卸载

提供目录设置、文件浏览、打开模型/数据目录。一键卸载会移除插件并清理 cordis.patch.yml 中的 llama-manager provider,同时保留 $DSH_HOME/llama-manager 下的模板与日志供重装使用。

环境要求

  • DeepSeek Harness Desktop,或在 Windows 上通过 Web 客户端插件机制运行的 DSH Web。
  • 已安装 llama.cpp 的 llama-server.exe,以及至少一个 .gguf 模型。
  • Windows(当前仅在 Windows 上验证;路径与进程管理按 Windows 实现)。
  • Node.js >= 20 仅构建/开发或执行卸载脚本时需要;安装后的插件由 DSH 运行。

安装与启用

发行包内含预构建客户端。下载 dsh-plugin-llama-manager-1.4.6.tgz 后,在包所在目录执行(将 desktop 换成实际 profile 名):

dsh plugin --profile desktop add (Resolve-Path ./dsh-plugin-llama-manager-1.4.6.tgz).Path

若 dsh 未加入 PATH,使用安装目录下 resources/runtime/cli/bin/dsh.cmd 的完整路径。安装后完全退出并重启 DSH。左侧栏应出现「本地模型」图标。

若未出现,可检查:DSH 日志中是否有 llama-manager 报错;client/client.js 是否存在且包含 window.__ModuleLoader__;profile 的 package.json 是否列出 dsh-plugin-llama-manager。

模型选择器里看到「本地模型」

  1. 首次安装或升级后重启 DSH,加载新客户端代码。
  2. 插件把提供方写入 cordis.patch.yml。
  3. 若配置未热加载,再重启一次;在「设置 → 模型」与顶部选择器中应出现「本地模型(llama.cpp 管理器)」及有效模板。之后可在模型库右上角使用「重新同步」。

从源码自行构建时,在仓库根目录执行:

cd ./dsh-plugin-llama-manager
npm ci --ignore-scripts
npm run build

看到 ✓ 已生成 client\client.js 即构建成功;也可用 npm pack --ignore-scripts 生成同格式安装包。

典型用法

下面步骤与 README 中的使用说明一致,可按顺序操作。

  1. 配置模板:左侧「新建」或「复制」模板;在模型库点选 .gguf 填入路径,llama-server.exe、mmproj、草稿模型可从下拉或「浏览…」选择。
  2. 检查参数:查看「启动命令预览」及缺路径、端口占用等提示。
  3. 保存模板:改完后点「保存模板」;不保存也可直接启动(用当前草稿),切换模板会提示丢失未保存改动。
  4. 启动服务:点顶部「启动服务」;大模型首次加载可能需数十秒到数分钟,就绪后状态为「运行中」。
  5. 空闲自动卸载:在「并行槽位」下方选择时长;无新请求到点自动停止,日志会注明自动停止。
  6. 连通测试:在日志卡片底部执行连通测试,验证端口、模型名与 API Key。
  7. Agent 提示词(可选):右侧保存方案,在「当前模型模板的提示词注入」中绑定并启用,再保存模板;对新经代理的请求生效。

默认 llama-server 监听 127.0.0.1:8080,OpenAI 兼容端点为 http://127.0.0.1:8080/v1。若改为 0.0.0.0 供局域网访问,建议同时设置 API Key。

适用场景与注意

适合谁:已在 Windows 上用 DSH 做智能体或对话开发,希望用本地 GGUF 推理、又需要与 DSH 模型选择器和 OpenAI 兼容调用链打通的用户。

权限与安全:插件以当前 DSH 进程权限运行;HTTP 接口挂在 /api/llama-manager,仅接受回环地址。安装前可在 GitHub 查看源码与 MIT 许可证。停止服务时先 TerminateProcess,再以 taskkill 兜底;DSH 退出时会同步结束由插件启动的 llama-server。

生态说明:DSH 采用「一切皆插件」的扩展方式;社区插件目录由独立站点维护,与 DeepSeek / 幻方无官方从属关系。本文事实来源于插件 README 与 package 元数据,安装命令以 README 中的 dsh plugin --profile … add …tgz 为准,请勿凭仓库名自行拼接未文档化的安装方式。

结尾

dsh-plugin-llama-manager 把 llama.cpp 启停、参数模板、日志与 DSH 模型选择器收到同一套 Windows 客户端界面里,适合需要本地 GGUF 又不愿离开 DSH 工作流的开发者。目录页:SkillHub 插件页;源码与完整说明:GitHub - ckilwork/dsh-plugin-llama-manager。

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

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

小夜