有的时候学校会下发各种各样的通知,尤其是各种时间节点、各种任务,纷繁复杂。这个时候使用日程管理软件会方便不少,比如iOS原生的日历、提醒事项,Microsoft的To Do、Outlook日历等等。有的时候有些通知不太重要,看一眼就忘了,等到ddl的时候才发现居然还有这个东西。所以,有没有什么方法可以直接让程序读取通知自动导入到日历、提醒事项这类软件里呢?
其实是有的,比如Apple Intelligence。但是一方面Apple Intelligence这玩意在国内八字还没一撇,另一方面对于一些不支持Apple Intelligence的设备来说这玩意就根本指望不上了。此外,Apple Intelligence所使用的模型是闭源模型,对于有些人(虽然我也不知道哪些人会真的担心这个,但是万一呢?)来说挺在意自己的隐私,不愿意把自己的日程完全交给闭源模型,所以自己建一个日程解析的API还是挺有必要的。
所以不废话,直接上仓库:
仓库内容
这个仓库基本上是一个自建API服务,你可以输入一段通知、公告、或者其他任何什么东西,程序会通过调用LLM对你的数据进行清洗,返回一个结构化的json。你可以对这一串json进行处理将其转化为适合导入到你的日历程序或者待办程序的结构。
仓库详细内容可以看项目README。在这里就不多赘述了。本项目推荐模型:deepseek-v4-flash。相关使用模型、提示词、最大返回items上限以及返回结构均可以自行修改。
使用方法
最佳实践是一个服务端和一个终端。服务端运行API服务,终端运行程序或者快捷指令。
服务端设置
服务端的配置可以看项目README,在此不过多赘述。对于家庭服务器或者小树莓派,推荐使用CF tunnel或者Tailscale实现外网访问。
终端设置
我使用的终端是iPhone。使用iOS自带的快捷指令可以快速且合法地编写一个调用API直接生成日程或待办事项的小程序。
这里是一个可以开箱即用的快捷指令。使用该快捷指令前,需要自行替换部署API的URL。
如果对实现方法好奇的话,具体实现方法如下:
询问输入 ↓设定变量:原始输入 ↓URL:https://your-domain.example.com/parse ↓获取 URL 内容 方法:POST 请求体:文件 文件:原始输入 头部: Content-Type = text/plain; charset=utf-8 ↓从 URL 的内容获取字典 ↓设定变量:解析结果 ↓读取 need_confirm / question / items ↓如果 need_confirm 为 true 显示 question 停止快捷指令否则 重复处理 items type = reminder → 添加新提醒事项 type = calendar → 添加新日程实现效果

如图,一个复杂的通知,包括各种无效信息,若干个不同时间的日程,只需要一次复制输入输入框即可成功导入待办事项与日历。
改进
虽然基本实现了上面所说的,程序读取通知自动导入到日历、提醒事项这类软件里,但是每次都要复制还是太麻烦了,如果进一步优化可以直接截图读取相关信息,或者直接读取剪贴板。
另外,自定义提醒时间也挺重要的,尤其是对于一些比较长期的规划来说。此外,对于一些不是很清楚的提示,快捷指令会询问所需要的信息,但是却不会进一步优化。这个可能对于快捷指令来说实现较为困难,如果能做成一个App或者轻应用就会方便得多了。