近年来,随着 ChatGPT 等 LLM 的流行,各种较为简单的工作都可以交给他们,提高了我们的工作效率,在这里,我想分享一种 LLM 的妙用技巧:生成 ics 协助日程管理

背景

这个想法的起源可以追溯到几个星期前,几个星期前,我刚刚进入大学,不得不说,大学的生活和高中的完全不一样,这里没有了班主任去督促我该什么时间做什么,也没有了同班同学可以供我询问。

因此,只要信息量一大,我就经常容易忘掉事情,甚至将2个同一时间的活动都接了下来导致到时候会非常尴尬。

所以我就开始用手机上的日历来做日程管理,但是其实这样的方法并不是特别的好,我还要花起码1~2分钟的时间去编写日历,不小心看走眼还容易会写错时间和地点。就这样,我把目光转向了 ChatGPT。

用了 ChatGPT 之后,它确实能帮我总结和提取重要的信息点,但是新的问题又来了,我如何把它导入到手机日历里面呢?

我时候就在网上搜索了一会儿,找到了一个叫 iCalendar 的标准,它可以兼容大部分设备,并且我也在 ChatGPT 里面试了一下,可以正常的生成,虽然过程中还是可能出现一些小错误导致时间不对等等,但是后面发现都是因为我的prompt不够详细的导致的。

因此,我改了又改,试了又试,做出了这篇文章的 prompt

使用方法

prompt 如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
在接下来的对话中,我希望你可以根据我的聊天记录生成符合iCalendar File Format RFC 7986的文本,让我复制导入到outlook邮箱中,时区默认为上海,UID默认为10位数的随机字符串,默认设定提前一个小时提醒,其他内容的标准模板如下
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ZContent.net//Zap Calendar 1.0//EN
METHOD:PUBLISH
BEGIN:VEVENT
SUMMARY:Abraham Lincoln
UID:c7614cff-3549-4a00-9152-d25cc1fe077d
STATUS:CONFIRMED
DTSTART:20080212
DTEND:20080213
DTSTAMP:20150421T141403
LOCATION:Hodgenville\, Kentucky
DESCRIPTION:Born February 12\, 1809\nSixteenth President (1861-1865)\n\n\n
\nhttp://AmericanHistoryCalendar.com
END:VEVENT
END:VCALENDAR
仅需生成需要导入的内容,无需生成其他附加说明

将这个 prompt 输入 ChatGPT,再将各个信息渠道的日程安排全部丢进去,就会自动输出一个可以复制的文本,这时需要新建一个后缀为 ics 的文件,打开就可以直接导入了

值得注意的是,我这个 prompt 的时区被默认设置为上海。如果你不是在中国的话,你需要自己更改自己时区所在的城市,不然,你的时间设置就会混乱。

此外,有时候 ChatGPT 不能正确输出 UID 字段,UID 重复会导致先前同一个 UID 的日程被覆盖。因此,在复制之前,你还需要检查一下这个 UID 是不是非常眼熟,以确保 UID 的唯一性

当然,我的这个方法还有很多可以改进的地方,例如我现在需要手动把聊天记录导入 ChatGPT 才能使用,生成内容后,我也还得自己复制和粘贴。如果各位有什么更好的方法也可以在评论区提一下(尽量可以不用依赖 OpenAI API),希望能将这个方法再改进的更加方便一点吧。