Install
openclaw skills install @yfwill/email-schedule从 macOS 邮件应用检索指定范围邮件,自动提取事件时间并在事件前2小时创建提醒事项。
openclaw skills install @yfwill/email-schedule从 macOS 邮件应用检索邮件,并根据邮件内容自动创建提醒事项。
today - 今天收到的邮件yesterday - 昨天到今天收到的邮件unread - 所有未读邮件all - 最近 50 封邮件当用户要求处理邮件时:
询问或确认用户要查看的邮件范围:
./scripts/fetch_emails.sh <范围>
范围参数:today | yesterday | unread | all
将邮件 JSON 传递给创建脚本:
./scripts/fetch_emails.sh <范围> | ./scripts/create_reminders.py
格式:
📧 邮件检索完成
查看邮件数量: X
创建提醒数量: Y
提醒详情:
• [事件名称] - [时间]
• ...
脚本会自动识别以下格式的时间:
2026年3月31日 14:303月31日 下午2点明天 上午10点下周一 14:003/31 14:30brew install steipete/tap/remindctl)直接在终端查询今日邮件:
# 查询今天的邮件(正确的 SQL)
sqlite3 ~/Library/Mail/V10/MailData/Envelope\ Index \
"SELECT datetime(m.date_received, 'unixepoch', 'localtime') as date,
a.address as sender,
s.subject
FROM messages m
LEFT JOIN addresses a ON m.sender = a.ROWID
LEFT JOIN subjects s ON m.subject = s.ROWID
WHERE date(m.date_received, 'unixepoch') = date('now')
ORDER BY m.date_received DESC"
macOS 邮件数据库中的 date_received 和 date_sent 字段存储的是 Unix 时间戳(相对于1970年1月1日的秒数)。
正确的 SQL 查询方式:
-- 正确:直接使用 unixepoch 转换
SELECT datetime(date_received, 'unixepoch', 'localtime') as date
FROM messages
-- 错误:不需要添加偏移量(这是旧版 Mac CFAbsoluteTime 的方式)
-- SELECT datetime(date_received + 978307200, 'unixepoch') -- 会导致日期错误(显示为2057年)
~/Library/Mail/V10/MailData/Envelope Index查询邮件数据库,关联 subjects、addresses、summaries 表获取实际文本内容,返回 JSON 格式的邮件列表。
解析邮件内容,提取时间信息,使用 remindctl CLI 创建提醒事项。