maclocal-api
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:afm 命令行工具运行截图,支持交互式对话和管道输入
凌晨两点,你在咖啡馆处理紧急需求,不想把公司代码上传到 OpenAI 或 Claude——合规风险太高。但产品经理催着要看效果,传统方案要在本地配 Python 环境、找 CUDA 驱动、拉模型文件,折腾半天还没开始干活就天亮了。
afm 解决的就是这个问题:一条命令,让你在 MacBook Pro 上直接跑开源大模型或苹果的 on-device Foundation Model,对外暴露的是标准 OpenAI 兼容 API,任何 ChatGPT 客户端都能直接连上,数据全程不出本机。
Apple 在 2024 年 WWDC 发布了 Apple Intelligence 和配套的 MLX 框架(类似 NVIDIA CUDA 的 Apple Silicon 机器学习库)。MLX 有个 Swift 绑定叫 mlx-swift-lm,可以让开发者用纯 Swift 调用 Metal 加速的 GPU 推理,不需要 Python 运行时,不需要 NVIDIA 显卡。
scouzi1966(项目作者 Sylvain Cousineau)发现这个能力被远远低估了:大多数本地 LLM 玩家还在折腾 Ollama、llama.cpp,在 M 系列 Mac 上用 Metal 加速的方案反而知道的人不多。afm 就是他把 MLX 的能力封装成一条开箱即用命令的作品。
运行 afm -w 或 afm mlx -m <model> -w,afm 启动一个 HTTP 服务器,完整实现 OpenAI Chat Completions API 规范:
/v1/chat/completions、/v1/models 等标准端点这意味着你可以用同一个客户端代码,对接 OpenAI、Anthropic,或者本地 afm——后端换什么都不用改代码。
v0.9.13-nightly 引入了两项推测解码技术,在保持输出质量的前提下显著加速:
| 技术 | 适用模型 | 加速比 |
|---|---|---|
| MTP(Multi-Token Prediction) | Qwen3.6-27B(需专用 checkpoint) | ~+52% |
| EAGLE3 | Gemma4-31B(密集模型,需 drafter) | ~+30% |
推测解码的原理是训练一个「草稿模型」快速生成候选 token,再用主模型并行验证——类似考试时先打草稿再检查,比逐字写快得多。
<think>-tag 流式输出(首个思考 token 时间从 610ms 降至 346ms)afm 支持三类模型来源:
Apple on-device Foundation Models:苹果自己的 AFM 模型,集成 Vision、Siri 相关能力,无需下载,直接调用。
MLX 社区模型(Hugging Face):mlx-community/ 下的量化模型,自动下载到 ~/.cache,包括 Qwen3.5-35B-A3B-4bit(约 20GB,统一内存)、Gemma-3-4b-it-8bit(小模型,适合快速测试)、Mistral、LLaMA 系列等。
第三方 OpenAI 兼容 API:afm 内置了 API aggregator,可以同时调用多个后端做路由或 ensemble。
项目内置了 .claude/ 和 .codex/ 配置,可被 Claude Code 和 OpenAI Codex 直接调用。对于 AI 编程爱好者,这意味着可以直接在本地跑一个 Code LLM 作为 coding agent 的后端,代码不外流。
# Homebrew
brew install scouzi1966/afm/afm
# pip
pip install macafm
git clone https://github.com/scouzi1966/maclocal-api.git
cd maclocal-api
./build.sh
构建脚本 build.sh 全自动执行以下步骤:检测 Xcode Command Line Tools(不存在则触发 macOS GUI 安装程序);通过 Homebrew 自动安装 Node.js(WebUI 依赖);初始化 git submodules(mlx-swift-lm、llama.cpp);应用 vendor patches(mlx + xgrammar 补丁集);编译 Metal shader library(default.metallib);构建 release 二进制 afm。二进制文件位于 .build/release/afm,可加 --install 装到 /usr/local/bin。
nightly 和 stable 版本通过 Homebrew tap 独立管理,brew unlink + brew link 即可切换,无需重新安装。
语言:Swift 6.0(主程序)+ Python 3.9+(pip 安装的 CLI wrapper)
核心技术栈:
mlx-swift-lm:Apple 官方的 MLX Swift 绑定,负责 LLM/VLM 推理swift-transformers:Hugging Face 模型格式支持(分词器、safetensors 加载)Vapor(v4):Swift Web 框架,提供 HTTP 服务器swift-argument-parser:命令行参数解析CXGrammar:xgrammar 项目(Apple Silicon 优化的结构化输出)llama.cpp(vendor 子模块):内置 WebUI 资源编译产物:单一静态可执行文件 afm,无外部依赖(Portable build)。
平台锁定:这是最大的门槛。afm 只能在 Apple Silicon macOS 上运行,Linux/Windows 用户无法使用。对于团队协作场景,这意味着所有人都必须配备 M 系列 Mac。
Swift 工具链复杂度:虽然 build.sh 已经高度自动化,但 Xcode CLT 需要 macOS GUI 安装程序交互,在无头(headless)服务器环境或 CI/CD 中构建几乎不可能。
长上下文质量回归:作者在 Package.swift 中注释说明,mlx-swift 0.30.4+ 存在 SDPA 回归,在约 1500 tokens 后可能输出 NaN 或空内容。虽然 0.30.6 修复了部分问题,但 0.31.3 仍不完全。这在超长对话场景下是已知风险。
模型生态受限:目前只支持 MLX 量化格式的 Hugging Face 模型,不支持 GGUF(llama.cpp 原生格式)。已有 GGUF 模型的用者需要先转换格式。
afm 代表了 Apple Silicon 在 AI 本地化方向的一个前沿探索。它证明了 M 系列芯片的统一内存架构在大模型推理上的竞争力——不需要 NVIDIA 显卡,不需要云服务,在一台 MacBook Air 上就能跑 35B 参数的量化模型。
从项目增长看,307 颗 GitHub stars、16 个 forks、持续活跃的开发(最后更新 2026-07-01)说明有稳定的开发者社区在关注。配合推测解码、MTP/EAGLE3 等前沿技术,这个项目在本地 AI 工具链中占据了一个差异化生态位。
对于隐私敏感型企业(金融、医疗、法律)、需要在出差途中离线工作的研究员,以及追求低延迟推理的个人开发者,afm 是一个值得关注的选择。