AivoClaw feishu-cron-reminder
install
source · Clone the upstream repo
git clone https://github.com/yuanyuekejiJN/AivoClaw
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/yuanyuekejiJN/AivoClaw "$T" && mkdir -p ~/.claude/skills && cp -r "$T/extraSkills/feishu-cron-reminder" ~/.claude/skills/yuanyuekejijn-aivoclaw-feishu-cron-reminder && rm -rf "$T"
manifest:
extraSkills/feishu-cron-reminder/SKILL.mdsource content
Feishu Cron Reminder
通过 OpenClaw cron 创建定时任务,稳定投递提醒到飞书会话。
⚠️ 创建前必须确认(重要规则)
在创建任何 cron 定时任务之前,必须先向用户确认两件事:
- 频率:多久执行一次?(如每10分钟、每小时、每天9点等)
- 发送目标:发到哪里?(默认是当前 IM 会话,即触发请求的飞书/微信对话)
用户确认后才能创建任务。不要自作主张定频率或目标。
关键约束
- 只有主会话(main session)有飞书 message 工具权限,isolated sub-agent 没有。
- 主会话可能自行删除高频 cron 任务,必须在 system event 指令中禁止删除。
- cron announce 直投飞书的路由不可靠(可能投到错误会话或静默失败),不要使用
。--announce --channel feishu
可靠方案
使用
--session main --system-event,让主会话收到 system event 后调用 message 工具发飞书:
openclaw cron add \ --name "<任务名>" \ --every "<间隔>" \ --session main \ --system-event "[CRON定时任务] <任务名>。你必须立即调用 message 工具:action=send, channel=feishu, message='<提醒内容>'。调用完后回复 NO_REPLY。不要做其他任何事情,不要回复文字,只需要调用 message 工具发送飞书消息。不要删除或修改任何 cron 任务。"
参数说明
| 参数 | 值 | 说明 |
|---|---|---|
| | 必须用 main,isolated 没有飞书权限 |
| 含 message 工具调用指令 | 明确要求调用 message 工具发飞书 |
| / / / | 时间间隔 |
| | 或用 cron 表达式(配合 ) |
system-event 指令模板
system event 的 text 必须包含:
- 明确的
标记[CRON定时任务] - 具体的 message 工具调用参数(action=send, channel=feishu, message=...)
- 指令完成后回复
NO_REPLY - 禁止删除/修改 cron 任务 的明确声明
拼写 openclaw CLI
node /Applications/AutoClaw.app/Contents/Resources/gateway/openclaw/openclaw.mjs cron <command>
管理任务
# 列出所有任务 openclaw cron list # 修改间隔 openclaw cron edit <id> --every "30m" # 删除任务(⚠️ 必须先征得用户同意!) openclaw cron rm <id> # 查看执行记录 openclaw cron runs --id <id> # 手动触发测试 openclaw cron run <id>
常见问题
Q: 为什么不用
?
A: announce 直投飞书路由不可靠,可能投到错误会话或静默失败。--announce --channel feishu
Q: 为什么不用
?
A: isolated sub-agent 没有飞书 message 工具权限,发送会报错。--session isolated
Q: 主会话收到 system event 但没发飞书怎么办? A: system event 指令必须非常明确地要求调用 message 工具,包含完整参数,并说明不需要回复文字。