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。

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

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

小夜