下面是一份 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 的常见流程:
飞书开放平台创建 自建应用
开权限:
im:message,im:chat,contact:user.base:readonly事件订阅:Long Connection 模式,订阅
im.message.receive_v1拿到 App ID / App Secret
发布应用或加入测试群
(你之前的引导也写了这些权限范围;这是能收发消息、识别发言人的最小集合。)
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 ConnectionOpenClaw 是否运行、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 步开始执行。)
夜雨聆风