OpenClaw 打造了全自动化个人助理:从天气播报、运动计划到自动同步 iPhone 日历

我用 OpenClaw 打造了全自动化个人助理:从天气播报、运动计划到自动同步 iPhone 日历

前言

作为一个骑行爱好者和程序员,我一直想打造一个属于自己的全自动化个人助理。折腾了将近一个月,踩了无数坑,终于实现了理想中的效果:

  • 每天早上 7:30 微信推送天气、通勤建议
  • 每周一自动分析我前两周的 Strava 运动数据
  • 结合未来一周的天气和骑行俱乐部活动,生成本周骑行计划
  • 经过我同意后,自动写入 iCloud 日历,iPhone 直接就能看到
  • 所有数据本地化,不需要任何第三方服务中转

这篇文章分享一下整个过程的踩坑经历和最终方案,给同样想折腾的朋友做个参考。


一、前期准备工作

在开始之前,你需要先准备好以下基础设施:

1.1 云端部署 OpenClaw

OpenClaw 是整个系统的核心,运行在云端服务器上,负责任务调度、数据处理和推送。

推荐方案:火山引擎(ArkClow)+ Coding Plan

  • 首月优惠 50 元,后期每月 99 元
  • 如果选择 lite 套餐注意额度使用,避免多次重部署导致额度用完

安装方式:参考 OpenClaw 官方文档,通过 Docker 或直接部署到服务器。

1.2 微信渠道连接

OpenClaw 需要连接到你的微信才能推送消息,这一步是所有推送的前提。

操作步骤

  1. 在 OpenClaw 中安装微信机器人插件
  2. 在微信中找到你的 OpenClaw 机器人
  3. 给机器人发送「我的消息渠道 ID 是多少」或类似命令
  4. 复制返回的渠道 ID,配置到 OpenClaw 中

注意:这个渠道 ID 是你专属的,OpenClaw 通过这个 ID 识别并推送消息给你。

1.3 安装 Strava MCP

Strava 是一个运动记录应用,可以记录骑行、跑步等运动数据。我们通过 MCP(Model Context Protocol)让 OpenClaw 直接读取你的运动数据。

操作步骤

  1. 在 OpenClaw 中安装 Strava MCP 服务
  2. 授权 Strava 账号(OAuth 登录)
  3. 验证连接:发送「查看我这周骑行了多少公里」测试

MCP 是什么:可以理解为「插件」,让 AI 助手能够调用外部服务的能力。

1.4 天气数据获取

天气数据一般通过免费的天气 API 获取,比如和风天气、OpenWeatherMap 等。

操作步骤

  1. 注册天气 API 账号,获取 API Key
  2. 配置到 OpenClaw 中
  3. 测试:「今天天气怎么样」

二、踩坑历程:那些走不通的方案

方案 1:Notion 日历中转

最开始想的是把 Apple 日历同步到 Notion 日历,然后通过 Notion API 读取数据。

  • ✅ 优点:Notion API 友好,文档完善
  • ❌ 坑:Apple 日历同步到 Notion 后,事件只存在于 Notion 的 Calendar 视图,不会存储到数据库,Public API 完全读不到这些数据
  • ❌ 额外问题:中国区 Apple ID 访问 Notion 不稳定,同步经常失败

虽然日历方案失败了,但 Notion 本身很有价值。后来我发现 Notion 的数据库 + Agent 能力可以做很多事情:

  • 可以用 Notion 作为数据存储中枢,存放各种分析结果
  • 可以用 Agent 自动整理和归类数据
  • 可以用 Notion 数据库做历史数据的长期归档

后续计划:比如 OpenClaw 分析完 Strava 数据后,可以把每周的运动总结写入 Notion 数据库,这样不仅能看到当周数据,还能做月度总结、年度回顾等历史分析。

方案 2:飞书日历中转

后来想到用飞书,国内访问稳定,API 也开放。

  • ✅ 优点:飞书 Exchange 协议支持 iPhone 日历原生同步,国内访问速度快
  • ❌ 坑:飞书个人版应用读取个人日历需要用户级 OAuth 授权,Token 2 小时过期,需要自己做 Refresh Token 续期逻辑,而且国内网络环境下经常授权失败
  • ❌ 额外问题:MCP 服务虽然官方支持,但和普通 API 一样有权限问题,无法直接读取同步过来的 iCloud 日历数据

方案 3:第三方同步工具

试了很多第三方同步工具,比如 IFTTT、Zapier 之类的,要么国内访问不了,要么同步延迟高,要么需要付费,而且数据要经过第三方服务器,安全隐私是个问题。


三、最终方案:OpenClaw-With-Apple 直接对接 iCloud

直到我发现了 Openclaw-With-Apple 这个 Skill,完美解决了所有问题!

核心架构

iPhone iCloud  ← 直接连接 ← OpenClaw(火山引擎)→ Strava MCP
                                    ↓
                                 微信推送

配置过程

第 1 步:安装 OpenClaw-With-Apple Skill

  1. 下载项目到本地:
git clone https://github.com/rtjowo/openclaw-with-Apple.git
cd openclaw-with-Apple
  1. 安装 Python 依赖(只有 3 个,非常轻量):
pip install pyicloud caldav icalendar
  1. 将项目加载到支持 Skill 的 AI 助手中

第 2 步:生成 Apple 应用专用密码

这个密码用于日历读写权限,不会泄露你的 Apple ID 主密码

  1. 打开 appleid.apple.com
  2. 登录你的 Apple ID
  3. 找到「登录与安全」→「应用专用密码」
  4. 点击「生成应用专用密码」
  5. 输入一个标签名(比如 "OpenClaw")
  6. 复制生成的密码(格式类似 xxxx-xxxx-xxxx-xxxx

把密码发给 AI 助手即可。

⚠️ 重要:中国区 Apple ID 注意

如果你的 Apple ID 是用手机号码注册的,登录时需要在手机号前加国家区号 86

登录账号:86xxxxxx(不是纯手机号)

💡 踩坑经历:我的 Apple ID 虽然绑定了邮箱,但用邮箱登录一直失败,最后发现必须用手机号 + 86 前缀才能正常登录。

第 3 步:Strava MCP 配置

如果前面已经完成 Strava MCP 安装和授权,这一步可以直接跳过。

  1. 在 OpenClaw 中安装 Strava MCP
  2. 完成 OAuth 授权
  3. 测试:「查看我这周的骑行数据」

第 4 步:微信推送配置

OpenClaw 本身支持微信推送,确保:

  1. 微信机器人已连接并获取到渠道 ID
  2. 测试发送消息成功

最终实现的功能

1. 每日天气播报

每天早上 7:30 微信推送:

早上好!今天天气 25°C,晴,西北风 2 级
✅ 非常适合骑车上班,建议穿短袖+皮肤衣
今日待办:
  - 10:00 项目周会
  - 15:00 客户沟通

2. 每周一自动生成骑行计划

每周一早上推送:

🚴 本周骑行计划生成:
📊 上周骑行数据:总里程 150km,平均速度 24km/h,爬升 1200m
🌤️ 本周天气:周二、周四、周六天气良好,适合骑行
📅 俱乐部活动:周六早上 8 点淇澳岛骑行

✅ 推荐计划:
  - 周二 19:00-20:30 夜骑情侣路
  - 周四 19:00-21:00 爬坡训练
  - 周六 08:00-12:00 淇澳岛骑行(已自动加入日历)

是否确认这个计划?回复 Y 自动写入日历。

我回复 Y 之后,自动把这些活动写入 iCloud 日历,iPhone 上直接就能看到提醒。


四、优缺点总结

✅ 优点

  1. 没有中间商:直接连接 iCloud,数据只在我自己的服务器和 Apple 之间传输,安全可靠
  2. 完全自动化:不需要任何手动操作,数据自动同步,计划自动生成,提醒自动推送
  3. 扩展性强:可以很方便地接入健康数据、备忘录、查找我的 iPhone 等功能
  4. 成本极低:只需要一台最便宜的云服务器,所有服务都是免费的

❌ 不足

目前这套方案用 Apple 应用专用密码只能读写日历,无法直接访问提醒事项和备忘录。

不过这个 Skill 其实也提供了解决方案:通过快捷指令定时把数据共享出来。

  • 提醒事项同步:通过 iPhone 快捷指令定时读取提醒事项,导出到 iCloud Drive,OpenClaw 读取后同步
  • 健康数据:同样可以配置快捷指令采集健康数据,生成深度分析报告

这些就看个人需求了,我目前主要用日历功能,所以够用了。


五、整体成本

  • 云服务器:ArkClow + Coding Plan,首月优惠 50 元,后期每月 99 元
  • 其他服务:全部免费
  • 总投入:50 块钱 + 一个周末的折腾时间

💡 小提示:如果选择 lite 套餐注意额度使用,之前因为多次重新部署导致额度用完,建议做好规划。


六、后续优化方向

6.1 Notion 数据归档

虽然日历方案失败了,但 Notion 作为数据存储中枢很有价值:

  • 运动数据归档:每周分析完的 Strava 数据自动写入 Notion 数据库
  • 历史趋势分析:基于 Notion 数据库做月度、年度运动总结
  • 多维度统计:结合骑行数据、天气数据、体重变化等做综合分析

6.2 其他扩展方向

  1. 接入健康数据:结合心率、睡眠数据调整运动计划
  2. 自动识别待办:自动写入日历或提醒事项
  3. 智能家居联动:根据到家时间自动开空调、烧热水

折腾的过程虽然坑很多,但最终实现想要的功能时,成就感还是满满的。有同样需求的朋友可以参考这个方案,有问题欢迎交流~

本文首发于博客园,人为本着出处。

posted @ 2026-04-02 09:42  forever23  阅读(184)  评论(0)    收藏  举报