OpenClaw 高级使用经验 - 调用 Claude Code 最省 Token
约 2 分钟
传统方式下,OpenClaw 需要每隔几秒就轮询一次 Claude Code 的运行状态和输出内容,任务执行时间越长,轮询次数越多,Token 消耗也就越大。
利用 Claude Code 的 Hooks 回调机制,实现真正的零轮询调用:
Hook 脚本把结果写成一个 JSON 文件:
{
"session_id": "abc123",
"timestamp": "2026-02-09T14:54:27+00:00",
"cwd": "/home/ubuntu/projects/hn-scraper",
"event": "SessionEnd",
"output": "Claude Code 的完整输出内容...",
"status": "done"
}Hook 脚本调用 OpenClaw Gateway API:
curl -X POST "http://127.0.0.1:18789/api/cron/wake" \
-H "Authorization: Bearer $TOKEN" \
-d '{"text": "Claude Code 任务完成,读取 latest.json", "mode": "now"}'| 只有 latest.json | 只有 wake event | 两者配合 |
|---|---|---|
| 结果存了,但 AGI 不知道 | AGI 被叫醒了,但不知道结果细节 | AGI 立刻醒来,读文件拿完整结果 ✅ |
| 要等 heartbeat 才发现 | wake 消息长度有限(~300字) | 实时 + 完整 |
# wake event 失败不影响结果文件
curl ... || true # 失败也不报错,exit 0即使 Gateway API 挂了、token 过期、网络抖动——latest.json 依然会被写入。AGI 最迟在下次 heartbeat 时也能发现。