苹果日历集成:管理 macOS 事件 - Openclaw Skills

作者:互联网

2026-04-13

AI教程

什么是 macOS 苹果日历?

苹果日历技能是一个专用工具,旨在弥合 AI 编码代理与原生 macOS 生产力生态系统之间的鸿沟。通过利用优化的 AppleScript 脚本,此集成允许 Openclaw Skills 直接与 Calendar.app 交互,为管理日程、约会和截止日期提供强大的界面。对于希望其 AI 助手能够实时了解并控制其本地日历数据的开发人员和高级用户来说,这是一个核心组件。

此技能支持广泛的操作,从列出可用日历到处理复杂的重复事件模式。由于它直接与系统应用程序对接,因此它遵循用户现有的日历配置,包括在 macOS 应用中可见的已同步 iCloud、Google 或 Exchange 帐户。无论您是在构建自动化个人助手还是项目管理工作流,此技能都为深度日历集成提供了必要的挂钩。

下载入口:https://github.com/openclaw/skills/tree/main/skills/tyler6204/apple-calendar

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install apple-calendar

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 apple-calendar。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

macOS 苹果日历 应用场景

  • 自动将项目里程碑和冲刺块直接创建到特定日历中。
  • 检索每日或每周议程,为 AI 驱动的任务优先级排序提供上下文。
  • 使用特定查询搜索历史事件数据,例如过去的会议地点或与会者备注。
  • 批量删除或更新过时的事件,以保持日程整洁有序。
  • 将外部任务列表与 macOS 日历同步,以确保在所有设备上的可见性。
macOS 苹果日历 工作原理
  1. 用户或代理从技能目录调用特定的 bash 脚本,传递必要的参数(如日历名称或事件 UID)。
  2. 脚本执行本地化的 AppleScript 命令,直接与 macOS Calendar.app 进程通信。
  3. 对于读取操作,该技能将来自日历数据库的原始输出解析为包含 UID、摘要和时间戳的结构化格式。
  4. 对于写入操作,该技能在指示 Calendar.app 创建或修改条目之前,会验证输入日期格式和重复规则 (RRULE)。
  5. 系统将确认信息或请求的数据负载返回给代理,以便在 Openclaw Skills 环境中进一步处理。

macOS 苹果日历 配置指南

要使用此技能,您必须在 macOS 环境中运行。请按照以下步骤配置集成:

  1. 确保您的终端或 IDE 在“系统设置 > 隐私与安全性 > 自动化”下拥有控制 Calendar.app 的必要权限。
  2. 导航到安装该技能的根目录:
cd {baseDir}
  1. 通过列出您的可用日历来测试连接:
./scripts/cal-list.sh
  1. 如果 macOS 弹出提示,请点击“好”以允许脚本访问您的日历数据。

macOS 苹果日历 数据架构与分类体系

该技能使用标准化格式处理并返回数据,以确保不同 Openclaw Skills 工作流之间的兼容性。以下是主要事件数据结构:

字段 描述 格式
UID 日历事件的唯一标识符 字符串
Summary 事件的标题或名称 字符串
Start/End 事件的预定时间 YYYY-MM-DD HH:MM
AllDay 指示事件是否持续全天 布尔值
Location 事件的物理或虚拟地址 字符串
RRULE 重复事件的重复规则 RFC 5545 字符串
Calendar 父日历的名称 字符串(区分大小写)
name: apple-calendar
description: Apple Calendar.app integration for macOS. CRUD operations for events, search, and multi-calendar support.
metadata: {"clawdbot":{"emoji":"??","os":["darwin"]}}

Apple Calendar

Interact with Calendar.app via AppleScript. Run scripts from: cd {baseDir}

Commands

Command Usage
List calendars scripts/cal-list.sh
List events scripts/cal-events.sh [days_ahead] [calendar_name]
Read event scripts/cal-read.sh [calendar_name]
Create event scripts/cal-create.sh [location] [description] [allday] [recurrence]
Update event scripts/cal-update.sh [--summary X] [--start X] [--end X] [--location X] [--description X]
Delete event scripts/cal-delete.sh [calendar_name]
Search events scripts/cal-search.sh [days_ahead] [calendar_name]

Date Format

  • Timed: YYYY-MM-DD HH:MM
  • All-day: YYYY-MM-DD

Recurrence

Pattern RRULE
Daily 10x FREQ=DAILY;COUNT=10
Weekly M/W/F FREQ=WEEKLY;BYDAY=MO,WE,FR
Monthly 15th FREQ=MONTHLY;BYMONTHDAY=15

Output

  • Events/search: UID | Summary | Start | End | AllDay | Location | Calendar
  • Read: Full details with description, URL, recurrence

Notes

  • Read-only calendars (Birthdays, Holidays) can't be modified
  • Calendar names are case-sensitive
  • Deleting recurring events removes entire series

相关推荐