前言¶
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 的进程提供者不受此插件影响。
- 数据说明:插件本身不包含任何模型权重文件。