昨天试着想做个基于telegram bot的日程管理工具,就是在telegram上发一条消息给gpt,然后它就会提取里面的日程信息,然后通过google calendar的API写到我的日历里面去。

刚开始我尝试用metaGPT来写,消耗了大概$2的token,生成了一堆文件,但是代码不work……其实metaGPT把写代码部分去掉,只留需求分析,生成项目文档的功能,就挺好,可以做幻灯片唬人了。

于是还是用了旧办法,在chatGPT里面进行对话,一步一步引导chatGPT生成代码,并和它一起调试。

chatGPT做的google API使用的教程和代码非常清晰,一次性通过。

后续的代码也没有大问题,主要的时间都用在调试,GPT返回的日程时间信息不符合谷歌API的要求,有很多边缘情况要处理:时间没有明确的开始时间啊,上午下午,明天今天这些模糊时间怎么处理成谷歌要求的具体时间点啊。开始是用了一堆的判断来处理,后来换了个思路,直接把要求都写到和GPT沟通的prompt里面,并且给了一个返回的json格式模板,把这些判断的要求,如果怎么样就怎么样,都用自然语言写在prompt里面,一次性通过。目前demo完成了发送事件,脚本会自动处理并把事件写进谷歌日历的功能。

更进一步的,每天早上7点自动发当日日程提醒,日程写入有冲突的时候反馈给用户等待处理,这些都还没写。

主要是这种面向GPT的编程方式非常奇妙,体验感很强。

当然这个项目本身没什么太大意义,我还是建议直接用chatGPT + TimeNavi 插件来完成日程管理。自己做这个只是为了验证一些想法。