字数 2122,阅读大约需 11 分钟
我把 OpenClaw 安装在 Mac 上之后,总结出了一套更稳的安全部署方案
很多人第一次接触 OpenClaw,都会有两个直觉:
第一,先装上再说。
第二,先把渠道和模型都接进去,跑起来最重要。
但真正开始部署以后,你很快会发现,OpenClaw 不是一个“装完就完”的工具。
它一头连着真实渠道,一头连着真实模型和真实工具。装得快不难,装得稳、收得住、出了问题能定位,才是难点。
这篇文章,我想把我在 MacBook Pro(Apple Silicon) 上完成 OpenClaw 本地安全部署的过程,整理成一份完整指南。目标不是“最快跑通”,而是:
• 本机运行,不对外裸露控制面 • 渠道默认收紧,只允许可信用户 • 工具权限默认最小化 • 模型接入可切换,海外不稳定时能平滑切到国内 API • 后续维护、更新、排障都有清晰路径
如果你也准备在 Mac 上部署 OpenClaw,这篇文章会比较适合你。

一份“最小安全部署清单”
如果你不想看长文,只记下面这一版:
1. 用 install-cli.sh把 OpenClaw 安装到~/.openclaw。(OpenClaw[1])2. 用 openclaw onboard --install-daemon或非交互方式完成本地初始化。(OpenClaw[2])3. 确认 Gateway 只绑定 loopback,且本地 token 认证开启。(OpenClaw[3]) 4. 把工具 profile 降到 messaging,关闭elevated,deny 掉暂时不用的高风险工具。(OpenClaw[4])5. 飞书先走 DM pairing,随后收口成 allowlist,群聊设为 disabled。(OpenClaw[5])6. 所有 API key 放进 ~/.openclaw/.env,不要硬编码,不要外泄。7. 一旦网页报错,优先用 status --deep、logs --follow和 API 直连curl排障。(OpenClaw[6])
一、先说结论:我推荐的 OpenClaw 安全部署思路
如果你是个人使用,而不是多人共用一台宿主机,我建议采用下面这套基线:
• Gateway 只绑定本机 loopback • Control UI 使用 token 认证 • 工具权限先降到 messaging• 关闭 tools.elevated• 先接私聊渠道,再接群聊 • 先保证模型稳定可用,再谈复杂工具编排
这套思路和 OpenClaw 官方安全文档是一致的:你要优先想清楚三件事——谁可以和 bot 对话、bot 可以在哪些表面行动、bot 能接触哪些工具和数据。OpenClaw 官方也明确把 loopback、本地控制面、token 认证、工具权限收紧、通道白名单这些作为关键安全边界。(OpenClaw[4])
换句话说,先收口,再扩展。
这是这套部署最重要的原则。
二、安装:Mac 上先别急着全局 npm,稳妥做法是本地前缀安装
OpenClaw 官方给了最快安装命令:
curl -fsSL https://openclaw.ai/install.sh | bash它会自动检测系统、安装 Node、安装 OpenClaw,并启动 onboarding。官方 getting started 也是这么写的。(OpenClaw[7])
但在 macOS 上,尤其你本机的 Node/npm 环境已经比较复杂时,全局 npm 安装很容易踩权限问题。
更稳妥的路线,是直接用官方的本地前缀安装器:
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --onboardinstall-cli.sh 的官方设计,就是把 Node + OpenClaw 安装到 ~/.openclaw 本地前缀,不依赖系统全局 Node,也不需要 root 权限。对于 Mac 上追求可控和可回退的部署,这条路线更稳。(OpenClaw[1])
安装完成后,先不要急着配渠道和模型。先做三项基础检查:
~/.openclaw/bin/openclaw --version
~/.openclaw/bin/openclaw gateway status
~/.openclaw/bin/openclaw doctor真正关键的是 gateway status 里的两项:
• Runtime: running• RPC probe: ok
这说明 Gateway 已经在本机正常运行,而且本地控制面通信是通的。官方排障文档也把这一步作为核心健康检查。(OpenClaw[6])
三、安全基线:先把 OpenClaw 关进一个“小房间”里
很多人装好 OpenClaw 后,第一件事是接模型。
但我更建议,第一件事先做安全收口。
1)本机绑定:只监听 127.0.0.1
OpenClaw 官方对 Gateway 的默认安全逻辑非常明确:
不允许无认证地绑定到非 loopback 地址。如果你想安全起步,就应该让它只监听本机。(OpenClaw[3])
2)认证方式:使用 token
即便 Gateway 只绑定本机,仍然建议启用 token 认证。
OpenClaw 的控制面默认就是围绕本地 Gateway + 认证进行设计的,Control UI 文档也明确围绕 token 展开。(OpenClaw[8])
3)工具权限:先用 messaging
这一步特别重要。
OpenClaw 的能力强,不代表你部署初期就应该把所有工具面开放。我的建议是:
• tools.profile = messaging• tools.elevated.enabled = false• deny 掉短期内根本不需要的高风险入口
例如:
"tools": {
"profile": "messaging",
"deny": [
"browser",
"canvas",
"gateway",
"cron",
"sessions_spawn"
],
"elevated": {
"enabled":false
}
}官方安全文档明确把 browser control exposure、elevated allowlists、开放通道工具暴露 都列为高风险点;而配置参考中,通道策略、pairing、工具 deny、分层控制也都是核心项。(OpenClaw[4])
4)用审计命令确认当前状态
~/.openclaw/bin/openclaw security audit
~/.openclaw/bin/openclaw security audit --deep如果你当前仍然是本地 loopback,没有反向代理,那么经常会看到一条类似 trusted_proxies_missing 的提醒。这个在本机模式下是可接受的,因为它本质上是在提醒你:如果以后要经反向代理暴露控制面,就需要再补 proxy 信任配置。(OpenClaw[4])
四、飞书接入:先开私聊,再关群聊,最后固化白名单
对我来说,飞书是比 QQ 更适合优先接入的渠道。
原因很简单:飞书是 OpenClaw 的官方渠道之一,而且它支持 long connection / WebSocket 事件订阅,也就是说,你不需要额外暴露公网 webhook。(OpenClaw[9])
1)先在飞书开放平台创建应用
你需要拿到:
• App ID • App Secret
然后在 OpenClaw 里运行:
~/.openclaw/bin/openclaw channels add在向导里选择 Feishu。
2)飞书后台开启长连接并订阅消息事件
至少要开启:
• Use long connection to receive events • 事件: im.message.receive_v1
这是飞书渠道能正常收到消息的前提。(OpenClaw[9])
3)默认先用 DM pairing
OpenClaw 的飞书私信默认策略是 dmPolicy: "pairing":
未知用户先收到一个 pairing code,批准后才能正式对话。官方中文文档也明确说明了这套流程。(OpenClaw[5])
你在飞书里第一次给机器人发私信,机器人会回一个配对码。
然后在终端批准:
~/.openclaw/bin/openclaw pairing approve feishu 配对码注意,这里的 <配对码> 只是文档占位符,终端里不要带尖括号。
另外,pairing code 默认 1 小时过期。(OpenClaw[5])
4)配对成功后,不要长期停留在 pairing 模式
如果是个人长期使用,我更建议把飞书 DM 固化成白名单,只允许自己的 open_id:
"channels": {
"feishu": {
"dmPolicy": "allowlist",
"allowFrom": ["你的_open_id"],
"groupPolicy": "disabled"
}
}为什么要这样做?
因为 pairing 适合首次引导,但不适合作为长期暴露面。
更安全的长期状态应该是:
• 私聊:只允许一个明确的 open_id• 群聊: disabled
OpenClaw 飞书文档里对 groupPolicy 的定义非常清楚:
"open" 允许群里所有人,"allowlist" 只允许白名单群,"disabled" 则彻底禁用群消息。(OpenClaw[9])
5)飞书文档工具也要按需关闭
很多人忽略了这一步。
当你启用飞书文档相关工具时,OpenClaw 的安全审计会提醒:文档创建动作可能给发起请求的用户授予文档权限。
如果你当前只想用飞书做聊天入口,不需要 bot 创建云文档,那就直接关闭:
"channels": {
"feishu": {
"tools": {
"doc":false
}
}
}这类提醒不是说系统已经不安全,而是在提示你:有一条额外的权限扩散面正在存在。能不用,就先关掉。(OpenClaw[4])
五、我认为最值得记住的两个经验
经验一:OpenClaw 不是“先接一切再慢慢收”
正确顺序应该是:
先本机闭环,再工具收紧,再渠道白名单,最后才是模型扩展。
经验二:安装方式决定后续维护难度
在 macOS 上,install-cli.sh 这种本地前缀安装,比为了图快去折腾全局 npm 更稳。
尤其当你本机已经有 Conda、mamba、Node、zsh 补全等环境时,这一点非常明显。(OpenClaw[1])
OpenClaw 自定义 proider 的设计,恰好给了这条路。
引用链接
[1] OpenClaw: https://docs.openclaw.ai/install/installer?utm_source=chatgpt.com[2] OpenClaw: https://docs.openclaw.ai/start/getting-started?utm_source=chatgpt.com[3] OpenClaw: https://docs.openclaw.ai/cli/gateway?utm_source=chatgpt.com[4] OpenClaw: https://docs.openclaw.ai/gateway/security?utm_source=chatgpt.com[5] OpenClaw: https://docs.openclaw.ai/zh-CN/channels/feishu?utm_source=chatgpt.com[6] OpenClaw: https://docs.openclaw.ai/gateway/troubleshooting?utm_source=chatgpt.com[7] OpenClaw: https://docs.openclaw.ai/install?utm_source=chatgpt.com[8] OpenClaw: https://docs.openclaw.ai/web/control-ui?utm_source=chatgpt.com[9] OpenClaw: https://docs.openclaw.ai/channels/feishu?utm_source=chatgpt.com
夜雨聆风