痛点拆解:① 系统与缓存同盘,Time Machine 快照与日志抢空间;② 多任务共写默认缓存根,易出现锁与部分写入;③ 白天全量清理打断推理——清理策略必须与业务时间窗对齐。
前置条件与环境分区
安装 / 配置(可复现):① 固定 Node 与 OpenClaw CLI 版本并写入 runbook;② df -h 确认系统卷与数据卷分离;③ 在 shell 与 LaunchAgent 的 EnvironmentVariables 中同时注入 TMPDIR、代理与 CA,避免「终端有、守护进程无」。
mkdir -p "$TMPDIR" && chmod 700 "$TMPDIR"
缓存路径与分层方案
决策矩阵(目录结构选型):先定形态再动手。
| 方案 | 适用场景 | 主要风险 / 对策 |
|---|---|---|
| 单层默认目录 | 单人轻量试用 | 易占满系统盘 → 至少迁 TMPDIR |
| 数据卷分层 + symlink | 生产 / 共享 远程 Mac(推荐) | 链接断裂 → 巡检 readlink 与告警 |
| 网络卷(NAS) | 多机共用同一缓存 | 延迟与文件锁 → 评估 SMB/NFS 与单写者策略 |
在大盘建立 /Volumes/Data/openclaw-cache/{hot,warm,archive}(可按模型族再分子目录)。将应用默认缓存路径用 symlink 指到数据卷:先移动已有目录,再执行 ln -sfn /Volumes/Data/openclaw-cache/hot ~/Library/.../默认缓存名。运行步骤:停网关 → 迁数据 → 建链 → 启网关 → 拉取一小模型校验路径命中。
定时清理与日志轮转
用 LaunchAgent 的 StartCalendarInterval 或 cron 仅在低峰窗口执行清理(示例:每日 03:30~05:00,避开你方业务高峰)。脚本开头 flock -n 防重入;配合 newsyslog 或按大小轮转清理日志,避免二次占盘。
| 调度方式 | 时间窗建议 | 注意 |
|---|---|---|
| LaunchAgent | 凌晨单点触发 + ThrottleInterval |
用户登录域与 launchd 环境变量一致 |
| cron | 30 3 * * * 类固定槽位 |
PATH 写绝对路径;邮件或日志收集退出码 |
配额与磁盘水位阈值
| 对象 | 告警 / 熔断 | 自动化动作 |
|---|---|---|
| 系统卷 | ≤15% 告警 / <10% 拒绝新拉取 | 通知 + 暂停调度新任务 |
| 模型缓存卷 | ≤20% 告警 / <12% LRU 清理 | 按最近访问时间删 archive 层 |
可选:对单目录做 du -sk 配额脚本,超阈先发告警再异步删。
失败重试与排错
拉取失败用指数退避(如 10s / 30s / 90s)并保留断点;常见报错:ENOENT / 模型找不到→ 查 symlink 是否断裂;No space left→ 看 df -i 与 APFS 快照;EBUSY→ lsof 找占用。与 OpenClaw 失败恢复与重试 一文对照网关与 CLI 日志字段。
上线验收清单
- df 阈值脚本 与告警渠道已接通(邮件/Webhook)。
- 清理窗 内无在线推理任务或已加排他锁。
- symlink 目标存在且权限与属主正确。
- 清理与网关日志可检索,保留至少 7 天。
- 演练一次「磁盘触底」只读保护或拒绝新拉取。
总结与购买引导
总结:OpenClaw 在远程 Mac上的稳定性,一半在网关与网络,另一半在模型缓存与清理策略是否可预测。按分层目录、symlink、低峰自动化与磁盘水位阈值落实后,拉取与推理才能长期可复现。下一步:打开 帮助中心 看连接与使用说明,到 定价页 与 购买页(均免登录)选型扩容;产品概览见 MacPull 首页,更多 OpenClaw 实践请回 博客列表。