这不是一个“只会发消息”的机器人,而是一条完整的 OpenClaw 自动化链路。真正让它有价值的地方,是通过飞书官方插件读取了个人飞书任务和个人飞书日历。
通过这套逻辑,你之后也可以按照这种方式复刻,制作个性化、适合你的工作或生活场景的相关定时任务。
如果你想做一个“每天早上自动汇总信息,再发给自己”的助手,这篇可以直接当示例看。
这套方案的关键,不只是“定时发消息”,而是 OpenClaw + 飞书官方插件 的组合。
普通消息机器人,通常只能发消息,或者只能读到机器人自己可见的内容。但借助飞书官方插件提供的用户权限能力,可以进一步读取:
这就让“秘书早报”不再只是一个天气播报器,而是能真正汇总个人工作安排的晨间助手。
一 这套方案的核心是什么
一句话概括:
OpenClaw 负责调度、编排和执行;飞书官方插件负责读取用户侧的飞书任务和飞书日历;最后再把结果发回飞书。
完整链路大致是这样:
flowchart TD
A[定时触发] --> B[执行任务文档]
B --> C[读取天气 / Apple 待办 / Apple 日历]
C --> D[读取飞书任务 / 飞书日历]
D --> E[筛选、合并、排序]
E --> F[生成飞书 interactive card]
F --> G[发送给指定用户]
这里真正拉开差距的点,是这一句:
使用飞书官方插件,才能以用户权限读取个人飞书任务和个人飞书日历。
如果没有这一层,很多“秘书早报”最后只能停留在天气、本地待办和本地日历,进不到飞书个人工作流的核心数据里。
二 过程简述
[ol]
[/ol]
这样,一份真正能用的“秘书早报”就搭起来了。
三 逻辑拆分:适合放进文档里的方案拆分
这套“秘书早报”建议拆成三部分来看。
1. 任务文档
任务文档负责定义:
它相当于“执行说明书”。
2. 调度方式
调度方式负责定义:
它相当于“定时开工的闹钟”。
3. 平台能力
平台能力负责解决:
这一层就是 OpenClaw + 飞书官方插件 的价值所在。
四 任务文档示例
建议把任务文档放到:
~/.openclaw/workspace/tasks/secretary-daily-brief.md
下面是一份适合直接复刻的示例。
## 秘书早报任务
### 目标
每天早上生成并发送一份“秘书早报”。
要求:
- 内容自然、清楚、简洁
- 不写成系统日志
- 优先使用已有 skill 和内置工具
- 最终通过飞书 interactive card 发送
- 如果任务内部已经成功发送,最终只输出:`ANNOUNCE_SKIP`
- 如果失败,输出明确错误原因
---
## 1. 先做的事情
1. 阅读 `SOUL.md`
2. 阅读 `MEMORY.md`
3. 阅读 `memory/memory.md`(如果没有,可以删掉这一项)
4. 读取昨天的 `memory/daily/.md`
---
## 2. 数据来源
### A. 天气(使用 `weather` 这个 skill )
位置固定:上海 xxxx (可以具体到某个区、某个镇)
要求:
- 获取天气现象
- 获取温度范围
- 如果有明显天气变化(如下雨、降温、大风),补一句提醒
### B. Apple Reminders (使用 `apple-reminders` 这个 skill )
要求:
- 至少获取 overdue 和 today
- 只保留真正值得今天关注的事项
### C. Apple Calendar (使用 AppleScript 实现)
要求:
- 获取今天日程
- 按时间顺序展示
### D. 飞书 Tasks (使用 feishu plugin 内部实现)
要求:
- 获取逾期任务
- 获取今日相关任务
- 获取未完成且今天值得关注的任务
注意:
- 这里依赖飞书官方插件提供的用户权限能力
- 不要编造飞书任务数据
### E. 飞书 Calendar (使用 feishu plugin 内部实现)
要求:
- 获取今天的飞书日程
- 如当天后续还有关键日程,可按时间顺序展示
注意:
- 这里依赖飞书官方插件提供的用户权限能力
- 不要编造飞书日历数据
### F. 昨日未完成事项
读取昨天的 `memory/daily/.md`,判断是否存在:
- 明确说了“继续 / 明天做 / 待明日继续”
- 做到一半但没有结果
- 卡住了,还没收口
- 今天仍值得跟进的明确待办
最多提醒 1-3 条高价值内容。
---
## 3. 汇总逻辑
按优先级整理:
1. 今天天气
2. 逾期事项
3. 今日事项
4. 今日日程
5. 昨日未完事项提醒
规则:
- 相似项合并表达
- 不机械重复
- 没内容的模块直接省略
- 不要输出“暂无 / 无 / 未获取到”这种占位
- 不要露出 open_id 、内部技术 ID
---
## 4. 输出风格
要求:
- 中文
- 自然、清楚、简洁
- 像靠谱秘书发来的晨间提醒
- 不要 AI 腔
- 不要写成系统日志
---
## 5. 发送方式
必须通过飞书标准 interactive card 发送。
要求:
- 真正的飞书卡片 JSON
- 不是普通文本伪装成卡片
- 空模块直接省略
- 一屏内尽量看完重点
如果已经成功发送飞书卡片,则任务最后只输出:
`ANNOUNCE_SKIP`
---
## 6. 执行方式
默认由执行它的 agent 自主完成。
如果任务较复杂,可使用 subagent 执行。
优先复用已有 skill / 原生工具,不要绕远路实现。
五 cron 任务描述怎么写
这里有一个很好用的经验:cron 描述不要写得太重。
不要把一大堆执行细节都塞进 cron prompt 里。更好的方式是:
推荐写法:
按 ~/.openclaw/workspace/tasks/secretary-daily-brief.md 执行任务;成功仅输出 ANNOUNCE_SKIP ;失败输出错误原因。
这个描述短,但够用。任务逻辑后面要改,改任务文档就行,不用反复改 cron 描述。
六 怎么新建这个 cron 任务
方式 A:直接用 OpenClaw 的 cron 命令创建(不推荐)
这是最标准的做法。
openclaw cron add \
--schedule "0 8 * * *" \
--prompt "按 ~/.openclaw/workspace/tasks/secretary-daily-brief.md 执行任务;成功仅输出 ANNOUNCE_SKIP ;失败输出错误原因。" \
--thinking low
参数含义:
如果后面要调整时间、提示词或参数,可以再用 openclaw cron edit 修改。
方式 B:不手建 cron ,直接让 agent 帮你创建(推荐)
这对很多人更友好。你不一定要自己记命令,可以直接给 agent 一个明确提示词,让它代你完成。
请帮我创建一个 OpenClaw cron 任务:
- 名称:秘书早报
- 执行时间:每天早上 8 点( Asia/Shanghai )
- 执行内容:按 ~/.openclaw/workspace/tasks/secretary-daily-brief.md 执行任务;成功仅输出 ANNOUNCE_SKIP ;失败输出错误原因。
- thinking: low
如果已有同名任务,就更新它,不要重复创建。
创建完成后,把任务 ID 和最终的 cron 配置回给我。
这个方式的好处是:
七 为什么这里必须强调“飞书官方插件”
这一点一定要单独讲清楚。
很多人看到“飞书集成”,会以为只是“能往飞书发消息”。但这个方案真正重要的,不只是发消息,而是:
读取用户自己的飞书任务和飞书日历。
而这一点,依赖的是飞书官方插件提供的用户权限能力。
也就是说:
所以这套方案的亮点,其实是:
OpenClaw 负责编排和执行,飞书官方插件负责把个人飞书任务与飞书日历接进来。
这是“秘书早报”真正有用的原因。
八 需要用到的 skill
需要注意,有关 Apple 的操作,需要在首次运行时进行手动授权,所以新建完后建议手动执行一次测试效果,不然第二天早上可能拿不到想要的早报。
[td]Skill[/td]
[td]用途[/td]
[td]说明[/td]
weather
获取天气数据
适合拿天气现象、温度范围和天气变化提醒。
apple-reminders
读取 Apple Reminders 待办
适合拿 overdue 、today ,以及未来几天里真正值得关注的任务。
Apple Calendar 读取能力
读取 Apple Calendar 日程
如果环境里没有专门 skill ,也可以用 AppleScript 或 CLI 作为替代。
feishu-task
读取飞书任务
可拿未完成任务、今日任务、逾期任务。依赖飞书官方插件的用户权限能力。
feishu-calendar
读取飞书日历和日程
可拿今日飞书日程、近期安排、忙闲信息。同样依赖飞书官方插件的用户权限能力。
humanizer-zh
优化文案表达
适合用在说明文档润色、卡片文案优化、对外分享内容整理。
总结
[ol]
[/ol]

