乐于分享
好东西不私藏

Mac mini M4(macOS)上安装 OpenClaw 最新版 + 接入飞书(Feishu/Lark) 的“保姆级”可执行(带命令、坑位处理、验证步骤)

Mac mini M4(macOS)上安装 OpenClaw 最新版 + 接入飞书(Feishu/Lark) 的“保姆级”可执行(带命令、坑位处理、验证步骤)

下面是一份 Mac mini M4(macOS)上安装 OpenClaw 最新版 + 接入飞书(Feishu/Lark) 的“保姆级”可执行教程(带命令、坑位处理、验证步骤)。我会尽量按 一次装成功 的顺序写,并把你之前踩过的 LaunchAgents 权限 / npm EACCES / feishu 插件重复 这些坑直接规避掉。

0. 开始前的“硬性前置”

0.1 安装 Xcode Command Line Tools(很多依赖需要)

xcode-select --install

(如果提示已安装就跳过)

0.2 确保你不是用 sudo 跑 npm/openclaw(避免权限污染)

你之前遇到的 EACCES / root-owned 文件,就是典型 sudo/npm 造成的。


1. 清理残留(强烈建议做一次,保证干净重装)

1.1 停掉任何 openclaw 相关进程

pkill -f openclaw || true

1.2 清掉残留 LaunchAgent(避免 Gateway 安装失败)

OpenClaw 的 macOS Gateway 会用 LaunchAgent:~/Library/LaunchAgents/ai.openclaw.gateway.plist

launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/ai.openclaw.gateway.plist 2>/dev/null || true
launchctl remove ai.openclaw.gateway 2>/dev/null || true

# 如果文件是 root 拥有(你之前就是),用 sudo 删除
sudorm-f ~/Library/LaunchAgents/ai.openclaw.gateway.plist

1.3(可选但推荐)修复 LaunchAgents 目录权限

sudochown-R"$(id -u)":"$(id -g)""$HOME/Library/LaunchAgents"
chmod700"$HOME/Library/LaunchAgents"

1.4(可选)修复 npm 缓存权限(你之前明确遇到过)

sudochown-R"$(id -u)":"$(id -g)""$HOME/.npm"2>/dev/null || true


2. 安装 Node(推荐 Node 20 LTS)+ 保证 npm 全局安装不需要 sudo

OpenClaw 的官方安装脚本会用 npm 全局安装 CLI。
你之前用 Node 25 容易遇到依赖兼容问题,因此建议固定 Node 20。

如果你用 nvm:

nvm install 20
nvm use 20
node-v
npm-v

(如果你没装 nvm,也可以用 Homebrew 装 Node,但 nvm 更稳。)


3. 安装 OpenClaw 最新版(官方推荐方式)

官方推荐一行安装脚本,会处理 Node 检测、npm 安装、并进入引导。

curl-fsSL https://openclaw.ai/install.sh | bash

安装完成后验证:

openclaw --version
which openclaw


4. 安装并启动 Gateway(macOS 必过关)

你之前“Dashboard 打不开 / ws://127.0.0.1:xxxx unreachable”的根因就是 Gateway 没装成功。
OpenClaw 在 macOS 上用 LaunchAgent 管网关,CLI 也能安装:openclaw gateway install

4.1 安装 Gateway

openclaw gateway install

如果还报 EACCES ... ai.openclaw.gateway.plist,回到第 1.2~1.3 把 root-owned plist 删除并修权限,再重跑。

4.2 启动/重启 Gateway

openclaw gateway start || true
openclaw gateway restart || true

4.3 启动 Dashboard(并验证端口真的在 LISTEN)

openclaw dashboard

它会打印类似:
Dashboard URL: http://127.0.0.1:18789/#token=...

立刻验证端口监听(把端口替换成你看到的):

lsof -nP-iTCP:18789 -sTCP:LISTEN

看到 LISTEN 输出,浏览器才一定能打开。


5. 选择模型提供方(强烈建议:先用 API Key,不走 OAuth)

你之前走 openai-codex OAuth 时遇到 unsupported_country_region_territory(403),这类 OAuth 在某些网络出口/地区会被限制;最稳的是用“API Key 方式”的模型提供方

推荐顺序

  • 优先:你已经能用的 Claude(Anthropic)Key(稳定)

  • OpenAI:用 OpenAI Platform 的 API Key(不要选 openai-codex/* 的 OAuth 流)

OpenClaw 的配置引导里如果只看到 openai-codex/*,那就先保持 Claude 作为 default model,后续再添加 OpenAI API provider(有的版本需要额外配置 provider,而不是 codex oauth)。


6. 接入飞书(Feishu/Lark)——“自然语言发消息驱动 OpenClaw”

你贴的 QuickStart 里已经能自动从 npm 下载 @openclaw/feishu 并安装到 ~/.openclaw/extensions/feishu。插件机制官方也有说明。

6.1 安装插件(两种方式,选一种)

方式 A:用引导(你现在就是这个方式)
在 QuickStart 里选择 Feishu/Lark,它会自动下载 @openclaw/feishu

方式 B:命令行安装官方插件

openclaw plugins install @openclaw/feishu
openclaw gateway restart

(安装/启用/重启网关是插件生效的常规流程。

6.2 立刻做“安全收口”:设置 plugins.allow

你之前看到过提示:plugins.allow is empty; discovered non-bundled plugins may auto-load。建议你把 allow 列表写死,只允许 feishu,降低自动加载风险(社区/issue 里也经常提到这一点)。

编辑配置文件:

nano ~/.openclaw/openclaw.json

在 plugins 部分加入(结构以你文件为准,核心是 allow):

"plugins": { "allow": ["feishu"] }

保存后:

openclaw gateway restart

6.3 飞书开放平台创建自建应用(必须做)

根据插件 README 的常见流程:

  1. 飞书开放平台创建 自建应用

  2. 开权限:im:messageim:chatcontact:user.base:readonly

  3. 事件订阅:Long Connection 模式,订阅 im.message.receive_v1

  4. 拿到 App ID / App Secret

  5. 发布应用或加入测试群 

(你之前的引导也写了这些权限范围;这是能收发消息、识别发言人的最小集合。

6.4 在本机配置飞书凭据(推荐用环境变量,避免明文落盘)

exportFEISHU_APP_ID="cli_xxx"
exportFEISHU_APP_SECRET="xxx"

想永久生效(zsh):

echo'export FEISHU_APP_ID="cli_xxx"' >> ~/.zshrc
echo'export FEISHU_APP_SECRET="xxx"' >> ~/.zshrc
source ~/.zshrc

你也可以在 QuickStart 里选 “Enter App Secret(写入配置)”,但安全角度更推荐 env。

6.5 启动并验证飞书通道

重启网关并打开 dashboard:

openclaw gateway restart
openclaw dashboard

然后在飞书里给机器人发消息(私聊或在测试群里 @它):

  • 先发:ping

  • 再发:帮我总结今天储能行业的三条关键新闻,并给出观点

如果消息进不来,优先检查:

  • 飞书应用是否加入测试群/已发布

  • 事件订阅是否启用 im.message.receive_v1,且是 Long Connection 

  • OpenClaw 是否运行、Gateway 是否在线


7. 让 AI “执行复杂任务”的最佳实践(编码 + 行业分析写作)

你要的是:用飞书自然语言 → OpenClaw → 自动写代码/跑命令/产出报告。建议你按下面方式组织:

7.1 给 OpenClaw 一个“工作区”

mkdir-p ~/openclaw-work/energy-ems
cd ~/openclaw-work/energy-ems

7.2 在 Dashboard 里启用/允许执行类工具(非常关键)

OpenClaw 的价值在于能执行动作(读写文件、跑命令)。你第一次用时通常需要在 Dashboard 里确认权限/审批项(不同版本 UI 文案会略有差异)。

7.3 用飞书下达“结构化任务”

例子(你直接复制发给机器人):

A. 写代码任务

在 ~/openclaw-work/energy-ems 新建一个 FastAPI 项目,包含:电价表、负荷/PV 预测表、SOC 状态表、策略调度接口 /run-dispatch;并提供一个 24h 仿真脚本输出 CSV。

B. 行业分析写作任务

以“2026 年工商储能盈利模式变化”为题,写一篇 1200 字公众号文章:开头 120 字摘要,正文分 5 小节,术语中英对照,最后给 10 个 SEO 关键词。


8. 安全建议(你前面已经看到“suspicious code pattern”提示)

插件提示可疑模式时,按官方建议跑深度审计:

openclaw security audit --deep


9. 故障排查速查(你最可能再遇到的 3 个坑)

9.1 Dashboard 打不开 / Gateway not reachable

先看端口监听:

lsof -nP-iTCP:18789 -sTCP:LISTEN

再跑自检:

openclaw doctor

(官方也会提示 doctor。

9.2 Gateway install EACCES(写不了 plist)

说明 ~/Library/LaunchAgents/ai.openclaw.gateway.plist 被 root 拥有或目录不可写。按第 1.2~1.3 修复即可。

9.3 Feishu 插件 duplicate id

通常是你手动装过一份、引导又装一份。处理原则:只保留一份,并写死 plugins.allow=["feishu"]


你现在如果要我“按你机器现状”一步步带你走通

你只要把下面三条命令输出贴出来(不含敏感 key),我就能告诉你下一步该点哪里/跑哪条命令,直到飞书能对话驱动:

openclaw --version
openclaw gateway status || true
ls-l ~/Library/LaunchAgents | grep-i openclaw || true

(如果 openclaw 还没装上,就先从第 2~4 步开始执行。)