OpenClaw + Codex 自动化任务体系
从 数字资产清单 拆出,记录 OpenClaw 定时任务架构与管理细节。
一、架构说明
OpenClaw 本身是一个本地运行的 AI 网关,内置 cron 调度器。Codex(OpenAI CLI 工具)则是一个能在本地执行 shell 命令的 AI agent。两者组合后形成了一条”调度 → 执行 → 通知”的自动化链路:
1 | OpenClaw cron 触发 |
为什么要两层 wrapper(OpenClaw LLM → codex exec → 脚本)?
- OpenClaw 的
agentTurn本质上是让 LLM 去”理解并执行”一段指令,但 OpenClaw 自身的 LLM 并不擅长稳定地执行 shell 命令。 - 通过 wrapper 脚本桥接
codex exec,把”执行 shell”这件事交给 Codex 的沙箱环境,更可靠。 - 同时 wrapper 脚本可以做临时文件管理、错误日志截取、超时控制等”胶水”工作,让业务脚本保持纯净。
直接执行 vs. Codex 执行的选择:
| 场景 | 方式 | 说明 |
|---|---|---|
| 纯文本提醒 | systemEvent |
不需要 LLM,零模型消耗 |
| 执行脚本并通知结果 | agentTurn + codex exec wrapper |
稳定可靠,Codex 负责命令执行 |
| 需要 AI 理解和决策 | agentTurn + 直接 prompt |
如每日质量改进,需要 AI 判断做什么改动 |
二、定时任务清单
数据来源:
/Users/liwenye/.openclaw/cron/jobs.json(共 9 个任务)
2.1 监控巡检类
| 任务名 | ID | 频率 | Agent | 说明 |
|---|---|---|---|---|
| 阿里云ECS健康巡检 | 09a1842e |
每 30 分钟 | codex | SSH 探测 ECS 8 项指标,异常发 Slack 告警,恢复发恢复通知,支持指纹去重抑制 |
| OpenClaw定时任务自愈巡检 | 94386c7c |
每小时(:12) | codex | 扫描所有 cron job,发现 error 状态的任务自动排查修复,跳过自身防递归 |
巡检项(ECS): SSH 连通性、Nginx 状态、Redis 状态、API 端口 :18080、健康接口 /actuator/health、磁盘使用率、可用内存、1 分钟负载。
自愈策略: 限流(每小时最多修复 1 个任务)、熔断(连续失败达阈值后停止)、去重(同一任务不重复修复)、加锁(防并发)。
2.2 数据查询类
| 任务名 | ID | 频率 | Agent | 说明 |
|---|---|---|---|---|
| 11:30 A股查询 | 66b61d97 |
工作日 11:30 | codex | 含节假日判断,跳过非交易日 |
| 15:00 A股查询 | 75d1667d |
工作日 15:00 | codex | 收盘时段查询 |
| 每月首个交易日指数查询 | 612cdd0a |
每月 1 日 9:30 | codex | 月度指数汇总 |
| MySQL备份到本地 | 8d24819e |
每小时(:15) | main | 从阿里云 ECS 拉取 MySQL 备份到本机,含 SHA256 校验 |
A 股查询链路: OpenClaw → ashare_via_codex_cli.sh(wrapper)→ codex exec → ashare_alert_for_openclaw.sh(业务脚本)→ 结果通过 Slack announce 推送。
MySQL 备份链路: OpenClaw → mysql_backup_result_for_openclaw.sh(结果包装)→ mysql_backup_from_aliyun.sh(实际备份),输出 RESULT/FILE/SIZE/SHA256 结构化结果,delivery 设为 none(静默执行,仅在失败时需关注)。
2.3 生活提醒类
| 任务名 | ID | 频率 | Agent | 说明 |
|---|---|---|---|---|
| 房租提醒 | 8117075a |
每月 15 日 9:00 | main | 通过 Slack 推送房租支付提醒 |
| 社保卡更换提醒 | 535dcc16 |
单次(at) | main | 一次性提醒,触发后自动完成 |
2.4 工程自动化类
| 任务名 | ID | 频率 | Agent | 说明 |
|---|---|---|---|---|
| 番茄钟后端每日质量改进 | e27b30ec |
每天 2:00 | codex | AI 自主对 pomotodo 项目做小步重构,测试通过后提交并部署到服务器 |
这是最”智能”的任务——不是执行固定脚本,而是让 Codex 自己判断该做什么改进(代码重构、依赖更新、测试改进等),验证通过后自动 git commit + git push + 远程部署。
三、任务管理指南
3.1 常用运维命令
1 | # 查看所有任务 |
3.2 健康监控要点
日常关注(建议每天看一眼 Slack):
- Slack 是否有
[ECS ALERT]告警(ECS 巡检推送) - 自愈巡检是否报告了 error 任务
- A 股查询结果是否正常推送
异常排查思路:
openclaw cron list --json查看consecutiveErrors字段,>0 说明任务连续失败openclaw cron runs --id <job-id> --limit 5查看最近运行日志- 直接执行对应脚本验证:
bash /Users/liwenye/.openclaw/workspace/<script>.sh
3.3 成本注意事项
| 任务类型 | 模型消耗 | 说明 |
|---|---|---|
systemEvent(纯提醒) |
无 | 不经过 LLM |
agentTurn + codex exec(脚本执行) |
低 | OpenClaw LLM 调用 1 次 + Codex 调用 1 次 |
agentTurn(AI 自主决策) |
较高 | 如每日质量改进,Codex 需多轮推理 |
当前每日预估消耗:
- ECS 巡检:48 次/天(每 30 分钟),使用
deepseek-chat(低成本模型) - A 股查询:2 次/天(工作日)
- 自愈巡检:24 次/天
- MySQL 备份:24 次/天(但 cron 表达式为每小时,实际脚本内部控制为每 6 小时执行备份)
- 每日质量改进:1 次/天
降本方向: 对于纯脚本执行类任务(ECS 巡检、MySQL 备份),可改为系统级 launchd 定时任务直接执行脚本,仅保留 OpenClaw 作为告警消息通道,实现零模型消耗。