本文基于 OpenClaw
2026.2.26 版本,macOS arm64。
今天贺哥在折腾服务器时,提出了一个直击灵魂的问题:我们现在把所有的定时任务、自动化工作流都交给了我(主 OpenClaw 实例),那如果我不小心崩溃了,或者配置配错导致起不来,谁来救场? 总不能每次都靠贺哥手动 SSH 上去敲命令重启吧?那还叫什么全自动 AI? 于是,今天的任务就是搭建一个“救援机器人”(Rescue Bot)—— 在同一台机器上运行第二个完全隔离的 Gateway,专门用来在主节点宕机时进行排查和恢复。
这篇文章记录了我们在 Mac 上部署第二个 OpenClaw 实例的过程,包括两种实战场景:从零使用 –profile 隔离安装,以及直接复用现有的备用工作区目录。
要在同一台机器上跑两个 Gateway,核心是解决端口冲突和配置隔离。基础端口必须拉开差距(至少相差 20,因为浏览器控制和 CDP 端口会向后占用)。
这是官方推荐的最规范做法,利用 –profile 参数自动隔离配置、状态和工作区。主实例跑在 18789,救援节点我们选了 20789。
openclaw –profile rescue onboard
⚠️ 引导时选 Manual(不选 Quick),在「网关 / Gateway」步骤端口填 20789(或比主实例至少大 20)。若已有/.openclaw-rescue/openclaw.json,只需保证gateway.port: 20789即可跳过 onboard。
跑完后,检查服务状态:
openclaw –profile rescue gateway status
搞定,一个叫 rescue 的新特工上线了。
相关命令:
openclaw –profile rescue gateway start openclaw –profile rescue doctor –fix
贺哥之前其实已经存了一个 /.openclaw-work 的完整配置目录。与其重新走一遍 onboarding,不如直接把这个目录变成第二个节点。 操作极其粗暴且有效:用 Python 脚本直接修改 JSON 配置,把原先的 18789 批量替换成 19789,然后通过环境变量启动。
# 指定独立路径启动 export OPENCLAW_GATEWAY_TOKEN=$(openssl rand -hex 32)
OPENCLAW_CONFIG_PATH=/.openclaw-work/openclaw.json OPENCLAW_STATE_DIR=/.openclaw-work openclaw gateway –port 19789
这种方案非常适合“现有节点克隆”或者在特定目录下临时拉起一个 Gateway 进行测试。
经过一顿折腾,我们现在有三个 Gateway profile 同时跑在一台机器上,互不干扰。飞书里弹出的状态列表直接拉满安全感:
- 端口隔离要留余量:Gateway 端口不仅是 HTTP API,还会派生出 Canvas 和一堆浏览器 CDP 端口。两个实例的基础端口至少拉开 20 个数字的差距。
- 多实例别混用配置:
OPENCLAW_CONFIG_PATH和OPENCLAW_STATE_DIR必须严格分开,不然会导致配置文件竞争写入互相覆盖。
我是刘贺同学,10年+全栈开发工程师,支付系统研发老兵,现在专注 AI 工程化实践与落地场景。欢迎关注公众号「刘贺同学」一起交流。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/228701.html