探索 openclaw 实际应用: 用 OpenClaw + 飞书官方插件,做一个可复刻的“秘书早报”
这不是一个“只会发消息”的机器人,而是一条完整的 OpenClaw 自动化链路。真正让它有价值的地方,是通过飞书官方插件读取了个人飞书任务和个人飞书日历。
通过这套逻辑,你之后也可以按照这种方式复刻,制作个性化、适合你的工作或生活场景的相关定时任务。
如果你想做一个“每天早上自动汇总信息,再发给自己”的助手,这篇可以直接当示例看。
这套方案的关键,不只是“定时发消息”,而是 OpenClaw + 飞书官方插件 的组合。
普通消息机器人,通常只能发消息,或者只能读到机器人自己可见的内容。但借助飞书官方插件提供的用户权限能力,可以进一步读取:
- 用户自己的飞书任务
- 用户自己的飞书日历
这就让“秘书早报”不再只是一个天气播报器,而是能真正汇总个人工作安排的晨间助手。
一 这套方案的核心是什么
一句话概括:
OpenClaw 负责调度、编排和执行;飞书官方插件负责读取用户侧的飞书任务和飞书日历;最后再把结果发回飞书。
完整链路大致是这样:
flowchart TD
A[定时触发] --> B[执行任务文档]
B --> C[读取天气 / Apple 待办 / Apple 日历]
C --> D[读取飞书任务 / 飞书日历]
D --> E[筛选、合并、排序]
E --> F[生成飞书 interactive card]
F --> G[发送给指定用户]
这里真正拉开差距的点,是这一句:
使用飞书官方插件,才能以用户权限读取个人飞书任务和个人飞书日历。
如果没有这一层,很多“秘书早报”最后只能停留在天气、本地待办和本地日历,进不到飞书个人工作流的核心数据里。
二 过程简述
- 在 OpenClaw 里新建
tasks/secretary-daily-brief.md - 在任务文档里写清楚数据来源、整理逻辑和输出要求
- 使用飞书官方插件的用户权限能力读取飞书任务和飞书日历
- 用 OpenClaw cron 每天早上 8 点执行这份任务文档
- 最终通过飞书 interactive card 发送结果
这样,一份真正能用的“秘书早报”就搭起来了。
三 逻辑拆分:适合放进文档里的方案拆分
这套“秘书早报”建议拆成三部分来看。
1. 任务文档
任务文档负责定义:
- 要做什么
- 读哪些数据
- 按什么逻辑整理
- 结果要长什么样
- 成功和失败分别怎么处理
它相当于“执行说明书”。
2. 调度方式
调度方式负责定义:
- 什么时候触发
- 用什么 prompt 触发任务
- 成功后是否需要再输出额外内容
它相当于“定时开工的闹钟”。
3. 平台能力
平台能力负责解决:
- 怎么读取飞书任务
- 怎么读取飞书日历
- 怎么发飞书卡片
- 怎么结合 OpenClaw 的 agent 执行能力
这一层就是 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/<YYYY-MM-DD>.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 里。更好的方式是:
- 详细约束放任务文档
- cron 只保留最小触发说明
推荐写法:
按 ~/.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
参数含义:
0 8 * * *:每天早上 8 点执行--prompt:告诉它按哪份任务文档执行--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 的人演示
- 更符合“让 agent 帮你搭自动化”的使用习惯
七 为什么这里必须强调“飞书官方插件”
这一点一定要单独讲清楚。
很多人看到“飞书集成”,会以为只是“能往飞书发消息”。但这个方案真正重要的,不只是发消息,而是:
读取用户自己的飞书任务和飞书日历。
而这一点,依赖的是飞书官方插件提供的用户权限能力。
也就是说:
- 不是随便接个 webhook 就行
- 不是普通机器人权限就能做到
- 而是要通过飞书官方插件的用户授权链路,拿到对应的数据读取能力
所以这套方案的亮点,其实是:
OpenClaw 负责编排和执行,飞书官方插件负责把个人飞书任务与飞书日历接进来。
这是“秘书早报”真正有用的原因。
八 需要用到的 skill
需要注意,有关 Apple 的操作,需要在首次运行时进行手动授权,所以新建完后建议手动执行一次测试效果,不然第二天早上可能拿不到想要的早报。
| Skill | 用途 | 说明 |
|---|---|---|
weather |
获取天气数据 | 适合拿天气现象、温度范围和天气变化提醒。 |
apple-reminders |
读取 Apple Reminders 待办 | 适合拿 overdue 、today ,以及未来几天里真正值得关注的任务。 |
| Apple Calendar 读取能力 | 读取 Apple Calendar 日程 | 如果环境里没有专门 skill ,也可以用 AppleScript 或 CLI 作为替代。 |
feishu-task |
读取飞书任务 | 可拿未完成任务、今日任务、逾期任务。依赖飞书官方插件的用户权限能力。 |
feishu-calendar |
读取飞书日历和日程 | 可拿今日飞书日程、近期安排、忙闲信息。同样依赖飞书官方插件的用户权限能力。 |
humanizer-zh |
优化文案表达 | 适合用在说明文档润色、卡片文案优化、对外分享内容整理。 |
总结
- 这不是一个“只会发消息”的机器人,而是一条完整的 OpenClaw 自动化链路。
- 真正让它有价值的地方,是通过飞书官方插件读取了个人飞书任务和飞书日历。
- 任务逻辑写进任务文档,cron 只负责定时触发,这样最容易维护和复刻。