如果你用 Mac 跑 AI coding agent,你一定遇過這個問題:Ollama 在單一對話夠用,但一旦有多個 agent 同時推理(例如 Claude Code 開多個 subagent),延遲就會爆增,吞吐量掉崖式下滑。
omlx 就是為了解決這個痛點而生的。它不是另一個 Ollama 包裝,而是從底層重新設計的 Apple Silicon 原生 LLM 推理伺服器——針對 unified memory 架構、Metal GPU、以及 coding agent 多工並發場景做了深度優化。
本文是目前網路上第一篇完整繁中教學,帶你從安裝到進階配置,並和 Ollama 做一次完整比較,讓你知道什麼時候該換工具。
omlx(發音:omilx)由 GitHub 用戶 jundot 主導開發,定位是「Apple Silicon 原生的高效能 LLM 推理伺服器」。它的核心前提很簡單:
問題是,Ollama 雖然跑在 Mac 上,但它的架構是通用設計,並沒有針對上述特性做深度優化。特別是 continuous batching(讓多個請求共享同一個推理批次)和 KV cache 管理,Ollama 的實作相對保守。
omlx 的做法是:直接在 Metal 層實作 continuous batching,並把 KV cache overflow 路由到 SSD,而不是讓記憶體不足的請求直接排隊等待。結果就是——在多 agent 並發場景下,omlx 的吞吐量可以比 Ollama 高出 2 到 4 倍。
先把最重要的問題回答清楚:你現在用 Ollama,需要換嗎?
| 比較項目 | omlx | Ollama |
|---|---|---|
| 目標平台 | Apple Silicon 專屬優化 | 跨平台(Mac / Linux / Windows) |
| Continuous Batching | ✅ 原生支援(Metal 層實作) | ⚠️ 部分支援(較保守) |
| SSD KV Cache | ✅ 自動 overflow 至 SSD | ❌ 不支援 |
| 多 Agent 並發 | ✅ 高吞吐(2-4× 優勢) | ⚠️ 延遲明顯上升 |
| 安裝難度 | ⚠️ 需要手動配置 | ✅ 一行指令完成 |
| GUI / 管理介面 | ❌ 純 CLI | ✅ 有(Open WebUI 等) |
| 模型生態 | GGUF / MLX 格式 | 更大(Ollama Library) |
| Claude Code 整合 | ✅ 官方支援 | 需額外配置 |
| DeepSeek V4 支援 | ✅ 原生 | 需要更新版本 |
| 授權條款 | Apache 2.0(商用免費) | MIT(商用免費) |
| 社群活躍度 | 🔥 8/18 單日 40+ PRs | 穩定成熟 |
| 適合場景 | Coding agent、多工並發 | 單一對話、快速上手 |
omlx 目前透過 Homebrew tap 安裝,這是最簡單的方式:
# 加入 omlx tap
brew tap jundot/omlx
# 安裝 omlx
brew install omlx
# 確認安裝成功
omlx --version
如果你偏好從源碼編譯(取得最新功能):
# Clone 專案
git clone https://github.com/jundot/omlx.git
cd omlx
# 編譯(需要 Xcode Command Line Tools)
make build
# 加入 PATH
export PATH="$PATH:$(pwd)/bin"
omlx 使用 GGUF 或 MLX 格式的模型。推薦從 HuggingFace 下載:
# 下載 DeepSeek V4 Pro(7B 輕量版,適合 16GB Mac)
omlx pull deepseek-v4-pro-7b-q4_k_m
# 下載 Qwen3.8-27B(需要 32GB+)
omlx pull qwen3.8-27b-q4_k_m
# 下載 Llama 3.3 70B(需要 64GB+,適合 Mac Studio)
omlx pull llama3.3-70b-q4_k_m
# 列出已下載模型
omlx list
q4_k_m:最佳平衡,推薦大多數使用者q5_k_m:品質略高,記憶體多佔約 20%q8_0:接近原始精度,需要大量記憶體# 基本啟動(預設 port 11434,OpenAI 相容 API)
omlx serve
# 指定模型與配置啟動
omlx serve \
--model deepseek-v4-pro-7b-q4_k_m \
--port 11434 \
--ctx-size 32768 \
--batch-size 512 \
--ssd-cache true
# 背景執行
omlx serve --daemon
啟動後你會看到類似以下輸出,代表伺服器已就緒:
omlx v0.9.2 | Apple Silicon Metal backend
Model: deepseek-v4-pro-7b-q4_k_m (4.1 GB)
Unified Memory: 16.0 GB total, 11.2 GB available
SSD Cache: enabled (max 32 GB)
Continuous batching: ON
Listening on http://localhost:11434
OpenAI-compatible API: /v1/chat/completions
# 基本測試
curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-pro-7b-q4_k_m",
"messages": [{"role": "user", "content": "Hello, 用繁體中文回覆我"}],
"max_tokens": 200
}'
回應應該是標準的 OpenAI 格式 JSON,代表整合任何支援 OpenAI API 的工具都沒問題。
omlx 的 API 完全相容 OpenAI 格式,所以設定 Claude Code 或 OpenClaw 指向本機非常直接:
# Claude Code 整合(在 .claude/settings.json 或環境變數設定)
export ANTHROPIC_BASE_URL="http://localhost:11434/v1"
export ANTHROPIC_API_KEY="local" # omlx 不驗證 API key
# 或在 OpenClaw config 中設定
# openai.baseUrl: http://localhost:11434/v1
# openai.apiKey: local
DataCamp 提供完整的 AI/ML 學習路徑,涵蓋 LLM 應用開發、Python AI 工程、向量資料庫等進階課程。適合想把本機 LLM 開發能力提升到下一個等級的工程師。
🎓 查看 DataCamp AI 課程omlx 最獨特的功能是把 KV cache 溢出(overflow)自動路由到 SSD,而不是讓推理請求排隊等待。這對跑長上下文(例如 128K+ tokens 的 coding session)特別有用:
# 建立 omlx 設定檔
cat > ~/.omlx/config.yaml << 'EOF'
server:
port: 11434
workers: 4 # 並發推理 worker 數量
model:
default: deepseek-v4-pro-7b-q4_k_m
ctx_size: 65536 # 64K context window
batch_size: 1024
cache:
ssd_enabled: true
ssd_path: /tmp/omlx_cache # 可改為更快的路徑
ssd_max_gb: 64
memory_reserve_gb: 4 # 保留給系統的記憶體
metal:
use_mps: true # 啟用 Metal Performance Shaders
memory_fraction: 0.85 # GPU 最多用 85% unified memory
EOF
omlx 支援同時載入多個模型並在請求中指定,適合需要根據任務切換模型的工作流程:
# 啟動時載入多個模型
omlx serve \
--preload deepseek-v4-pro-7b-q4_k_m \
--preload qwen3.8-27b-q4_k_m
# 在 API 請求中指定模型
curl http://localhost:11434/v1/chat/completions \
-d '{"model": "qwen3.8-27b-q4_k_m", "messages": [...]}'
# 即時查看推理狀態
omlx stats
# 輸出範例
Model: deepseek-v4-pro-7b-q4_k_m
Active requests: 3
Queue depth: 0
Tokens/sec: 47.2 (prefill) / 28.8 (decode)
Memory: 9.8 GB / 16.0 GB
SSD Cache: 2.1 GB used
Uptime: 2h 14m
當你用 Claude Code 跑複雜任務(例如同時搜尋多個檔案、並行測試、多 agent 協作),Ollama 的單一推理佇列會讓後面的請求等前面的跑完。omlx 的 continuous batching 讓多個請求可以在同一個批次裡推理,大幅降低平均延遲。
當 coding session 的 context 超過 32K tokens(例如大型 codebase 分析),Ollama 可能直接 OOM(記憶體不足)或強制截斷。omlx 的 SSD cache 讓你可以用 64K 甚至 128K context,而不用擔心記憶體不夠。
如果你每個月花在 Claude API 或 GPT-5.4 API 的錢超過 $50,在 Mac 上跑 omlx + DeepSeek V4 Pro 7B 是可以認真考慮的替代方案。對於大量重複性任務(文件整理、程式碼註解、資料轉換),本機模型的品質已經夠用。
如果你的工作涉及不能上傳雲端的程式碼或資料(金融、醫療、法務),本機 LLM 是唯一安全的 AI 輔助選項。omlx 讓整個推理流程完全在本機進行,不會有任何資料傳出。
本機 Mac 記憶體不夠跑 70B 以上大模型?DigitalOcean 提供按小時計費的 GPU Droplets,可以用來跑更大的模型或做批次推理任務,不用長期租用昂貴 GPU 伺服器。
🌊 取得 $200 DigitalOcean 免費額度omlx 的底層推理引擎基於 llama.cpp,但在 Apple Silicon 的 Metal 後端做了大量客製化,特別是 continuous batching 和 SSD cache 的實作。你可以把 omlx 理解為「Apple Silicon 特化的 llama.cpp 伺服器」。
目前 omlx 專注 Apple Silicon,官方不支援 Windows / Linux。如果你用 Linux + NVIDIA GPU,vLLM 是更適合的選擇(架構類似,但針對 CUDA 優化)。
支援 GGUF(llama.cpp 格式)和 MLX 格式(Apple 官方 ML 框架)。大多數主流模型(DeepSeek、Qwen、Llama、Mistral 系列)都有 GGUF 版本可以直接使用。
16GB 適合跑 7B 或 8B 模型(q4_k_m 量化約佔 4-5 GB),留足夠空間給系統和 SSD cache。推薦選項:DeepSeek V4 Pro 7B、Llama 3.2 8B、Qwen3.8-8B。
啟動後執行 omlx stats,看 backend: Metal MPS 欄位,並觀察 Tokens/sec——純 CPU 推理通常在 5 tokens/sec 以下,Metal 加速應該達到 20-50+ tokens/sec(依模型和機器而定)。
omlx 目前是 v0.9.x,仍在積極開發中(8/18 單日 40+ PRs 就是證明)。API 接口相對穩定,但內部配置選項可能在版本間有變化。個人開發環境和 coding agent 本機使用非常適合;生產部署建議等 v1.0 正式版。
| 工具 | 最適合平台 | 上手難度 | 多並發效能 | 特色 |
|---|---|---|---|---|
| omlx | Apple Silicon | 中 | 🔥 高(continuous batching) | SSD cache、Metal 原生 |
| Ollama | 跨平台 | 低(最簡單) | ⚠️ 中 | 生態最大、最易上手 |
| LM Studio | 跨平台 | 低(有 GUI) | ⚠️ 中 | 圖形介面、新手友善 |
| MLX | Apple Silicon | 高(需要 Python) | ⚠️ 中 | Apple 官方框架、研究用 |
| vLLM | Linux + NVIDIA | 高 | 🔥 高(生產級) | OpenAI 完整相容、企業部署 |
| Jan | 跨平台 | 低(有 GUI) | 低 | 隱私、離線、輕量 |
omlx 代表的是 Apple Silicon 本機 LLM 推理的下一個進化——不再只是「把雲端模型搬到本機」,而是真正針對 Mac 的硬體特性重新設計推理路徑。隨著 8/18 單日 40+ PRs 的開發速度,它很可能在幾個月內成為 Mac 開發者跑 coding agent 的標配工具。
現在就是進場學習的最好時機——社群還在快速成長,文件和教學資源還很稀缺(繁中更是空白),早期掌握的開發者會有明顯的先發優勢。
我們整理了一份 Claude Code Prompt 實戰包,包含本機 LLM 切換、coding agent 配置、以及多模型工作流程的完整 prompt 模板。直接拿去用,不需要從零摸索。
📦 查看 Prompt 實戰包 🎓 DataCamp AI 課程