核心亮点:本地优先(隐私友好)、实时交互(像 ChatGPT 一样流畅)、易扩展。技术栈包括 IMAP 拉取邮件、SQLite 缓存、Bun 后端、WebSocket 实时通信,以及 Claude AI 驱动智能逻辑。咱们从数据流、后端、AI 集成、前端四个层面拆解,看看它怎么把这些拼成一个“AI 邮箱管家”。
1. 数据层:邮箱同步与本地缓存
这部分是整个系统的“地基”,负责把你的邮箱数据变成 AI 能用的结构化信息。
· 邮箱同步(IMAP):系统通过 IMAP 协议(比如 Gmail 的 imap. gmail. com)连到你的邮箱。选 IMAP 是因为它安全、不会删邮件,能灵活按条件(比如“发件人:老板”或“上周邮件”)拉取邮件头和片段。默认每 5 分钟同步一次,效率高、不占用过多带宽。
· 本地缓存(SQLite):拉来的邮件元数据(发件人、主题、时间、内容片段)存到本地的 SQLite 数据库。SQLite 轻量、无需服务器,文件存在 ./emails.db,完美适合本地开发。AI 优先查这个缓存,速度快,偶尔才回 IMAP 拿新数据。隐私上,它只存元数据,不保存全文,保护你的邮箱内容。
· 为什么重要?:这层把复杂邮箱变成结构化数据,AI 能秒搜、分析。本地缓存减少了对网络的依赖,适合隐私敏感场景。开发者可以学到如何把外部数据(比如 API 或其他服务)喂给 AI,灵活又高效。
2. 后端逻辑:服务器与实时通信
后端是系统的“神经中枢”,连接数据、AI 和用户界面,保持一切顺畅。
· 服务器框架:用 Bun 搭了个轻量 HTTP 服务器,跑在 localhost:3000。负责提供静态文件(网页 UI)和少量 API(比如触发邮件同步)。Bun 的选择很讨巧,TypeScript 开箱即用,启动快,适合快速迭代。
· WebSocket 实时交互:这是后端的亮点!通过 WebSocket,服务器和浏览器实时双向通信。你问 AI “总结项目邮件”,它边思考边把答案流式推到界面,像 ChatGPT 的打字效果。这种实时感避免了页面刷新,体验丝滑。
· 为什么重要?:后端简单但高效,WebSocket 让 AI 交互像跟真人聊天。开发者可以借鉴这套架构,打造其他实时应用,比如直播仪表盘或协作工具。它的轻量设计也让改动成本低。
3. AI 集成:Claude Code SDK 的魔法
这里是系统的“大脑”,Claude Code SDK 让 AI 不仅会聊天,还能“干活”。
· Claude 的角色:不像普通聊天模型,Claude 通过 SDK 支持“工具调用”。你说“找 Q3 报告的邮件”,它会自己决定调用搜索工具,查 SQLite 数据库,拿结果后再生成自然语言回答(比如总结邮件内容或写回复)。它还能记住对话上下文,方便连续提问,比如“再帮我起草个回复”。
· 工具框架:系统定义了工具(比如“search_emails”),告诉 Claude 怎么跟数据库交互。Claude 收到用户指令后,判断是否需要工具,自动执行(比如跑 SQL),然后把结果融入回答。这种“智能体”模式让 AI 像个智能助手,主动处理复杂任务。
· 为什么重要?:Claude SDK 是这项目的灵魂,展示 AI 如何从“回答问题”升级到“执行任务”。开发者可以用这套逻辑,给 AI 加新工具(比如发邮件、连 CRM),打造更复杂的应用。本地处理(不依赖云)也让它适合快速原型开发。
4. 前端:简洁的网页界面
前端是用户的“门面”,简单但够用,突出 AI 和后端的能力。
· 界面设计:一个 HTML 页面,带点 CSS 美化,布局像简版 Gmail:左边是邮件列表,右边是 AI 对话框,还有个输入框让你跟 Claude 聊天。功能按钮(比如“搜索”或“起草回复”)触发 AI 任务,效果直观。
· 客户端逻辑:浏览器里的 JavaScript 负责连 WebSocket、渲染邮件列表、显示 AI 的流式回答。代码量少(百来行),但能动态更新界面,比如 AI 边生成回复边显示,体验很现代。
· 为什么重要?:前端轻量,重点是展示后端和 AI 的能力。开发者可以轻松替换成 React、Vue 等框架,或者加新功能(比如邮件预览)。WebSocket 驱动的实时更新是个亮点,让用户觉得 AI “活”在界面里。
https://github.com/anthropics/claude-code-sdk-demos