macOS 27 内置了一个免费 LLM
上周把 M1 MacBook Air 升到了 macOS 27 Beta 3,原本只是为了看看新壁纸和新 UI。结果在终端里误打了 fm 这个命令,蹦出来一个提示,说这是 "Apple Foundation Models CLI"。
我以为 fm 是哪个 1994 年留下的文件管理工具——毕竟 fm 怎么看都像 "File Manager" 的缩写。但它不是。它是 Apple Intelligence 的底层大模型,被做成了一个终端命令,放在 /usr/bin/fm。
免费、离线、不用登录、不用 API Key。而且几乎没人在讨论这件事。
● ● ●
这是个什么东西?
fm 背后有两个模型:
system— Apple 的端侧模型,完全在你 Mac 上跑,离线可用。默认模式。pcc— 同一个模型思路但更大,跑在 Apple 的 Private Cloud Compute 数据中心。
用 fm --help 能看到全貌。
fm CLI 架构
COMMANDS respond 一次性问答 chat 多轮对话 serve 启动 OpenAI 兼容 HTTP 服务 schema 查看输出 schema token-count 统计 token 数 quota-usage 配额使用情况 MODELS system On-device Foundation Model (默认) pcc Private Cloud Compute
模型本身不是新东西——Foundation Models 框架从 macOS 26 (Tahoe) 就开始随系统分发了。你在 Shortcuts App 里可以找到 "Use Model" 这个动作(也是 iPhone 上唯一能碰它的方式)。
macOS 27 真正新加的是 /usr/bin/fm 这行命令——一个可以 pipe、可以脚本化、可以接入任何工具的 CLI。
说一下模型的真实水平:它不是 Claude Opus 或 GPT 5.5 级别的东西。这是一个小模型,只有 4,096 token 的上下文窗口,不知道今天的日期,偶尔还会一本正经地胡说八道。在 M1/M2 Mac 上跑的是约 3B 参数的量化版本(混合 2bit/4bit 量化,约 3.5 bits/weight),性能大约在 Gemini Nano / 小 Llama 那一档。
但如果你需要的是一个"小任务 AI"——分类文本、生成 shell 命令、做简单总结——它是真的好用,而且是免费的。
有意思的是,在 M3/M4 Mac 上,如果内存超过 12GB,系统会自动切换到约 20B 参数的更大模型。同样的命令,答案明显更聪明。一台 M4 Mac mini 就能当全家的 AI 服务器。
以下是它真正能用的 10 个玩法。
● ● ●
1. 单行问答
最简单的用法。fm respond 后面接你的问题:
$ fm respond '用一句话解释什么是 Swift' Swift 是 Apple 开发的一种强大且直观的编程语言,用于构建安全、高效、高性能的应用。
这个回答完全在你的 Mac 上生成。没有网络请求,没有登录,没有调用次数限制。模型是懒加载的系统服务,第一次预热后,回答在一两秒内返回。
● ● ●
2. 管道输入——这才是它从玩具变工具的关键一步
fm 从标准输入读取数据,所以你可以像管任何终端命令一样管东西给它:
$ cat error.log | fm respond '用中文总结这个错误日志,只给关键信息' $ ls -la ~/Downloads | fm respond '按文件大小排序,只列最大的 5 个' $ git diff HEAD~1 | fm respond '用中文写一行 commit message'
⚠️ 注意:它偶尔会跑偏。比如作者原文里让 fm 列举 Mac 快捷键,它的回复开头先说了一通 "Apple logo is displayed on the screen, which is a foundation model developed by Apple..." 然后才是 Copy、Paste、Undo。这不是 bug,是小模型的天性——先瞎聊两句再干活。
● ● ●
3. 多轮对话——还能断点续聊
$ fm chat
进入对话模式后,用 /resume 回到之前的对话。支持系统提示词设定角色:
$ fm chat --system "你是一个资深 Linux 运维工程师,回答用中文"
● ● ●
4. 截图分析
用 --image 参数传图片给它:
$ fm respond --image error-screenshot.png "这是什么错误?怎么解决?"
这个功能在 8GB M1 上也能跑,但处理速度取决于图片大小和 Mac 配置。
● ● ●
5. 结构化 JSON 输出(作者最喜欢的)
$ echo "需要修复:登录页面按钮错位,API 超时问题,移动端适配" | \ fm respond --json '按优先级分类这些 bug,输出 JSON 数组,每项包含 priority、title、estimate'
加上 --json 后,模型的输出是合法的 JSON,可以直接 pipe 给 jq 或 Python 脚本。做自动化工具链的关键能力。
● ● ●
6. 自动标签和分类
$ cat customer-feedback.txt | fm respond '给每条反馈打标签:[bug, feature, question, complaint]'
把非结构化文本变成结构化数据。适合处理日志、用户反馈、邮件归档。
● ● ●
7. Token 计数——牢记 4,096 的墙
$ fm token-count "你的文本"
因为上下文只有 4,096 token(输入+输出合计,约 3,000 个英文单词),在做长文本处理前先用这个命令算一下能不能塞进去。超出部分会被截断,模型不会告诉你。
● ● ●
8. 给模型设定性格
$ fm respond --system "你叫 Janus,说话用莎士比亚风格" "今天天气怎么样" $ fm respond -s "所有回答严格限制在 20 个字以内" "介绍一下黑洞"
对于自动化和批处理场景,系统提示词能大幅提高输出的可预测性。
● ● ●
9. 把你的 Mac 变成私人 "ChatGPT 服务器"
$ fm serve
一行命令启动一个本地 HTTP 服务,监听 127.0.0.1:1976,提供 OpenAI 兼容的 /v1/chat/completions 接口。
任何支持 OpenAI API 的工具——Python 脚本、VS Code 插件、聊天 App——都能把 base_url 指向你的 Mac,用本地模型替代云端 API:
from openai import OpenAI
client = OpenAI(
base_url="http://127.0.0.1:1976/v1",
api_key="not-needed"
)
r = client.chat.completions.create(
model="system",
messages=[{"role": "user", "content": "用一句话介绍 Python"}]
)
print(r.choices[0].message.content)
零成本、零账单、零 API Key。
fm serve 还可以绑定到局域网 IP(默认只监听本机)。一台 M4 Mac mini 跑着 fm serve --host 0.0.0.0,全家所有设备就能共享这个免费 AI 端点。
● ● ●
10. 召唤更大的大脑:Private Cloud Compute
当小模型不够用的时候,fm 还有一个档位:
$ fm respond --model pcc "写一个用 Rust 实现的高性能 LRU Cache,带并发安全"
--model pcc 把你的请求发到 Apple 的 Private Cloud Compute——Apple 的服务器端大模型。目前免费,但作者推测这个"重型档位"未来可能会收费。
● ● ●
你必须知道的事
隐私:这是每个人的第一个问题——"Apple 的模型跑在我 Mac 上,肯定能读我的东西吧?" 答案是:不能。模型跑在沙箱里,不能读你的 Messages、Notes、邮件。作者说他反复测试过,fm 对用户私密数据的访问权限为零。
能力上限:Apple 自己的测试表明,端侧模型和其他 3-4B 参数级别的模型(Qwen、Gemma 系列)旗鼓相当。独立评测把它放在 "Gemini Nano / 小 Llama" 这一档。擅长窄领域小任务,不是全能选手。
和 Ollama/LM Studio 的关系:不是替代品。Ollama 的价值在于模型选择——你可以跑 Qwen 3.5 30B MoE、Gemma 4、DeepSeek V4 Flash 等最新模型。fm 的价值在于零配置零成本——你不需要下载几十 GB 的模型文件,系统已经帮你装好了。
● ● ●
如果你不是 macOS 27
模型在 macOS 26 上就有,只是没有 CLI 命令。你可以:
- 用 Shortcuts App 里的 "Use Model" 动作(GUI 方式)
- 安装 Apple 官方的 Python SDK:
pip install apple-fm-sdk - 用第三方工具 apfel:
brew install apfel(一个用 Swift 写的 CLI,提供命令行接口和 OpenAI 兼容服务器)
还有 ZPVIP 的 apple-to-openai 项目:https://github.com/ZPVIP/apple-to-openai —— 把 Apple 模型包装成标准 OpenAI API,支持 OpenClaw、Chatbox、Open WebUI 等客户端无缝接入。
● ● ●
我是怎么看的
Apple 从 2017 年就在每颗芯片里放了 Neural Engine,但大部分时间只用来做 Face ID 和照片分类。现在他们终于把 AI 从 Siri 的牢笼里放出来了——不是加一个 App,而是做成一个终端命令。
这很 Apple:不给前端,给底层。让开发者自己去接。
/usr/bin/fm 不是最强的 LLM,但它可能是最没有使用门槛的。每一台 macOS 27 的 Mac 都自带了一个免费、离线、私密的 AI 引擎。你需要做的只是打开终端。
本文基于 macOS 27 Beta 3 实测撰写。fm 命令的行为可能在正式版发布前有调整。
参考:Nikhil Vemu 原文 https://medium.com/macoclock/macos-27-has-a-hidden-llm-inside-10-amazing-things-you-can-do-with-it-44a28d8cc042 / Apple Foundation Models 文档 https://developer.apple.com/documentation/foundationmodels / python-apple-fm-sdk https://github.com/apple/python-apple-fm-sdk / apfel https://github.com/Arthur-Ficial/apfel