探索 openclaw 实际应用: 用 OpenClaw + 飞书官方插件,做一个可复刻的“秘书早报”

查看 3|回复 0
作者:woodchen   

这不是一个“只会发消息”的机器人,而是一条完整的 OpenClaw 自动化链路。真正让它有价值的地方,是通过飞书官方插件读取了个人飞书任务和个人飞书日历。
通过这套逻辑,你之后也可以按照这种方式复刻,制作个性化、适合你的工作或生活场景的相关定时任务。

如果你想做一个“每天早上自动汇总信息,再发给自己”的助手,这篇可以直接当示例看。
这套方案的关键,不只是“定时发消息”,而是 OpenClaw + 飞书官方插件 的组合。
普通消息机器人,通常只能发消息,或者只能读到机器人自己可见的内容。但借助飞书官方插件提供的用户权限能力,可以进一步读取:
  • 用户自己的飞书任务
  • 用户自己的飞书日历

    这就让“秘书早报”不再只是一个天气播报器,而是能真正汇总个人工作安排的晨间助手。
    一 这套方案的核心是什么
    一句话概括:
    OpenClaw 负责调度、编排和执行;飞书官方插件负责读取用户侧的飞书任务和飞书日历;最后再把结果发回飞书。
    完整链路大致是这样:
    flowchart TD
        A[定时触发] --> B[执行任务文档]
        B --> C[读取天气 / Apple 待办 / Apple 日历]
        C --> D[读取飞书任务 / 飞书日历]
        D --> E[筛选、合并、排序]
        E --> F[生成飞书 interactive card]
        F --> G[发送给指定用户]
    这里真正拉开差距的点,是这一句:
    使用飞书官方插件,才能以用户权限读取个人飞书任务和个人飞书日历。
    如果没有这一层,很多“秘书早报”最后只能停留在天气、本地待办和本地日历,进不到飞书个人工作流的核心数据里。
    二 过程简述
    [ol]
  • 在 OpenClaw 里新建 tasks/secretary-daily-brief.md
  • 在任务文档里写清楚数据来源、整理逻辑和输出要求
  • 使用飞书官方插件的用户权限能力读取飞书任务和飞书日历
  • 用 OpenClaw cron 每天早上 8 点执行这份任务文档
  • 最终通过飞书 interactive card 发送结果
    [/ol]
    这样,一份真正能用的“秘书早报”就搭起来了。
    三 逻辑拆分:适合放进文档里的方案拆分
    这套“秘书早报”建议拆成三部分来看。
    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/.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 的操作,需要在首次运行时进行手动授权,所以新建完后建议手动执行一次测试效果,不然第二天早上可能拿不到想要的早报。

    [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]
  • 这不是一个“只会发消息”的机器人,而是一条完整的 OpenClaw 自动化链路。  
  • 真正让它有价值的地方,是通过飞书官方插件读取了个人飞书任务和飞书日历。  
  • 任务逻辑写进任务文档,cron 只负责定时触发,这样最容易维护和复刻。
    [/ol]
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部