在 macOS 上用 oMLX 跑本地大模型:Apple Silicon 专属推理服务器完全指南

在 macOS 上用 oMLX 跑本地大模型:Apple Silicon 专属推理服务器完全指南

如果你在用 Apple Silicon 的 Mac(M1/M2/M3/M4),想跑本地大模型来辅助编程或写作,大概率试过 Ollama 或 LM Studio。它们能用,但都有同一个痛点:上下文一长,响应就慢得让人想放弃

oMLX 就是为了解决这个问题而生的。


oMLX 是什么?

oMLX 是一款专为 Apple Silicon Mac 优化的本地 LLM 推理服务器,基于 Apple 官方的 MLX 框架构建。它的核心亮点是 智能 SSD KV 缓存——把推理过程中的 KV 缓存持久化到磁盘,让 Claude Code、Cursor、OpenClaw 等 AI 编程工具在长上下文场景下的响应时间从 30–90 秒缩短到 5 秒以内

✅ 开源协议:Apache 2.0 ✅ 运行平台:Apple Silicon + macOS 15+ ✅ GitHub:https://github.com/jundot/omlx(15k+ Stars)


核心特性

1. 分页 SSD KV 缓存(最核心的差异化功能)

这是 oMLX 区别于 Ollama / LM Studio 的根本原因。

传统推理服务器的 KV 缓存在内存中,一旦上下文变化或服务器重启,缓存全部丢失,需要重新计算。oMLX 将所有 KV 缓存块以 safetensors 格式持久化到 SSD,并通过 LRU 策略在内存热层和磁盘冷层之间智能调度:

热层(RAM)←→ 冷层(SSD,safetensors 格式)

实际效果:即使你切换了对话话题、或者重启了服务器,之前算过的上下文前缀不需要重新计算,TTFT(首 Token 响应时间)从 30–90 秒降至 5 秒以内。

2. 连续批处理(高吞吐)

通过 mlx-lm 的 BatchGenerator 处理并发请求,不再因单个请求阻塞整个队列。

实测数据(M3 Ultra 512GB,Qwen3.5-122B-A10B-4bit):

并发数Token/s加速比
56.61.00×
92.11.63×
135.12.39×
190.23.36×

Qwen3-Coder-Next-8bit 在 8× 并发下最高可达 4.14× 加速

3. 原生 macOS 菜单栏应用

oMLX 菜单栏

oMLX 提供了一个非 Electron的原生 macOS 菜单栏应用(用 PyObjC 实现),可以从菜单栏直接启动/停止/监控服务器,无需开着终端窗口。

应用已签名并公证,支持应用内自动更新。

4. OpenAI + Anthropic 双协议兼容

这是 oMLX 对 AI 编程工作流最友好的地方:

  • 提供 /v1/chat/completions(OpenAI 兼容端点)
  • 提供 /v1/messages(Anthropic 原生端点)
  • 兼容 Claude Code、Cursor、OpenClaw 及所有 OpenAI 兼容客户端

Web 仪表盘可以一键生成各工具的配置命令,直接复制粘贴即可使用。

oMLX 集成配置面板

5. 多模型同时服务

可以同时加载 LLM、VLM(视觉语言模型)、Embedding、Reranker 多种模型。内存不足时自动按 LRU 策略淘汰,也可以手动固定常用模型始终保持加载。


系统要求

配置最低要求推荐配置
芯片Apple Silicon(M1 或更新)M 系列 Pro/Max
系统macOS 15.0+(Sequoia)macOS 15+
内存16GB RAM64GB+
存储视模型大小而定(30GB+ 推荐)

安装方式

方式一:Homebrew(推荐,含 CLI)

如果你需要通过命令行启动服务,或者用 Claude Code 等工具集成,Homebrew 方式最方便:

# 添加 tap
brew tap jundot/omlx https://github.com/jundot/omlx

# 安装
brew install omlx

# 升级到最新版本
brew upgrade omlx

安装完成后可以直接用 omlx 命令,也可以作为后台服务运行(崩溃自动重启):

# 启动为后台服务
brew services start omlx

# 查看服务状态
brew services info omlx

# 停止服务
brew services stop omlx

服务日志位置:

  • 服务管理日志:$(brew --prefix)/var/log/omlx.log
  • 服务器运行日志:~/.omlx/logs/server.log

💡 如果需要 MCP 工具支持,额外执行:

/opt/homebrew/opt/omlx/libexec/bin/pip install mcp

方式二:macOS App(最适合非技术用户)

  1. 前往 GitHub Releases 下载 .dmg 文件
  2. 拖拽到 Applications 文件夹
  3. 启动后,欢迎界面会引导你完成:设置模型目录 → 启动服务器 → 下载第一个模型

⚠️ 注意:macOS App 版本不包含 omlx CLI 命令。如果需要命令行控制,请选择 Homebrew 或源码安装方式。

方式三:从源码安装(开发者)

git clone https://github.com/jundot/omlx.git
cd omlx

# 仅安装核心功能
pip install -e .

# 含 MCP 支持
pip install -e ".[mcp]"

快速开始:启动你的第一个本地模型

第一步:准备模型目录

oMLX 需要从 HuggingFace 下载 MLX 格式的模型。你可以:

  • 直接用 oMLX 内置的模型下载器(推荐)
  • 手动下载后放到指定目录
  • 直接复用 LM Studio 的模型目录(无需重新下载)

模型目录结构示例:

~/models/
├── Qwen3.5-122B-A10B-4bit/
├── Qwen3-Coder-Next-8bit/
├── Step-3.5-Flash-8bit/
└── bge-m3/              ← Embedding 模型

第二步:启动服务

Homebrew / 源码安装方式:

omlx serve --model-dir ~/models

启动后:

  • API 端点:http://localhost:8000/v1
  • 管理仪表盘:http://localhost:8000/admin
  • 内置聊天界面:http://localhost:8000/admin/chat

macOS App 方式:

直接从 Applications 启动 oMLX,菜单栏会出现图标,点击即可管理服务器状态。

第三步:下载模型

打开管理仪表盘(/admin),在模型下载器里搜索并下载你需要的模型:

oMLX 模型下载器

仪表盘支持搜索 HuggingFace 上的 MLX 模型,查看模型卡片和文件大小,一键下载。


与 Claude Code / Cursor 集成

这是 oMLX 最有价值的使用场景。配置完成后,你的 Claude Code 或 Cursor 就可以直接调用本地模型,所有数据都在本地运行,完全不依赖外网

一键生成配置

  1. 打开 oMLX 管理仪表盘
  2. 选择你要使用的模型
  3. 点击「一键生成配置命令」
  4. 复制命令,粘贴到终端执行

oMLX 支持一键配置以下工具:

工具说明
OpenClaw一键生成配置
OpenCode一键生成配置
Codex一键生成配置
Hermes Agent一键生成配置
GitHub Copilot一键生成配置
Pi一键生成配置

手动配置示例

如果你需要手动配置,只需要将 API 端点指向本地:

# OpenAI 兼容客户端
export OPENAI_API_BASE="http://localhost:8000/v1"
export OPENAI_API_KEY="dummy"   # oMLX 默认不需要 key

# Anthropic 兼容客户端(Claude Code)
export ANTHROPIC_API_KEY="dummy"
export ANTHROPIC_BASE_URL="http://localhost:8000"

支持的模型

oMLX 支持所有来自 HuggingFace 的 MLX 格式模型,包括:

模型系列说明
Qwen含 Qwen3.5 MoE、Qwen3-Coder,推荐日常使用
LLaMAMeta 系列
MistralMistral AI 系列
GemmaGoogle 系列
DeepSeek自动处理 <think> 标签
GLM智谱系列
MiniMax自动处理 <think> 标签
VLM视觉语言模型(v0.2.0+ 支持,含 SSD 缓存)
Embedding / Reranker可同时加载,用于 RAG 场景

💡 模型选择建议:如果你主要用本地模型辅助编程,优先选择 Qwen3-Coder 或 Qwen3.5 系列,工具调用支持最好,速度也最快。


管理仪表盘详解

oMLX 的管理仪表盘(/admin)是一个功能完整的 Web UI,所有 CDN 依赖均已本地化,完全离线可用

oMLX 深色模式仪表盘

主要功能:

  • 实时监控:Token/s、并发数、内存占用等实时指标
  • 模型管理:加载/卸载模型、设置每模型参数、固定常用模型
  • 内置聊天:支持对话历史、模型切换、深色模式、VLM 图像上传
  • 基准测试:一键测试预填充和生成速度
  • 配置生成器:为各工具生成配置命令
  • 多语言支持:英语、中文、日语、韩语、法语、俄语

进阶配置

启用 SSD KV 缓存

omlx serve \
  --model-dir ~/models \
  --paged-ssd-cache-dir ~/.omlx/cache \
  --hot-cache-max-size 20%
  • --paged-ssd-cache-dir:指定 SSD 缓存目录
  • --hot-cache-max-size:热缓存占系统 RAM 的最大比例

限制内存使用

# 限制单个模型最大内存
omlx serve --model-dir ~/models --max-model-memory 32GB

# 限制进程总内存(默认:系统 RAM - 8GB)
omlx serve --model-dir ~/models --max-process-memory 80%

调整并发数

# 最大并发请求数(默认 8)
omlx serve --model-dir ~/models --max-concurrent-requests 16

启用 MCP 工具

omlx serve --model-dir ~/models --mcp-config ~/mcp.json

API 密钥认证

omlx serve --model-dir ~/models --api-key your-secret-key

oMLX vs Ollama vs LM Studio

对比项OllamaLM StudiooMLX
KV 缓存存储仅内存仅内存内存 + SSD 持久化
缓存失效后全量重新计算全量重新计算从 SSD 毫秒级恢复
TTFT(长上下文)30–90 秒30–90 秒< 5 秒
并发处理单请求队列单请求队列连续批处理
Anthropic 端点不支持不支持原生支持
菜单栏管理有(原生非 Electron)
适合场景简单推理图形化交互AI 编程工作流

架构概览

如果你对技术架构感兴趣,oMLX 的核心设计如下:

FastAPI Server (OpenAI / Anthropic API)

    ├── EnginePool(多模型、LRU 驱逐、TTL)
    │   ├── BatchedEngine(LLM,持续批处理)
    │   ├── VLMEngine(视觉语言模型)
    │   ├── EmbeddingEngine
    │   └── RerankerEngine

    └── Cache Stack
        ├── PagedCacheManager(GPU,基于块,CoW,前缀共享)
        ├── Hot Cache(内存热层)
        └── PagedSSDCacheManager(SSD 冷层)

这套架构的核心思路是:把 KV 缓存当作操作系统的虚拟内存来管理——热块在 RAM,冷块在 SSD,按需换入换出,服务器重启后缓存不丢失。


总结

如果你在用 Mac 做 AI 辅助编程,oMLX 是目前最值得尝试的本地模型方案。它的 SSD KV 缓存设计真正解决了长上下文场景下的实用性问题,而原生菜单栏应用和一键工具集成也让日常使用变得非常顺手。

最重要的是:数据完全本地,不需要联网,不需要 API Key,不需要担心隐私泄露

获取方式:


参考资料:oMLX 官方文档(https://omlx.ai)及 GitHub 仓库(https://github.com/jundot/omlx)