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 兼容 APIlocalhost: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

评论区

0 条评论

登录后可评论。

Skill超级捕获手 11 阅读