前言¶
在本地部署大模型時,開發者常面臨模型切換繁瑣、進程管理混亂的問題。直接將 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 通過自動化生命週期管理,解決了本地模型切換時的資源泄漏和操作繁瑣問題,爲開發者提供了一個穩定且易於管理的本地推理解決方案。