omlx 是什么?

oMLX 是面向 Apple Silicon Mac 的本地模型推理服务器。它在 MLX 推理基础上加入连续批处理、RAM 与 SSD 两级 KV 缓存、模型自动换入换出、管理面板,以及 OpenAI 和 Anthropic 兼容接口。

⭐ 16,786 Stars 🍴 1,419 Forks Python Apache-2.0 作者: jundot
来源:github.com/jundot/omlx 查看 GitHub 仓库 → 📘 使用教程 →

为什么值得关注

它解决的是本地编码助手常见的两个问题:长对话反复预填充很慢,多个模型同时驻留又容易吃满统一内存。官方实现用前缀共享和 SSD 冷缓存复用上下文,并用 LRU、TTL 和总内存上限管理模型。

来源:github.com/jundot/omlx

核心功能

连续批处理和两级 KV 缓存

并发请求由 mlx-lm BatchGenerator 调度;匹配的前缀可在 RAM 热层与 SSD 冷层间复用,冷缓存采用 safetensors 保存。

来源:github.com/jundot/omlx
多模型管理

同一服务可以发现 LLM、VLM、OCR、embedding 和 reranker 模型,并用 LRU、固定驻留和每模型 TTL 控制内存。

来源:github.com/jundot/omlx
兼容接口和管理端

服务提供 OpenAI 风格接口、Anthropic Messages 接口和本地管理面板;非 loopback 地址必须配置 API key。

来源:github.com/jundot/omlx
macOS 菜单栏和命令行

官方 DMG 包含原生 Swift/SwiftUI 菜单栏应用和 CLI shim;Homebrew 或源码安装也能用 omlx start、stop、restart 与 serve 管理服务。

来源:github.com/jundot/omlx

技术架构

FastAPI 层提供 OpenAI/Anthropic API;EnginePool 管理文本、视觉、向量和重排引擎;调度器使用 mlx-lm BatchGenerator;PagedCacheManager、RAM 热缓存和 SSD 冷缓存组成缓存栈;ProcessMemoryEnforcer 负责总内存与 TTL。

来源:github.com/jundot/omlx

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) Python >=3.11,<3.14Python >=3.11,… macOS 15.0+ Apple Silicon M1-M5Apple Silicon… 连续批处理和两级 KV 缓存连续批处理和两级 KV… 多模型管理 兼容接口和管理端 macOS 菜单栏和命令行 omlx 项目本体 核心功能 关键依赖

技术栈

语言Python;macOS 应用使用 Swift/SwiftUI框架MLX、mlx-lm、FastAPI
Python >=3.11,<3.14macOS 15.0+Apple Silicon M1-M5
本机服务默认监听 localhost:8000;模型与设置默认放在 ~/.omlx;可选 SSD KV 缓存
来源:github.com/jundot/omlx/blob/main/pyproject.toml (1) · github.com/jundot/omlx (2)

快速上手

最省事的方式是下载官方 DMG;命令行用户可先 brew tap jundot/omlx https://github.com/jundot/omlx,再 brew install jundot/omlx/omlx。把 MLX 格式模型放到 ~/models,运行 omlx serve --model-dir ~/models,然后先在 http://localhost:8000/admin/chat 做本机验证。
来源:github.com/jundot/omlx

使用场景

适合用 Apple Silicon Mac 搭建本地编码助手后端、离线聊天、视觉/OCR、embedding 或 reranker 服务,并希望在一个管理面板中控制多个模型和内存占用的用户。

来源:github.com/jundot/omlx

优势与局限

优势

  • 把连续批处理、SSD 前缀缓存和多模型内存管理放进同一服务
  • 同时提供 OpenAI 与 Anthropic 兼容入口
  • 非 loopback 监听会强制要求 API key

局限

  • 仅支持 Apple Silicon 和 macOS 15.0 以上
  • 部分模型族要获得官方所述的高速路径,需要完整 Xcode 和原生自定义内核
  • 0.7.0.dev4 是开发预览;稳定使用应选择 0.6.4
  • 多 Mac 推理仍被官方标为实验功能
来源:github.com/jundot/omlx

最新版本

当前最新稳定版是 v0.6.4,发布于 2026-08-29;当前最新预发布版是 v0.7.0.dev4,发布于 2026-09-18。两条版本线不能混写。

来源:github.com/jundot/omlx/releases

实测与证据

status: official_docs_checked_not_locally_installed  |  checked_at: 2026-09-23  |  environment: 核对官方 README、pyproject.toml、Apache-2.0 LICENSE、GitHub Releases 和 GitHub 仓库元数据;未在 Apple Silicon Mac 上安装或运行  |  limitations: 未实测模型加载、吞吐、SSD 缓存命中、内存回收、自定义内核、API 兼容性、远程鉴权或多 Mac 集群  |  observed_output: 官方 latest API 返回稳定版 v0.6.4(2026-08-29);Releases 同时列出预发布 v0.7.0.dev4(2026-09-18);pyproject 要求 Python >=3.11,<3.14

来源:github.com/jundot/omlx/releases/tag/v0.6.4 (1) · github.com/jundot/omlx/blob/main/pyproject.toml (2)

同类项目对比

MLX LM 官方也提供本地 HTTP server,但其文档明确说该 server 只做基本安全检查,不建议直接用于生产。oMLX 复用 mlx-lm 的 BatchGenerator,并另外加入多模型池、SSD 冷缓存、管理面板、菜单栏应用和对非本机监听的 API-key 强制检查。只需要最小的单模型命令行服务时 MLX LM 更直接;需要长期管理多个本地模型时 oMLX 的运维层更完整。

来源:github.com/jundot/omlx (1) · github.com/ml-explore/mlx-lm/blob/main/mlx_lm/SERVER.md (2)

总结评价

如果你有 Apple Silicon Mac,并且要长期运行多个本地模型、复用长对话前缀、统一接入编码工具,oMLX 值得先在 localhost 小范围验证。生产或局域网使用前,应逐项测试模型兼容、缓存占用和鉴权;只需一个简单模型服务时可先考虑更小的 MLX LM server。

来源:官方 Releases

常见问题

oMLX 能在 Intel Mac、Windows 或 Linux 上运行吗?

不能按官方支持路径运行。当前要求 Apple Silicon、macOS 15.0 以上和 Python 3.11 至 3.13。

应该安装 oMLX 0.6.4 还是 0.7.0.dev4?

需要稳定环境时选 0.6.4。0.7.0.dev4 被 GitHub 标为预发布,发布说明也建议遇到回归时退回较早开发版。

把 oMLX 开放到局域网需要做什么?

先配置 API key,再修改监听地址。官方说明服务在非 loopback 地址且没有 API key 时会拒绝启动。

oMLX 的 SSD 缓存会让所有请求都更快吗?

不会。它只在请求前缀能够匹配时复用缓存;磁盘速度、缓存上限、模型和上下文变化都会影响收益。本站没有实测具体加速比例。

资料与核验范围
本文依据项目公开资料整理。版本、安装命令和功能边界可能随上游更新,请以所列来源和项目当前版本为准。 资料核对时间: 2026-09-23 10:52.

参考材料:README、GitHub API、依赖文件