Calendar Reminders (gcalcli + CalDAV)

📅 多源日历同步 · 智能提醒规划

Google Calendar/CalDAV 日程同步与提醒规划工具,生成 JSON 计划供 OpenClaw 创建一次性提醒

收藏
9.8k
安装
2.7k
版本
0.1.1
CLS 安全扫描中
预计需要 3 分钟...

使用说明

gcalcli + CalDAV 日程提醒规划器

核心用法

本技能提供两层功能:日历数据同步智能提醒规划。首先通过 scripts/calendar 封装 gcalcli(Google Calendar CLI)获取 Google 日程,可选通过 vdirsyncer+khal 接入 CalDAV/iCloud 等源。其次由 scripts/calendar_reminder_plan.py 分析日程数据,输出标准化 JSON 计划,供下游系统(如 OpenClaw cron 任务)创建精准的一次性提醒。

配置位于 ~/.config/openclaw/calendar.json,支持环境变量覆盖路径。用户需完成 OAuth 授权(headless 环境建议 SSH 端口转发),并可自定义提醒规则:忽略生日、为定时事件设置高优先级、按关键词过滤全天事件。

显著优点

  • 多源兼容:原生支持 Google Calendar,通过成熟工具链扩展至 Apple/iCloud、Nextcloud 等 CalDAV 服务
  • 安全执行:子进程调用使用 shell=False + 参数列表形式,有效防御事件标题中的 Shell 注入
  • 解耦架构:规划器仅输出 JSON 计划,不直接操作提醒系统,便于集成到现有自动化工作流(cron/systemd/agent)
  • 可配置过滤:灵活的规则引擎减少提醒噪音,避免生日/节假日轰炸
  • 状态去重:建议配合状态文件记录,防止重复创建提醒

潜在缺点与局限性

  • 外部依赖重:必须安装 gcalcli(Python 生态),CalDAV 支持还需 vdirsyncerkhal,版本兼容性需自行维护
  • OAuth 门槛:Google OAuth 流程对非技术用户不够友好,headless 服务器需额外网络配置
  • 非实时同步:依赖定时任务拉取数据,非推送式提醒,延迟取决于 cron 频率
  • 无内置调度:技能本身不执行提醒投递,需用户自行编写 cron 或 agent 逻辑完成"JSON 计划 → OpenClaw reminder"的转换
  • 配置敏感:二进制路径指向受信程序是安全前提,误配置可能导致执行未授权代码

适合人群

  • 技术型用户(熟悉 Python/Shell/cron)
  • 需要将 Google/iCloud 日程深度整合到 OpenClaw 自动化工作流的进阶玩家
  • 对提醒粒度有定制需求、不满于原生日历推送的开发者
  • 多日历源聚合需求者(工作 Google + 个人 iCloud)

常规风险

  • OAuth 令牌泄露gcalcli 存储的凭证文件需妥善保管,避免仓库提交或权限过宽
  • 子进程注入:虽采用 shell=False 防御,但若配置指向恶意二进制(如被篡改的 gcalcli 替身),仍可执行任意代码
  • 隐私数据外泄:日程内容(会议标题、地点)会进入 JSON 计划和日志,需确保下游提醒系统的存储安全
  • 定时任务故障沉默:cron 失败无自动告警,可能漏掉关键日程提醒

Calendar Reminders (gcalcli + CalDAV) 内容

references文件夹
scripts文件夹
手动下载zip · 6.4 kB
openclaw-calendar.example.jsonapplication/json
请选择文件