AI 自动化 无头部署 2026

2026 OpenClaw 无头云 Mac mini M4 首次安装:安装器、launchd 与 18789 端口冲突

ZV
ZoneVM 技术团队
2026-03-28 约 16 分钟

在租用的无头 Mac mini M4 上首次安装 OpenClaw,常见失败来自误用图形化引导、Homebrew 交互卡住、默认网关端口与旧实验服务冲突,或 launchd plist 落在错误的用户作用域。 本文面向仅通过 SSH 管理的云主机:Apple Silicon M4、10 核 CPU、16GB 统一内存、1Gbps 网络。你将获得前置检查清单、安装器与手工 Node 路径对比表、可复现的九步流程(含守护进程)、首装阶段的症状—对策矩阵,以及可贴进工单的 FAQ。安装完成后,若需跟随 semver 升级,请继续阅读 网关升级切换

粘贴安装脚本前先确认的四件事

  • 运行用户:网关跑在主 SSH 用户还是专用自动化账户?不同用户的 launchd 标签不可冲突。
  • Node 基线:2026 年安装路径普遍要求 Node 22+,先用 node -v 自检。
  • 端口占用:文档默认 TCP 18789;共享实验机最常在这里撞车。
  • 密钥落点:API Key 在 shell profile、launchd 环境变量还是外部保管库?混用会出现「SSH 里能用、守护进程 401」。

跳转主机转发 agent 前,可先扫一眼 帮助中心 的 SSH 说明。

安装器脚本 vs 手工 Node:共享云 Mac 上的取舍

路径 适用 无头场景注意 2026 建议
官方 curl 安装 希望 CLI+守护一次到位 可能触发 Homebrew;需非交互或预装 brew ZoneVM 新机默认首选
fnm/nvm 手工 Node 安全要求锁定补丁版本 launchd 必须引用与 shell 相同的二进制路径 金融/合规团队常用
离线 tarball + 全局 npm 镜像内网同步 升级手工,易在多机漂移 配合配置管理使用

仅 SSH 场景的九步首装流程

  1. 登录并快照:记录 sw_versuname -m,用 lsof -iTCP:18789 -sTCP:LISTEN 看端口。
  2. 准备 Node 22+:若用 fnm,记下将写入 plist 的绝对路径。
  3. 执行厂商安装器:按上游文档使用适合无人值守的标志位;除非手册要求,避免盲目 sudo。
  4. 跑 onboarding:通过环境变量注入模型厂商密钥,勿把密钥写进可被 git 追踪的工作区。
  5. 安装守护进程:使用 --install-daemon 一类参数;确认 plist 位于 ~/Library/LaunchAgents/ 用户级目录。
  6. 加载并验证:按文档使用 launchctl 启停;用 launchctl print 看退出码。
  7. 本机健康检查:先在 localhost 用 curl 探活,再放开更大范围访问。
  8. 有意识的暴露:若跨区访问,前置 TLS 与白名单,勿把无鉴权面板绑到 0.0.0.0。
  9. 记录回滚包:~/.openclaw(或文档指定的配置根)打 tarball,并在变更单记录 SHA256。

引导阶段若需看一眼浏览器技能,可短时开 VNC,而不是长期打开完整远程桌面。

症状矩阵:首装阶段高频故障

现象 可能原因 处理顺序
18789 address already in use 僵尸进程或其它服务占用 停冲突任务;若必须共存,同时改配置与 plist 绑定端口
守护进程起得来,外网健康失败 只监听 localhost 按厂商说明调整监听地址,再从另一台机器 curl
登出后失效 以前台 shell 跑网关 重装守护并确认开机加载
模型调用 401 密钥只在 shell,不在 launchd 把 EnvironmentVariables 写进 plist 或改密钥文件路径

16GB 统一内存下的并发护栏

浏览器技能与本地嵌入并行时容易顶满内存。若同机还有人跑 Xcode,建议为并行技能设上限并保留约 4GB 余量。10 核 M4 算力通常够用,但内存触 swap 会让 SSH「像死机」——首周浸泡测试时请观察 memory_pressure

网络与区域:安装阶段也别忽视

首次安装时,Node 压缩包、模型 SDK、浏览器自动化依赖的下载速度仍受云 Mac 区域影响。若 npm 与 git 远端偏亚太,东京侧主机往往比美东更快完成安装——可与 依赖仓就近选区 的测量方法对照。装好以后,Webhook 消费端若在另一大洲,需要 TLS 终结靠近用户或区域反代;1Gbps 网口利于批量制品同步,但无法消除光速 RTT。

  1. 记录安装耗时与流量:写入内部 runbook。
  2. 固化 DNS 配置:分裂解析会在重启后让健康检查误报。
  3. 列出出站域名:一次性交给安全团队放行。
  4. 双端验证:本机 curl + 开发者笔记本沿生产路径复测。
  5. 72 小时浸泡:合成探针跑满再标生产。

与运维/安全协同的审计要点

首装验收单里建议单列「谁能在何时读取密钥」:launchd 进程的 euid、plist 文件权限(常见应为 600)、工作区目录是否对同机其他用户可读。若启用系统完整性相关提示,请截屏附在变更单,避免后续排障时争论「当时点了没有」。若使用共享云 Mac,应在变更记录里写明网关监听地址从 127.0.0.1 调整到内网网段的具体 CIDR,以及防火墙放行端口是否仅限跳板机网段。模型厂商的 API 往往有按日调用上限,首周把 429 响应率与重试退避策略写进 on-call 手册,避免把「配额耗尽」误判成安装失败。磁盘方面,浏览器技能缓存与日志默认落在用户目录,定期清理或轮转应纳入同一 runbook,否则 16GB 内存虽未报警,SSD 也可能被 trace 写满影响 launchd 重启速度。

FAQ

  • 能多实例吗?端口与 plist 标签必须唯一,避免争用同一工作区路径。
  • 要在 tmux 里装吗?建议——SSH 断开不应截断长时间下载。
  • 升级有何不同?首装不走迁移逻辑;生产 semver 跳跃请走升级专文。

为何 2026 年仍推荐在 ZoneVM 的 Mac mini M4 上跑 OpenClaw

M4 在常驻 launchd 场景下 idle 功耗低,适合秒级响应的 webhook 技能。10 核与 16GB 统一内存允许网关与轻量 CI 钩子、日志尾随共存,偶尔归档也不抢核心。原生 macOS 让钥匙串与浏览器自动化路径与笔记本一致,缩小环境差。香港、日本、韩国、美国节点可把网关放在用户或注册表更近的一侧;1Gbps 利于大流量同步。通过 定价页 租用 Mac mini M4,可把「黄金 plist + Node 路径」克隆到第二台 staging,九步清单跑通两遍再晋升,首装从玄学变例行演练。

在干净云 Mac 上完成首次 OpenClaw 安装

租用无头 Mac mini M4,按九步清单执行,再把镜像化的配置克隆给团队。

OpenClaw 首装

launchd · 18789 · M4

套餐