2026 OpenClaw 租用 Mac Mini 实战
通过 GitHub API 编排夜间批处理链、幂等检查点与退避告警(突出 workflow_dispatch)
🌙⚙️ 七乘二十四租用 Mac Mini跑 OpenClaw 的团队,常把重活丢给 GitHub Actions,却不想把夜窗时钟再交给云端 YAML 的 on.schedule。本文给一套最小可复现编排:租机侧 cron 或 launchd调用 GitHub REST 的 workflow_dispatch,配合令牌最小权限、幂等检查点、失败 Webhook与限流退避。与GitLab 定时流水线刻意不同构:入口是 dispatch 而非平台内置周期任务。延伸阅读OpenClaw 安装指南、调度与队列矩阵、Cron 扇出与健康 Webhook;需要节点时走公开购买页可免登录下单。
痛点拆解
- 经典 PAT 过宽:泄露后跨仓甚至跨组织可操作,审计难收口。
- 双时钟:云端 schedule 与租机维护窗错位,夜批与人工会话抢资源。
- 重复入队:网络重试导致多次 dispatch,下游 Actions 无并发闸口时双跑账单。
定时入口决策矩阵(为何押注 workflow_dispatch)
| 模式 | 时钟归属 | 与 OpenClaw 协同 | 备注 |
|---|---|---|---|
| YAML on.schedule | GitHub | 弱:维护窗在租机 | 易与平台限流政策绑定 |
| 租机 POST dispatch | Mac 托管 | 强:同一时区与 plist | 本文主路径 |
| GitLab Scheduled | GitLab | 中 | 见对比文,非 GitHub |
令牌最小权限
优先 Fine-grained PAT:作用域单仓库,权限仅保留触发所需的 Contents 读与 Actions 写工作流(能少则少)。密钥文件 chmod 600,日志只留前缀。轮换用双钥短暂重叠。勿把 PAT 放进 OpenClaw 技能可读的共享目录。
cron/launchd 触发
七乘二十四租机选低谷窗:launchd StartCalendarInterval(推荐,StandardOutPath 落日志)或 cron 调薄脚本。POST …/workflows/{file}.yml/dispatches,体含 ref 与 inputs(chain_id、resume_from)。头带 Accept: application/vnd.github+json 与 X-GitHub-Api-Version。失败非零退出,配合 ThrottleInterval 与退避。
幂等检查点
租机 NVMe 写 JSON 检查点:chain_id、UTC run_date、段序号、commit SHA、末次 dispatch id。POST 前原子建 .lock;同日同链已成功则零退出。workflow 设 concurrency 为 ${{ github.workflow }}-${{ inputs.chain_id }} 防叠跑。重跑透传 resume_from 对齐 Actions 与 OpenClaw。
失败 Webhook
在仓库设置中启用 workflow_run Webhook(或经组织级路由),过滤 conclusion 为 failure 或 cancelled 的事件,向值班系统投递带 HMAC 签名的最小 JSON:仓库、工作流文件名、chain_id、运行 URL、耗时。租机脚本遇 429 读取 Retry-After 睡眠再试;502/503 用指数退避加抖动并设最多五次,超过则写本地 dead-letter.json 并触发降级告警,避免盲冲耗尽夜窗 CPU。成功路径可将 Webhook 与 OpenClaw 状态文件对账,形成可审计闭环。
落地步骤(≥5 步勾选)
- 新建
night-chain.yml,on仅 workflow_dispatch 与 inputs,删除 schedule。 - 签发 Fine-grained PAT,写入租机密钥文件并限制属主读。
- 编写 dispatch 薄脚本与 launchd plist,接入日志轮转路径。
- 实现检查点与锁文件;仓库加 concurrency 闸口。
- 配置 workflow_run Webhook 与签名_secret;联调一次失败演练。
- 将 429/5xx 退避参数写入脚本常量并在 README 公示。
可引用闸口
- 并发组:每链一路并发,防双跑。
- 退避封顶:单次夜窗脚本总重试时长建议不超过十五分钟。
- 检查点保留:至少保留十四天滚动,便于跨周末复盘。
总结与购买引导
把时钟与幂等放回七乘二十四租机,把计算与制品留给 GitHub Actions,是本文与 GitLab 定时文的最大差异。需要稳定苹果硅与磁盘以承载 OpenClaw 与 launchd 时,打开首页、定价,用免登录公开购买页下单;连机说明见帮助中心,更多实践见OpenClaw 专栏与博客列表。
选择你的 Mac 节点与访问方式
在托管 Mac Mini 上跑 OpenClaw 与 GitHub dispatch 夜批编排。套餐、免登录购买、SSH/VNC 指南、OpenClaw 专栏。