记一次与 Homebrew、配置文件、API Key 斗智斗勇的 24 小时
📝 写在前面
我只是想有一个完全私密的本地 AI,不用付费、不用联网、不用担心数据泄露。结果这一路……怎么说呢,踩坑比聊天还多。
如果你也在 Mac 上折腾 OpenClaw 和 Ollama,这篇文章就是为你准备的——所有我遇到的坑,以及怎么爬出来的。
💻 我的环境
-
• 设备:MacBook Air M2 -
• 内存:24GB
-
• 目标:OpenClaw + Ollama + Qwen 3 8B,全部本地运行
🕳️ 坑 1:Homebrew 安装 Ollama 直接报错
❌ 错误信息
$ brew install ollama
Error: Cask 'ollama' definition is invalid: 'conflicts_with' stanza failed with: Unknown key: :formula. Valid keys are: :cask
🔍 排查过程
-
1. 尝试 brew update→ 清华镜像源 502 -
2. 换中科大源 → 继续报错 -
3. 尝试 brew update-reset→ 没用 -
4. 尝试 brew upgrade --force→ 还是没用
✅ 最终解决
直接放弃 Homebrew,官网下载安装包:
-
1. 访问 ollama.com/download -
2. 下载 macOS 版,拖进「应用程序」 -
3. 菜单栏出现小羊驼图标 ✅
教训:有时候绕过问题比解决问题更快。
🕳️ 坑 2:OpenClaw Gateway 启动失败
❌ 错误信息
$ openclaw gateway status
Runtime: running (pid 14341)
Gateway port 18789 is not listening
Last gateway error: Gateway start blocked: set gateway.mode=local (current: unset)
🔍 排查过程
-
1. 尝试 openclaw doctor --repair→ 部分修复 -
2. 查看官方文档 → 提到需要设置 gateway.mode -
3. 手动编辑配置文件 ~/.openclaw/openclaw.json
✅ 最终解决
在 gateway 配置中添加 "mode": "local":
"gateway": {
"mode": "local",
"auth": {
"mode": "token",
"token": "已有的token"
}
}
然后重启:
openclaw gateway stop
openclaw gateway start
openclaw gateway status # 这次 RPC probe: ok ✅
教训:OpenClaw 默认模式可能不是 local,需要手动指定。
🕳️ 坑 3:添加 host 配置导致 Invalid config
❌ 错误信息
Config invalid
Problem: gateway: Unrecognized key: "host"
🔍 排查过程
-
1. 按照网上教程,在 gateway里加了"host": "127.0.0.1", "port": 18789 -
2. OpenClaw 直接不认
✅ 最终解决
删除 host 和 port,只保留 mode 和 auth。原来 OpenClaw 会自动绑定默认地址和端口,不需要手动指定。
教训:不要乱加文档里没写的配置项。
🕳️ 坑 4:Agent 报错 "No API key found for provider 'anthropic'"
❌ 错误信息
⚠️ Agent failed before reply: No API key found for provider "anthropic"
🔍 排查过程
-
1. 明明用的是本地 Ollama,为什么去找 Anthropic? -
2. 查看 ~/.openclaw/agents/main/agent/config.json -
3. 发现 model 配置里还残留着 "authProvider": "anthropic"
✅ 最终解决
手动修改 agent 配置:
"model": {
"provider": "ollama",
"name": "qwen3:8b",
"baseUrl": "http://127.0.0.1:11434/v1"
}
删除所有 "auth" 相关字段。
更好的方法:直接重新运行 onboard 向导,选择 Custom Provider:
openclaw onboard --force
# 选 Custom Provider
# 输入 http://127.0.0.1:11434/v1
# 输入 qwen3:8b
# 通道选 Skip for now
教训:onboard 向导比手动改配置靠谱。
🕳️ 坑 5:Telegram 通道疯狂报错
❌ 错误信息
08:34:00 error gateway/channels/telegram
telegram setMyCommands failed: Network request failed
🔍 排查过程
-
1. 明明跳过了 Telegram 配置,为什么还在尝试连接? -
2. 查看 agent 配置,发现 "channels"字段还在
✅ 最终解决
手动删除 channels 配置:
编辑 ~/.openclaw/agents/main/agent/config.json,找到:
"channels": {
"telegram": { ... }
}
要么删掉整个 "channels",要么改成 "channels": {}。
教训:Skip 不代表彻底清除,有时候需要手动清理。
🕳️ 坑 6:连上后报 "connection refused"
❌ 错误信息
Post "http://127.0.0.1:11434/api/show": dial tcp 127.0.0.1:11434: connect: connection refused
🔍 排查过程
-
1. OpenClaw 说连不上 Ollama -
2. 检查 Ollama 是否运行 → 菜单栏没图标 -
3. 原来不知道什么时候把 Ollama 退出了
✅ 最终解决
# 重新启动 Ollama
open 应用程序里打开 Ollama.app
# 或者用命令行
brew services start ollama
然后验证:
curl http://localhost:11434/api/tags
# 返回 JSON 说明正常
教训:Ollama 不会自动开机启动,需要手动确保它在后台。
🎯 最终成果
折腾了整整一天,终于跑起来了!
$ openclaw gateway status
Runtime: running (pid 18321)
RPC probe: ok
Dashboard: http://127.0.0.1:18789/
打开浏览器,发送第一条消息:
我:你好,请介绍一下自己
AI:我是 Qwen 3 8B,一个本地运行的 AI 模型……
那一刻,所有坑都值了。
📊 踩坑统计
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
|
mode: local |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
总计:约 5 小时,其中 4 小时在踩坑,1 小时在享受成功 🎉
💡 给后来者的建议
-
1. 不要死磕 Homebrew:官网下载往往更省心 -
2. onboard 向导 > 手动改配置:尤其是第一次 -
3. 遇到不认识的关键字,先查文档:比如 host就是我自己加戏 -
4. 确保 Ollama 一直运行:否则 OpenClaw 连不上 -
5. 跳过 Telegram 要彻底:否则日志会一直报错 -
6. M2 24G 跑 qwen3:8b 不流畅:11 tokens/秒
🎉 现在能做什么
-
• 💬 完全私密的 AI 聊天 -
• 🧩 安装技能(文件处理、网页浏览、命令执行) -
• ⏰ 设置自动化任务 -
• 🌐 以后可以接 Telegram/Discord
📝 最后
如果你也在 Mac 上折腾 OpenClaw 和 Ollama,遇到和我一样的坑,希望这篇文章能帮你省下 5 小时。
毕竟,折腾不是目的,用上才是。


