前言¶
DeepSeek Harness (DSH) 採用插件化架構,允許開發者通過插件擴展其功能。在本地部署大模型時,通常需要將模型服務通過 OpenAI 兼容接口暴露給 Harness。robbywang25/dsh-llm-mlx 插件提供了這一連接能力,它通過內置的 OpenAI 適配器將本地 MLX-LM 或 MLX-VLM 模型路由到 DSH 的模型系統中,解決了本地模型集成的問題。
插件定位¶
- 插件名稱:
robbywang25/dsh-llm-mlx - 核心功能:DeepSeek Harness 插件,用於本地 MLX-LM 和 MLX-VLM 模型,默認僅限迴環,可選託管服務器啓動。
- 維護者:
robbywang25 - 許可證:MIT
核心功能¶
該插件主要提供以下能力:
- 提供
local-mlx模型路由,通過 DSH 的 OpenAI 兼容適配器連接本地模型。 - 可選啓動
mlx_lm.server或mlx_vlm.server,由 DSH 進程管理其生命週期。 - 適用於 Apple-silicon macOS 環境。
- 默認將服務器綁定到
127.0.0.1。 - 修復 macOS Desktop 環境下的
app.asar.unpacked路徑問題,替換了默認的 subprocess provider。 - 支持重用現有的 OpenAI 兼容服務器,無需由 DSH 啓動。
安裝¶
安裝插件需要根據 DSH 的運行環境選擇對應的 profile。
# Web Profile 安裝
dsh plugin --profile web add https://github.com/robbywang25/dsh-llm-mlx/releases/download/v0.4.0/dsh-llm-mlx-0.4.0.tgz
# Desktop Profile 安裝
dsh plugin --profile desktop add https://github.com/robbywang25/dsh-llm-mlx/releases/download/v0.4.0/dsh-llm-mlx-0.4.0.tgz
配置與使用¶
插件提供兩種運行模式:託管模式和重用模式。
模式一:託管模式(由 DSH 啓動模型服務)¶
在此模式下,DSH 會負責啓動和管理 MLX 服務器進程。需要配置環境變量或配置文件來指定模型路徑和 Python 解釋器。
- 設置環境變量:
export DSH_MLX_MODEL_PATH=/absolute/path/to/your-mlx-model
export DSH_MLX_PYTHON=/absolute/path/to/python
- 啓動 DSH:
dsh web
或者在 cordis.patch.yml 中配置持久化設置:
- id: llm-mlx-runtime
config:
autoStart: true
serverEngine: mlx-lm # 或 mlx-vlm
modelPath: /absolute/path/to/your-mlx-model
pythonExecutable: /absolute/path/to/python
模式二:重用現有服務器¶
如果已有一個運行中的 MLX 服務器,可以讓 DSH 直接連接,不接管其進程。
- 手動啓動 MLX 服務器(以 MLX-LM 爲例):
python -m mlx_lm server \
--model /absolute/path/to/your-mlx-model \
--host 127.0.0.1 \
--port 18080 \
--max-tokens 512
- 在 DSH 的設置中配置。在 Settings → Models → Local MLX 中輸入任意非空佔位符(如
local-only),並在會話中選擇 MLX Local Model。DSH 會連接到http://127.0.0.1:18080/v1。
系統要求與注意事項¶
使用該插件需滿足以下條件:
- 版本要求:DeepSeek Harness 版本需爲
0.1.0-rc.6或0.1.1-rc.1+。 - 環境要求:
- 託管模式啓動僅支持 Apple-silicon macOS。
- 需要本地 Python 環境,且安裝了
mlx-lm或mlx-vlm(根據所選模型類型)。 - 需要已下載並配置好本地 MLX 模型權重。
- 安全與限制:
- Read Only 和 Workspace Write 操作仍使用 DSH 的內置 Seatbelt 限制機制。
- Linux 和 Windows 的進程提供者不受此插件影響。
- 數據說明:插件本身不包含任何模型權重文件。