问题描述

设置"1分钟后提醒喝茶",但一直没有收到提醒。

原因分析

最开始,openclaw使用 ❌ exec background 执行了 sleep && echo
效果:只在服务器本地打印,不会发送消息到 Feishu

✅ 正确方法:使用 OpenClaw 的定时任务功能,而且不少坑,折腾了1天,总算可以了:

将这段代码提示完整复制,写入你的agent.md中:

## 所有定时提醒都用cron,(飞书)正确写法:
openclaw cron add \
  --name "提醒名称" \
  --at "10s" \
  --message "提醒内容" \
  --announce \
  --to "user:<当前session的open_id>" \
  --account <account_id> \
  --timeout-seconds 30

**关键点:**
- `--to "user:<当前session的open_id>"`:目标用户
- `--account <account_id>`:必须与当前`session`使用的飞书应用一致(如 coder)
- `--announce`:将结果发送到聊天
- ⚠️ **重要**:open_id 是飞书应用级别的,必须使用同一个应用的 account_id,否则会报 "open_id cross app" 错误(99992361)

目前这个参数仍有bug:--session current ,在其它session中加入参数仍然会拿到mainsession,看起来就像是,一个陌生人突然知道了你叫刚哥(其实不是),因此不加这个参数

查看定时任务

openclaw cron list

参考资料:

找到原因了。看 cron 运行日志:
原因是 cron 任务跑在隔离的 agent session 里(session key 显示是 agent:main:cron:...),那个 session 继承了主 agent 的 workspace 上下文。模型拿到"该喝茶了"这个简单的 prompt 后,自己"发挥"了一下——加上了"刚哥"(可能是从主 agent 的历史对话里推断的)和关于喝茶的建议。
简单说:模型把你的简单消息当成了创作 prompt,自己加了料。

有更好方法的朋友请评论区灌水

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐