2026-05-13 无头租用 Mac mini 上的 OpenClaw:在 launchd、MCP 与夜间 Agent 之前完成的 SSH 首连自检清单
通过 ProxyMac 租用 Apple Silicon Mac mini、节点位于 香港、日本、韩国、新加坡、美国 的团队,往往先以 SSH 登录——尚未开 Finder 或屏幕共享——就想把 OpenClaw 直接挂到 launchd。代价最高的跳过项是缺少首连预检:你会把 MCP 超时误判为网络,却忽略磁盘压力;把「缺少 API Key」当成应用缺陷,实则是非登录 shell 未继承变量。本文给出 (1) 适用人群与完成定义,(2) 安装前必须采集的三类可量化信号,(3) 五列表预检矩阵,(4) 可粘贴到 Confluence 的七步 SSH 手册,(5) 症状→处置 对照表,并链向 安装与部署、MCP 环境与 launchd、网关令牌 JSON、launchctl 恢复。需要人工点 macOS 弹窗时用 VNC;算规格看 定价;连线路径看 帮助。
适用对象与「完成」定义
面向把 mini 当作 OpenClaw 常驻网关、承载 MCP 工具与 JSONL 可观测性的平台工程与自动化负责人。「完成」意味着冷重启后可在 90 秒 内重新 SSH 登录,LaunchAgent 无需人工再挂 ssh 会话即可拉起,且结构化日志证明模型与工具健康检查通过。若每次重启仍依赖同事手动 export,则未完成——那是推迟到 并行 Agent 峰值才会爆炸的环境债。
- 量化目标:承载 JSONL 与模型缓存的 APFS 卷保持至少 25% 可用空间;仅在计划维护窗口短暂低于 15%。
- 延迟现实:记录运维笔记本到对应区域的 RTT;若控制面 API 在另一大洲,为 MCP 超时预留 120–220 ms 量级的往返心理预期。
- 并发预算:峰值按 4 路并发 MCP 握手估算文件描述符,再宣布「网络没问题」。
运行任何安装脚本前必须拿到的三个信号
先快照 df -h 与 diskutil apfs listSnapshots /——OpenClaw 追加型日志与迁移工具留下的 APFS 快照极易相互踩踏。再打印 sysctl hw.optional.arm64 与 uname -m,确认是 arm64 Apple Silicon,避免 Rosetta 与 Node 二进制混用。第三,对比 ssh host 'command -v openclaw' 与 ssh -t host zsh -lic 'command -v openclaw';若二者不一致,你将在 MCP 环境文章 描述的同一类 launchd 故障里打转。把三组输出贴进工单,下一班同事继承的是事实而非口述。
launchctl kickstart 一轮的墙钟耗时(M4 上网关骨架宜低于 12 秒)。
预检矩阵:产物、属主、验证命令、回滚与跳过风险
| 产物 | 属主账号 | 验证 | 回滚 | 跳过后的爆炸半径 |
|---|---|---|---|---|
| 工作目录 | 与 LaunchAgent 相同 UID | ls -le ACL 审计 |
打包归档后按 install -d -o 重建 |
工具安装时出现静默半写 |
| JSONL 路径 | 独立角色用户如 _openclaw |
配额 + 轮转策略 | 备份后截断并收紧轮转 | 凌晨写入高峰撑满整卷 |
| plist ProgramArguments | 非 root 的 LaunchAgent 域 | plutil -lint 与 git diff |
launchctl bootout 后还原 plist |
启动循环吃掉 CPU 额度 |
| 模型提供商密钥 | 钥匙串或 mode 600 的文件引用 |
带超时的非交互探针 | 轮换密钥并清缓存 | 共享实验室内跨租户泄漏 |
| MCP 服务清单 | 仓库固定 SHA | 校验和 + openclaw doctor 子集 |
checkout 上一 SHA | 工具 schema 漂移打断 Agent |
七步 SSH 手册(可直接贴 Confluence)
- 存储基线:可用空间低于 25% 则拒绝继续安装;先清理或升级 SKU,参考 定价。
- 时间对齐:确认 NTP 健康;把
date -u与区域意图(HK / JP / KR / SG / US)写进配置旁注,便于跨区日志关联。 - 安装/升级 OpenClaw:按 安装指南 操作,但仅在 PATH 快照通过之后。
- 编写 plist 并写死 PATH:包含 Homebrew 的
/opt/homebrew/bin与确需的语言管理器路径——禁止依赖隐式继承。 - 双次烟测:先在 SSH 前台拉起网关,再用
launchctl kickstart跑同一参数;对比 JSONL 启动令牌行。 - 接入诊断:按 日志指南 启用 JSONL 并验证轮转,确保 48 小时 内文件不会无限增长。
- 交接:写明重启负责人、告警分级,并附 恢复文章 链接;工单附上 plist 哈希。
chmod 600,plist 验证后立刻安全删除。
症状 → 可能原因 → 首选处置(仍只用 SSH)
| 症状 | 可能原因 | 首选处置 |
|---|---|---|
| MCP 工具退出码 127 | launchd 下 PATH 被截断 | plist 写绝对路径或薄包装脚本 |
| 部署后网关空闲 CPU 95% | 紧轮询或日志写阻塞 | 检查 JSONL 卷延迟并按日志指南做轮转 |
| 仅重启后出现鉴权错误 | 令牌只存在于 shell profile | 迁入 plist EnvironmentVariables 或钥匙串,见令牌文 |
| 握手卡住约 40 秒 | DNS 或限速伪装成丢包 | 降低并行度;在 mini 上显式跑解析测试 |
何时从 SSH 升级到 VNC(以及如何保持低频)
能用描述文件、权限修复与 plist 解决的 TCC 场景尽量留在 SSH。打开 VNC 当你必须点「屏幕录制」、观察 GPU UI 自动化,或设计师无法阅读 JSONL 需要屏幕协同。会话要短:降低色彩深度、暂停大流量 scp,并结合跨区域延迟调优,保证鼠标事件可用。多数部署在 HK / JP / KR / SG / US 的 OpenClaw 机群,每代硬件通常只需 VNC 一次而非每周。
FAQ
是否必须装 Homebrew? 不必,但若文档默认它存在,请在矩阵里显式记录 PATH 假设,否则会重复同一事故。
能否全程用个人管理员账号? Demo 可以;生产应使用角色账号、受限 sudo 与明确日志属主。
企业 HTTP 代理呢? 若 SSH 已走 ProxyCommand,MCP 出口可能同样需要—先对齐企业网络族文章再归咎 OpenClaw;launchd 下完整写法见 HTTP/HTTPS 出站代理与 launchd(2026-05-14)。
为何 ProxyMac Mac mini 适合无头 OpenClaw
租用的 Mac mini M4 把 原生 macOS 与可预期的单租户 CPU 合在一起,适合 OpenClaw 编排仅苹果栈工具链,而运维仍用 Linux 笔记本。把网关放在 HK / JP / KR / SG / US 可把控制面靠近 API 区域而无需自建五地机柜。清单通过后,你延续与 CI 相同的金属经济模型:比较 定价,在 帮助中心 演练应急 SSH,把 VNC 放在口袋而非关键路径。