我的 AI 智能体拥有了专属日历。
My AI agent gets his own calendar

原始链接: https://heyjonny.dev/posts/gave-my-ai-agent-a-calendar/

为了保护隐私并防止他的 AI 智能体“Eddie”接触到个人日历,作者开发了 **calfeed**。该方案不再依赖 Telegram 中繁琐的 `.ics` 文件导入,而是让 Eddie 维护一个远程日历文件,供用户通过日历应用订阅。其安全性通过基础身份验证和混淆 URL 来管理。 该项目最显著的特点是坚持“零依赖”原则,这使得部署过程简单且无需构建。虽然作者最初专注于文档编写和 API 测试,但该项目已演变成一个实用的工具,有效填补了 AI 驱动的日程安排与人类便利性之间的鸿沟。 展望未来,作者计划将 calfeed 扩展为一个平台,让 AI 智能体可以管理面向公众的日历(例如本地音乐或体育赛事),供任何人订阅。通过将智能体管理的日程与个人生活分开,calfeed 为 AI 参与现实世界的规划提供了一种可扩展且注重隐私的方式。

一篇近期发布在 Hacker News 上、题为《我的 AI 智能体有了自己的日程表》的文章,引来了社区的强烈批评。作者 heyjonny 在文中分享了其 AI 智能体新增日程管理功能的开发进度。 Hacker News 用户对此反应极其负面。批评者斥责该文章为“博客垃圾”和“劣质内容”,质疑宣布一个 AI 的日程集成有何智力价值。评论者对作者的语气感到不满,认为他默认受众已经关注其智能体的开发进展,显得非常傲慢。此外,还有多位用户指出该作者此前曾试图通过不正当手段博取首页曝光,这加剧了人们对该帖旨在自我炒作而非进行实质性技术分享的指责。尽管有一位用户试图将话题转向关于智能体与服务边界的技术探讨,但主流观点依然认为该内容对该平台而言缺乏足够的实质性价值。
相关文章

原文

I want my AI agent (you know him, Eddie) to manage a calendar for me. Just not my private one. That one I only share with my girlfriend, which makes living together easier. While Eddie is also a part of my life, I wouldn’t entrust him with my calendar. At least I don’t want to find out what happens when he messes something up there. Additionally, he doesn’t need to know everything about me. Some things I’d like to keep to myself (and my girlfriend).

While brainstorming for a solution, Eddie proposed he could create ics files for me to import. You probably know these from booking an appointment at a barber’s, for example. Alongside the confirmation email they sometimes send you an event that you can add to your calendar by just clicking on it. That works fine, but you can’t do it that easily from a Telegram chat (at least on the iPhone). Super annoying, since Telegram is my main way of interacting with Eddie. But I liked the direction.

What if instead of serving me ics files directly, Eddie maintained one file on an external server that I subscribe to via my calendar app? Pretty much a public calendar. But we could make it more private by supporting basic authentication as well as random UUIDs for hard-to-guess URLs. I liked that idea, so we built it.

I first started working on it with Eddie on the Raspberry (me giving directions on my phone), but I soon moved the project to GitHub to review it on my laptop. Somewhere along the way I discovered that Eddie, for I don’t know what reason, had decided that this project should have no dependencies. I found that kind of funny for a JavaScript project, but also edgy, so why not.

That decision did lead to a lot of discussions about whether to introduce libraries for input validation, type generation, or just types in general, as well as something to generate an OpenAPI schema. You can take a look at the calfeed repository to see who’s won. In the end, what I really cared about were language-independent API tests and nice documentation. As long as they looked good, I didn’t want to bother with what the code looked like.1

But when it came to deployment, that zero-dependency policy paid off nicely. No build step whatsoever. Apart from some infrastructure like Caddy for TLS, you just run the script.

Anyways, I deployed it, gave Eddie his calendar, and subscribed to it on my phone. This works pretty well so far and I’m happy with the solution. But I’d like to develop calfeed further into a backend that lets AI agents manage calendars we humans can subscribe to. The whole thing started as a way to keep my calendar to myself, but the idea works just as well in the other direction. Eddie could maintain a public calendar with all music events in my city or sports events or whatever, and everyone who’s interested could subscribe to it.

联系我们 contact @ memedata.com