oMLX:Mac 菜单栏一键管理本地大模型推理
oMLX 是一个专为 Apple Silicon Mac 打造的本地大模型推理服务,其核心特点是菜单栏管理 + 分级 KV 缓存 + OpenAI 兼容接口三者合一。开发者无需在「省内存」和「用哪个模型」之间反复权衡——常用模型常驻内存,重型模型自动置换到 SSD 缓存,聊天上下文跨请求复用,真正让本地 LLM 成为日常编码工具。
功能与原则
oMLX 提供的是一个本地 LLM 推理服务器,核心能力包括:
- 连续批处理(Continuous Batching):动态拼包请求,提升吞吐
- 分级 KV 缓存:热层(RAM)存高频块,冷层(SSD)存低频块,上下文跨请求复用
- 全模型支持:文本 LLM、VLM(多图对话)、OCR 模型、Embedding、Reranker,一个服务全搞定
- 菜单栏管理:模型切换、上下文限制、缓存策略,全部托盘操作
- 分布式集群:多台 Mac 通过 Thunderbolt RDMA 拼算力,跑动大模型
- OpenAI 兼容 API:
localhost:8000/v1,任何 OpenAI 客户端直连
设计原则:让用户在菜单栏里完成所有配置,不需要折腾命令行,不需要在终端里猜参数。
认可度
- GitHub Star:18,870(截至 2026-08-17)
- 今日 GitHub Trending 上榜,约 295 stars today(2026-08-17)
- GitHub Trending 日榜常客,在 Apple Silicon ML 圈口碑稳定
- macOS 15.0+ (Sequoia),Apple Silicon (M1/M2/M3/M4)
链接
GitHub:https://github.com/jundot/omlx
原作者
jundot(GitHub @jundot),个人开发者,主导 oMLX 项目,同时维护官方文档(英文/中文/韩文/日文四语)。
介绍
用过 Ollama、LLaMA.cpp、LM Studio 的用户都有类似感受:要不在内存里手动腾挪模型,要不放弃上下文缓存,推理效率和体验总有一个要妥协。oMLX 想解决的就是这个痛点。
其核心创新是分级 KV 缓存——参照 vLLM 的 Block 管理,把热上下文放 RAM、冷上下文放 SSD,跨请求复用已计算的 Key-Value 对。这样即使用 Claude Code 这类工具做长对话,每次请求都不需要重新计算完整上下文,响应速度和 token 吞吐量都明显提升。
另一个差异化点是菜单栏 + 终端双入口。macOS App 在菜单栏托盘提供完整的模型管理界面,同时通过 ~/.omlx/bin/omlx CLI shim 让终端和 Apple Shortcuts 也能控制服务。服务默认走 Homebrew 管理,关机重启自动拉起。
如果你有多台 Mac,oMLX 还支持分布式集群推理——通过 Thunderbolt RDMA / Ring 连接,将大模型按层拆分到不同机器上运行,适合 M3 Ultra 内存不够跑完整大模型的场景。
特点
- 即装即用:下载 DMG 拖入 Applications,菜单栏引导三步完成配置
- 分级 KV 缓存:热 RAM + 冷 SSD,上下文跨请求复用,节省 30%+ 计算量(官方数据)
- 全模型覆盖:LLM / VLM / OCR / Embedding / Reranker,一个服务多角色
- OpenAI 兼容:任何 OpenAI SDK 客户端直连
localhost:8000/v1,零改代码 - MCP 支持:可选装 MCP(Model Context Protocol)扩展,融入 Agent 工作流
- 多语言 UI:英文/中文/韩文/日文/法文/俄文/西班牙文/葡文,CDN 依赖全内置,离线可用
使用方法
安装(macOS App):
下载 Releases 里的 .dmg,拖入 Applications,完成。
安装(Homebrew):
brew tap jundot/omlx https://github.com/jundot/omlx
brew install jundot/omlx/omlx
omlx start
启动并连接:
omlx start # 后台服务,自动重启
# 访问 http://localhost:8000/admin/chat 内置聊天 UI
# 或用任何 OpenAI 客户端连接 http://localhost:8000/v1
可选 MCP 支持:
/opt/homebrew/opt/omlx/libexec/bin/pip install mcp
验证自定义内核(GLM-5.2 / MiniMax M3 / Qwen3.5):
python -c "from omlx.custom_kernels import native_kernel_status; print(native_kernel_status())"
使用场景与人群
适用场景:
- 本地跑大模型(不想把数据送云端)
- 用 Claude Code / OpenCode / Copilot 等工具做长上下文编码
- 需要同时跑多个模型(LLM + OCR + Embedding)
- Mac 多卡集群算力扩展
目标用户:
- macOS Apple Silicon 用户(开发者、AI 爱好者)
- 对数据隐私有要求,不想用云端 API
- 需要低延迟本地推理的 AI 工作流用户
输入与输出案例
案例 1:本地 VLM 多图对话
curl http://localhost:8000/v1/chat/completions
-H "Content-Type: application/json"
-d '{
"model": "llava-phi3",
"messages": [
{"role": "user", "content": [
{"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}},
{"type": "text", "text": "描述这张图片"}
]}
]
}'
返回:模型识别图片内容并生成文字描述,通过 OpenAI 兼容接口,无需修改任何客户端代码。
案例 2:长对话上下文复用
用户 A 上午和 oMLX 跑了一个 128K 上下文的代码审查会话(累计计算约 8 万 tokens)。下午继续同一话题提问,已缓存的 KV 不需要重新计算,响应时间从首次的 12s 降至 1.8s,缓存命中后端到端延迟降低约 85%。
GitHub: https://github.com/jundot/omlx
评论区
登录后可评论。