← 返回 Skills 市场
87
总下载
0
收藏
1
当前安装
1
版本数
在 OpenClaw 中安装
/install email-schedule
功能描述
从 macOS 邮件应用检索指定范围邮件,自动提取事件时间并在事件前2小时创建提醒事项。
使用说明 (SKILL.md)
邮件日程 (Email Schedule)
从 macOS 邮件应用检索邮件,并根据邮件内容自动创建提醒事项。
功能
- 邮件检索 - 从 macOS 邮件应用数据库读取邮件
- 智能识别 - 从邮件主题和内容中提取会议/活动时间
- 自动提醒 - 在事件发生前 2 小时设置提醒事项
支持的时间范围
today- 今天收到的邮件yesterday- 昨天到今天收到的邮件unread- 所有未读邮件all- 最近 50 封邮件
使用流程
当用户要求处理邮件时:
1. 确认检索范围
询问或确认用户要查看的邮件范围:
- "今天的邮件"
- "昨天到今天的邮件"
- "未读邮件"
- "最近邮件"
2. 执行邮件检索
./scripts/fetch_emails.sh \x3C范围>
范围参数:today | yesterday | unread | all
3. 创建提醒事项
将邮件 JSON 传递给创建脚本:
./scripts/fetch_emails.sh \x3C范围> | ./scripts/create_reminders.py
4. 返回结果
格式:
📧 邮件检索完成
查看邮件数量: X
创建提醒数量: Y
提醒详情:
• [事件名称] - [时间]
• ...
时间识别规则
脚本会自动识别以下格式的时间:
2026年3月31日 14:303月31日 下午2点明天 上午10点下周一 14:003/31 14:30
依赖
- macOS 自带邮件应用
- Python 3
- sqlite3
- remindctl (
brew 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年)
限制说明
- 仅支持 macOS 系统自带的邮件应用
- 需要邮件应用数据库位于默认路径:
~/Library/Mail/V10/MailData/Envelope Index - 提醒事项会创建在默认的"提醒事项"列表中
- 仅对识别出未来时间的邮件创建提醒
脚本说明
fetch_emails.sh
查询邮件数据库,关联 subjects、addresses、summaries 表获取实际文本内容,返回 JSON 格式的邮件列表。
create_reminders.py
解析邮件内容,提取时间信息,使用 remindctl CLI 创建提醒事项。
安全使用建议
This skill will read your local macOS Mail database (~ /Library/Mail/…/Envelope Index) and create reminders using a local CLI. Before installing or running it: (1) confirm you are comfortable allowing any script to read your Mail DB and understand macOS privacy prompts; (2) review the two included scripts locally to verify they do only what you expect (they do not perform network calls, but they do read mail content and call a local CLI); (3) be cautious installing 'remindctl' from the steipete tap—prefer official packages or inspect that tap first; (4) note the metadata omitted the Mail DB path requirement and may assume a specific Mail version (V10) — check the path on your machine; (5) consider running the fetch script with a safe range (e.g., all -> LIMIT 50) and inspect output before piping into the reminder-creation script. If you want to proceed, run everything locally and not as an automated/unattended skill until you’ve validated behavior.
能力评估
Purpose & Capability
The name/description (read Mail and create reminders) match what the scripts do: fetch_emails.sh reads the macOS Mail Envelope Index and create_reminders.py extracts times and calls a reminders CLI. This capability is coherent with the stated purpose. However, the skill metadata declared no required config paths or credentials even though the scripts explicitly read a sensitive local file (~/Library/Mail/V10/MailData/Envelope Index) and depend on a third‑party CLI—an omission worth flagging.
Instruction Scope
SKILL.md and scripts instruct the agent to directly read the user's Mail database at the Envelope Index path and run local commands. The code accesses ~/Library/Mail/V10/MailData/Envelope Index (sensitive mailbox data) but the registry metadata did not declare that config path. The instructions are otherwise scoped to the stated task and do not attempt network exfiltration, but the implicit requirement to read a private mailbox file is a privacy/security concern and should be explicit in metadata and user consent.
Install Mechanism
There is no automated install spec (instruction-only), which reduces installer risk. However SKILL.md recommends installing 'remindctl' from a third‑party brew tap (steipete/tap/remindctl). Installing software from a non-official tap has moderate risk — the skill will rely on that external package. The rest of dependencies (Python3, sqlite3) are standard for macOS.
Credentials
The skill requests no environment variables or credentials, which is proportionate. It purely uses local filesystem access to the Mail DB and a local CLI. No unexpected API keys or external secrets are requested.
Persistence & Privilege
always is false and the skill does not request persistent/autostart privileges or modify other skills. It runs on demand and invokes local commands; no elevated platform privileges are requested in the metadata.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install email-schedule - 安装完成后,直接呼叫该 Skill 的名称或使用
/email-schedule触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release
元数据
常见问题
邮件日程 是什么?
从 macOS 邮件应用检索指定范围邮件,自动提取事件时间并在事件前2小时创建提醒事项。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 87 次。
如何安装 邮件日程?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install email-schedule」即可一键安装,无需额外配置。
邮件日程 是免费的吗?
是的,邮件日程 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
邮件日程 支持哪些平台?
邮件日程 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 邮件日程?
由 yfwill(@yfwill)开发并维护,当前版本 v1.0.0。
推荐 Skills