OpenClaw 定时任务与无人值守运行:云端 Mac mini 上的 LaunchAgent 实战(2026)
交互演示很简单——生产自动化意味着周二 03:15 OpenClaw 要醒来,而你的笔记本盖着。在租用的 Mac mini 上,这类工作交给 launchd,通常是用与 OpenClaw 状态同一 macOS 用户运行的 LaunchAgent plist。在信任 plist 之前,请先在真实 GUI 会话里完成 macOS TCC、辅助功能与屏幕录制清单,否则无人值守任务会“成功退出”却什么也没做。这份 2026 指南对比 cron 与 LaunchAgent,揭示会破坏 HTTPS 代理的环境一致性陷阱,并给出与 安装与部署、生产工作流、故障排查与恢复 一致的日志与恢复步骤。安全基线仍在 OpenClaw 安全与密钥。
TL;DR
- 面向用户级 OpenClaw 任务使用
~/Library/LaunchAgents下的 LaunchAgents;除非你完全理解权限映射,否则避免 root cron。 - 把
HTTPS_PROXY、NO_PROXY及 API 相关环境变量镜像进 plist 的EnvironmentVariables字典——不要只写在~/.zshrc。 - 将 stdout/stderr 写到轮转文件;对非零退出码告警。
- 编辑 plist 后:
launchctl bootout gui/$(id -u)再bootstrap,避免重复守护进程。
LaunchAgent 与 cron(决策表)
| 选项 | 最适合 | 风险 |
|---|---|---|
| LaunchAgent | 带钥匙串密钥的每用户 OpenClaw CLI | plist 键拼写错误会静默失败 |
| LaunchDaemon | 多用户共享的系统级工具 | TCC 更棘手;非必需勿用 |
| cron | 调用以正确用户执行的包装脚本 | 无 GUI 会话——钥匙串提示可能卡住 |
推荐的 Plist 模式
参数保持最小:ProgramArguments 指向 OpenClaw 二进制或 shell 包装器,并显式传入配置路径。时钟计划用 StartCalendarInterval,周期轮询用 StartInterval。若厂商 API 会突发限流,配合 ThrottleInterval。
环境一致性清单
- 把交互式
printenv输出复制到临时文件。 - 用临时任务跑
env > /tmp/openclaw-agent.env,与 LaunchAgent 实际环境做 diff。 - 若依赖
/opt/homebrew/bin,对齐PATH。 - 确认
OPENCLAW_STATE_DIR指向本地 SSD——不要放在云同步的桌面文件夹。
日志与轮转
使用 StandardOutPath 与 StandardErrorPath,指向用户拥有的目录,例如 ~/Library/Logs/OpenClaw/。每周或文件约超过 100MB 时轮转。受监管团队可把 ERROR 行转发到 SIEM,但剥离模型提示。在向厂商开单前,先把异常与 部署恢复 交叉验证。
故障矩阵
| 现象 | 可能原因 | 处理 |
|---|---|---|
| 任务从不启动 | plist XML 无效或 label 错误 | plutil -lint + launchctl print gui/$(id -u) |
| LLM API 返回 401 | 无头模式缺少钥匙串解锁 | 按 VNC 指南 用一次 VNC 会话预授权密钥 |
| 重复执行 | 两个 plist label 重叠 | 删除陈旧 plist,bootout 后只 bootstrap 一次 |
五步恢复手册
- 抓取 stdout/stderr 最后 200 行。
- 按 代理 / WireGuard 文章验证网络出口。
- 对比交互 shell 与 plist 的环境差异。
- 通过
launchctl kickstart -k gui/$(id -u)/label.here重启任务。 - 在 帮助 工单中记录根因与时间戳以便支持。
常见问题
还应该用 cron 吗?
仅当最小包装能提升到正确用户上下文时。对贴近 GUI 的权限,LaunchAgent 仍是 macOS 原生默认。
为什么 HTTPS_PROXY 消失了?
LaunchAgent 不会 source shell 配置——请在 plist 或磁盘上的共享配置文件中重复变量。
日志应放在哪里?
使用 plist 的 stdout/stderr 路径放在家目录下,积极轮转,绝不记录密钥。
为何用 ProxyMac Mac mini 跑常开 OpenClaw
笔记本会睡;机房不会。专用 HK / JP / KR / SG / US mini 在稳定供电与散热下保持 LaunchAgent 存活,你仍可通过 SSH 与 VNC 人工接入。批处理窗口重叠时从 定价页 扩容。