将提醒同步至 Windows/Outlook 日历。用户提及「提醒我」「设置提醒」「加到日历」「同步到日历」「日程」「calendar」「日历」时触发。支持Microsoft Graph API 设备代码流认证,无需 Web 服务器,直接写入用户 Outlook 日历。
Windows 日历同步是一项面向实际任务的技能,主要用于将提醒和日程写入用户本人的 Microsoft Outlook 日历 (即 Windows 日历),同步到所有设备;认证(首次使用);
打开 Azure 门户 → 引导注册免费 Azure AD 应用(获取 Client ID)。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
将提醒和日程写入用户本人的 Microsoft Outlook 日历(即 Windows 日历),同步到所有设备。
运行配置向导,脚本会自动引导你完成 Azure AD 应用注册 + OAuth 登录:
python "C:Usersjohnx.qclawskillswindows-calendar-syncscriptssetup_and_auth.py"
脚本会自动:
Azure AD 应用注册是免费的,无需信用卡,只需要一个 Microsoft 账户。
同样运行上面的命令,脚本检测到已有 Client ID 会跳过注册步骤,直接进行登录。
当用户提出以下类型的请求时,触发本技能:
工作流程:
2026-04-15T10:00:00)calendar_sync.py add 将事件写入 Outlook 日历scripts/calendar_sync.py — 添加 / 查询 / 删除日历事件添加事件:
python "C:Usersjohnx.qclawskillswindows-calendar-syncscriptscalendar_sync.py" add ` --title "团队周会" ` --start "2026-04-16T09:00:00" ` --duration 60 ` --reminder 15
参数说明:
| 参数 | 必填 | 说明 |
|---|---|---|
--title / -t |
✅ | 事件标题 |
--start / -s |
✅ | 开始时间,ISO 8601 格式 |
--end / -e |
与 --duration 二选一 |
结束时间 |
--duration / -d |
与 --end 二选一 |
持续分钟数(默认30分钟) |
--reminder / -r |
否 | 提前多少分钟提醒(默认15,设为0则不提醒) |
--body / -b |
否 | 事件描述 |
--location / -l |
否 | 地点 |
--category / -c |
否 | 分类标签(可多次指定) |
列出未来事件:
python "C:Usersjohnx.qclawskillswindows-calendar-syncscriptscalendar_sync.py" list --days 7
删除事件:
python "C:Usersjohnx.qclawskillswindows-calendar-syncscriptscalendar_sync.py" delete
将自然语言时间转换为 ISO 8601:
| 用户输入 | 解析结果 | 示例 |
|---|---|---|
| 明天 10 点 | 2026-04-13T10:00:00 |
|
| 今天下午 3 点半 | 2026-04-12T15:30:00 |
|
| 下周一早上9点 | 下一个周一 09:00 | |
| 周五 18:00 | 本周/下周周五 18:00 | 结合当前日期判断 |
| 2 小时后 | 当前时间 + 2h |
时区:始终使用 Asia/Shanghai(中国用户),Windows 上自动检测本地时区。
创建定时提醒时,建议同时做两件事:
示例 — 用户说「每天早上 8 点提醒我做运动」:
# 1. 创建 cron 任务(精确提醒)
cron.schedule("0 8 * * *", message="运动时间到!💪", repeat="daily")
# 2. 写入日历(可视化作息安排)
# 调用 calendar_sync.py:
python "C:Usersjohnx.qclawskillswindows-calendar-syncscriptscalendar_sync.py" add `
--title "🏃 运动时间" `
--start "2026-04-13T08:00:00" `
--duration 60 `
--reminder 10
scripts/token_store.json,不要移动或删除Calendars.ReadWrite,不读写邮件或文件webLink,可直接在浏览器打开| 问题 | 解决方案 |
|---|---|
access_token 获取失败 |
运行 authenticate.py 重新认证 |
| Token 已过期 | 删除 token_store.json,重新运行 authenticate.py |
| 事件时间显示错误 | 确认 --start 使用 ISO 8601 格式,带 T 分隔符 |
| 提醒没响 | 检查 Outlook/Windows 日历的通知权限是否开启 |
| 想删除事件但不知道 ID | 先运行 list 命令查找事件 ID |