OpenClaw让老Mac再战十年
2015 MacBook 部署 OpenClaw:老 Mac 再战十年 & 苹果的黑心秘密
开篇:一台被判了死刑的 MacBook
我有一台 2015 年的 MacBook Pro。
放了快一年没动。因为——风扇狂转,桌面卡到连鼠标都拖不动,像一台正在发高烧的暖手宝。
每个见过它的人都说同一句话:
"2015 年的电脑了,换一台吧。"
说实话,我也信了。都 2026 年了,一台十年前的电脑,能干嘛?
直到有一天晚上,我躺在床上,想给我的 AI Agent 项目找一台专用服务器。买云服务器太贵,树莓派性能不够。突然想到——角落里那台"报废"的 MacBook,不是还有 16G 内存吗?
要不,试试?
我没有走过去打开它。我打开了我的 Mac mini,输入一行命令:
ssh username@192.xxx.xxx.xxx用 Claude Code 远程"附身"到了那台老电脑上。
接下来发生的事,彻底改变了我对"老电脑该扔了"这句话的看法。
Part 1:给老 Mac 做了个全面体检,结果很有意思
远程体检:硬件全部合格
我让 Claude Code 给这台老 MacBook 做了一次全面体检。结果出来,我愣了。
| 项目 | 状态 | |------|------| | CPU | i7 四核 2.8GHz ✅ | | 内存 | 16GB ✅ | | 硬盘 | 1TB SSD ✅ | | 电池 | 205 次循环,状态正常 ✅ | | SSD 健康度 | SMART 验证通过 ✅ |
硬件全部正常。
一台 i7 + 16G + 1T SSD 的电脑,放到今天跑个 Agent 都绰绰有余。它凭什么"该扔了"?
真正的凶手:AppleSpell
继续查。CPU 占用排行:
AppleSpell → 99.2% CPU
CacheDelete → 62% CPU
diagnosticd → 35% CPU
三个进程把四核 CPU 压满了。其中排名第一的,是一个叫 AppleSpell 的东西——苹果自带的拼写检查服务。
一个拼写检查,吃 99% CPU?
继续查。磁盘 99% 满。 932GB 用了 903GB。
真相出来了。
因果链:磁盘满 → 死循环 → 风扇狂转
整个过程是这样的:
磁盘 99% 满
↓
AppleSpell 想写缓存 → 写不进去
↓
它不休息,死循环重试 → CPU 99%
↓
CacheDelete 拼命想腾空间 → CPU 62%
↓
diagnosticd 疯狂记录错误日志 → CPU 35%
↓
三个进程把 CPU 压满 → 温度飙升 → 风扇狂转
一个正常的软件,磁盘满了应该怎么做?提醒用户,然后 sleep 等待。 这是任何一个初级程序员都知道的基本常识。
但 AppleSpell 不。它选择死循环重试。一个来自全球市值最高科技公司的系统服务,连这个都不做。
我觉得挺有意思的。
杀不死的进程
我尝试杀掉它:
kill AppleSpell → 系统秒复活
kill -9 AppleSpell → 系统秒复活
launchctl disable → 无效
launchctl bootout → 依然复活四种方式全试了,全部无效。
AppleSpell 是 macOS 的 XPC 系统服务,享受"杀不死"的特权。系统检测到它被关闭,会自动帮它重启。
你关掉,它复活。你再关,它再复活。无限循环。
唯一的解法:一条普通人根本不知道的命令
兜了一大圈,最终解法是这样的:
defaults write -g NSAutomaticSpellingCorrectionEnabled -bool false
defaults write -g WebAutomaticSpellingCorrectionEnabled -bool false
defaults write -g NSAllowContinuousSpellChecking -bool false三条命令,关闭全局拼写检查。然后重启。
AppleSpell 不再运行。风扇安静了。CPU 回到正常水平。
我不下结论,但你品品这三个事实
我没有资格说苹果是故意的。但我可以摆三个事实,你自己品:
事实一:这个服务杀不死。
它是 XPC 系统服务,kill 了会自动复活。普通用户没有任何办法通过图形界面关掉它。你在"系统偏好设置"里找不到开关。
事实二:磁盘满了它不休息。
任何一个合格的程序员都知道:资源不足时应该 sleep 等待或者优雅退出。但这个服务选择了死循环重试。一个初级 bug?来自苹果?来自一个存在了十几年的系统服务?
事实三:解法藏在命令行。
defaults write 这种命令,99.9% 的 Mac 用户不知道它的存在。这不是什么高级黑客技术,就是一条修改系统配置的命令。但它不在任何菜单里,不在任何设置界面里。
三个事实放在一起,结果是什么?
一台硬件完好的电脑 → 被一个软件问题逼成暖手宝 → 普通人修不好 → "电脑太老了,该换新的了"
我不妄下定论。但我相信,群众的眼睛是雪亮的。
你搜一下 "AppleSpell high CPU" —— 这不是我一个人的问题。从 2011 年到 2025 年,十四年,苹果论坛、Reddit、Stack Overflow 上全是一样的投诉。十四年,没修。
是他们修不好吗?三条 defaults write 命令就能解决的事?
我真的不下结论。你自己品。
Part 2:3 条命令 + OpenClaw,老 Mac 再战十年
修好了,然后呢?
风扇安静了,磁盘从 99% 清理到只剩 2%。这台电脑"活"了。
但我不想让它只是"活着"。我要让它干活。
目标:把它变成一台 AI Agent 专用服务器,部署 OpenClaw。
OpenClaw 是什么
OpenClaw 是一个开源 AI Agent 框架。你可以把它理解成——给 AI 装上手和脚。
- 大脑(Brain):接入 Claude、GPT 这样的大模型
- 双手(Hands):能执行命令、操作文件、控制浏览器
相当于让 AI 从"只会说话"变成"能干活"。
但它有个问题:默认不隔离。 Agent 拥有完整的用户权限,能读写你所有的文件、访问任何网站。
换句话说:你给 AI 装了手脚,但没装笼子。
安全架构:给 AI 装笼子
我不打算把 OpenClaw 跑在主账户上。万一它"发疯"了,我的数据全完了。
解法很简单:macOS 原生的多用户隔离。
我创建了一个标准用户(非管理员),专门跑 Agent:
sudo sysadminctl -addUser agent-user -fullName "Agent User" \
-password "你的密码" -home /Users/agent-user然后把主账户的权限锁死:
chmod 700 /Users/你的用户名 # 只有自己能读写现在的架构长这样:
即使 OpenClaw 里的 AI Agent 完全失控了,它也只能在自己的用户目录里折腾。碰不到我的数据,碰不到系统配置,也不能 sudo 提权。
零成本。不需要 Docker,不需要虚拟机。只用了 macOS 自带的用户权限。
Node.js 22:官方不支持,但能跑
OpenClaw 需要 Node.js 22。但官方说:
"Node.js 22 pre-built binaries do not officially support macOS Catalina."
试试呗?我直接下载了预编译二进制文件:
curl -o ~/node-v22.tar.gz https://nodejs.org/dist/v22.x.x/node-v22-darwin-x64.tar.gz
tar xzf ~/node-v22.tar.gz -C ~/local/node --strip-components=1
echo 'export PATH=$HOME/local/node/bin:$PATH' >> ~/.zshrc能跑。完美运行。
"官方不支持" ≠ "不能用"。 尤其是预编译二进制文件,很多时候只是官方不测试了,实际完全兼容。试一下成本为零,成功概率很大。
网络配置:纯命令行搞定
这台电脑是远程 SSH 操作的,没法点 GUI。但 OpenClaw 要调用云端 API,需要网络能通。
关键发现:很多 GUI 软件的核心引擎可以独立运行。 不用打开图形界面,直接命令行启动底层服务就行。
这个思路通用性很强——下次遇到类似场景(远程服务器、没有桌面环境),先看看你用的 GUI 工具底下有没有 CLI 版本。大概率有。
网络调通之后,验证 API 可达:
curl https://api.example.com/health
# 200 OK ✅OpenClaw 安装
# 跳过本地 LLM 编译(我们用云端 API)
npm install -g openclaw@latest --ignore-scripts
# 非交互式初始化
openclaw onboard --non-interactive --accept-risk安装完成。OpenClaw v2026.2.6-3。
SSH 安全加固:从裸奔到铁桶
最后一步,锁门。
原来的 SSH 配置有多离谱?用的是弱密码,而且密码登录是开着的。
加固前 vs 加固后:
| 项目 | 之前 | 之后 | |------|------|------| | 密码登录 | 开启(弱密码) | 关闭 | | Root 登录 | 允许 | 禁止 | | 允许的用户 | 所有人 | 仅管理员 | | 认证方式 | 密码 + 密钥 | 仅密钥 | | 防火墙 | 关闭 | 开启 + 隐身 | | 最大尝试次数 | 6 | 3 | | 登录超时 | 2 分钟 | 30 秒 |
现在这台机器对外不响应 ping(隐身模式),只接受密钥认证,而且只允许管理员通过 SSH 登录。Agent 用户连 SSH 都进不来。
最终状态
| 项目 | 状态 | |------|------| | 硬件 | i7 / 16GB / 1TB SSD,完全正常 | | 磁盘 | 11G 已用 / 932G 总量(2%) | | AppleSpell | 已消灭 | | 风扇 | 安静 | | SSH | 密钥认证 + 防火墙 + 隐身 | | Agent 用户 | 标准用户,Node.js 22,OpenClaw 已安装 | | 网络 | 云端 API 可达 |
一台被判了死刑的 2015 MacBook Pro,现在是我的 AI Agent 专用服务器。
Part 3:你的老电脑,可能是一座金矿
如果是三年前的我
说句实话。如果是三年前的我碰到这台电脑——风扇狂转、桌面卡死——我 100% 会直接把它挂闲鱼卖了。1500 块,爱要不要。
那时候我不会 SSH,不会命令行,不会看 CPU 进程,更不会想到去查一个叫 AppleSpell 的东西到底在干嘛。
我只会得出一个结论:老了,该换了。
但反过来,如果我是一个专业程序员呢?他碰到这个问题,大概 10 分钟就搞定了。kill 不行就 defaults write,搜一下 Stack Overflow,解决,关机,不会多想一秒。
他不会觉得这有什么值得说的。因为对他来说,这就是个小 bug。
恰好是我这种人——从"完全不懂"到"刚刚学会"——才会有这个观察角度。
不懂的人,看不到问题。太懂的人,不觉得是问题。
只有刚学会的人,才会停下来想:等一下,这不对吧?
这也是我觉得学 AI、学命令行、学 Claude Code 最大的价值——不是让你变成程序员,而是让你看见以前看不见的东西。
很多"理所当然"的事情,其实一点都不理所当然。只是你以前没有工具去验证。
三个"原来如此"
折腾完回头看,有几个事我以前想错了。
"官方不支持" ≠ "不能用"。
Node.js 22 说不支持 Catalina。我直接下载预编译版本——能跑。
很多时候,"官方不支持"只是说"我们不测试了",但底层兼容性还在。
试一下成本为零。最坏的结果是不行,你什么都没损失。
老电脑跑不动日常,但跑 AI Agent 绰绰有余。
你觉得 2015 年的电脑慢,是因为你让它跑 macOS Sonoma + Chrome 20 个标签 + 微信 + 飞书。
但如果它只跑一件事——一个 AI Agent 服务器——i7 + 16G 内存完全够用。
老电脑不是不行了,是你给它的任务太杂了。专机专用,它还能再战十年。
GUI 软件的核心引擎可以独立运行。
很多 GUI 应用不需要打开图形界面,底下的核心引擎可以直接在命令行跑。
这个发现对我冲击很大:原来漂亮的图形界面只是"壳",底下都藏着一个命令行工具。学会绕过 GUI 直接操控核心,你对电脑的控制力会完全不一样。
Vibe Coding 的力量
整个过程,我不是在"精通命令行"。我是在用 Claude Code 远程操控另一台电脑。
从一年前"不敢碰终端",到现在"用 AI 把魔爪伸向另一台电脑并且效果显著"。
这就是 Vibe Coding——你不需要精通每一条命令,但你要知道怎么让 AI 帮你执行。
我不会背 sysadminctl 的参数,但我知道跟 Claude 说"帮我创建一个不能 sudo 的标准用户",它就能搞定。
工具在变,人和电脑的关系也在变。
以前:先学命令,再操作电脑。
现在:告诉 AI "我要干嘛",它去搞定"怎么干"。
你手里可能也有一台"被判了死刑"的电脑
如果你家里也有一台吃灰的老 Mac,先别急着扔。
花 10 分钟查一下:
- 查硬件:打开"关于本机",看看 CPU、内存、硬盘。i5 + 8G 以上就有救
- 查磁盘:如果磁盘快满了,先清理。这是万恶之源
- 查 CPU:打开活动监视器,看看是不是 AppleSpell 或其他系统进程在吃 CPU
如果确认是 AppleSpell 的问题,3 条命令:
defaults write -g NSAutomaticSpellingCorrectionEnabled -bool false
defaults write -g WebAutomaticSpellingCorrectionEnabled -bool false
defaults write -g NSAllowContinuousSpellChecking -bool false然后重启。
修好以后,如果你对 AI Agent 感兴趣,可以像我一样给它装个 OpenClaw。老电脑变 AI 服务器,零成本。
至于苹果为什么这么设计——我说了,我不下结论。
但如果你也查了,也发现了同样的问题,欢迎来评论区说说你的情况。
到底有多少台"该换了"的老 Mac,其实只需要三条命令就能救活?
我很好奇。我相信你也很好奇。
我是罗老师,一个用 AI 搞事情的人。关注我,看更多"别人不会告诉你"的技术真相。
想看更多这种实战拆解?扫码加入我的知识星球,100 个 AI 实战案例源码全开放,有问必答。