anniversary-notify
这个小工具帮我记住那些容易忘的日子:生日、项目上线日、纪念日等。每天跑一次(也可以用 GitHub Actions/cron),如果今天有条目,它会用 LLM 生成一封带点温度的邮件,再通过 Resend 发送出去。
实现要点如下:
- 使用
lunarcalendar支持公历与农历的匹配。 - 用
promplate作为 prompt 层,模板化生成邮件内容。 - 用
tenacity做重试,遇到网络抖动也能稳住发送流程。
设计小心思
我让 LLM 不只是读条目然后祝贺,而是把项目/关系的「过去一年」做个简短小结,邮件会显得更有人味。
相关项目:
- DateMateBot:Discord 上的提醒 bot。
- przypominajka:基于 Telegram 的提醒工具。
深入洞见¶
仓库的 pyproject.toml(public)显示了项目的关键依赖:resend 用于邮件发送、promplate 负责 prompt/模板化生成邮件内容、lunarcalendar 支持农历/公历匹配,tenacity 提供在网络抖动时的重试策略。此外 hmr / rich 等工具在开发和输出层有明显用途,说明项目在保证可靠发送的同时注重交互体验与可维护性。
参考源码:pyproject.toml(dependencies: resend, promplate, lunarcalendar, tenacity)
这是个对我个人很有用的小工具,没啥 star 但是能把机械式提醒变得更暖心。