Agentic Inbox
在自己的 Cloudflare 账户中托管邮箱,并用内置智能体检索邮件、管理会话和起草回复。
证据明确描述了 Cloudflare Access、每邮箱 Durable Object 隔离、SQLite/R2 数据路径、Workers AI、工具调用可见性,以及发送前必须明确确认,因此确认机制和数据流透明度得分较高。扣分点是共享 Access 策略通过者可访问全部邮箱,MCP 客户端也可通过 mailboxId 操作任意邮箱,缺少邮箱级授权;未说明加密、保留、删除或备份政策;依赖虽有版本与 overrides,但没有锁文件、漏洞扫描或更新政策证据;发送后也未提供撤销或恢复机制。来源由仓库名、README、许可证版权和依赖名称部分说明,但发布者注册身份仍未知。
README、package.json 和许可证对产品名称、Cloudflare 技术栈、部署方式及许可证基本一致。先决条件和服务依赖列得较清楚,Access 常见错误也有具体消息与修复步骤。扣分是未提供代码实现、测试、锁文件或更广泛故障处理证据,且运行依赖多个需要单独启用和配置的 Cloudflare 服务。
资料清楚面向拥有 Cloudflare 账户和域名、希望自托管邮件与 AI 助手的用户,并列出收发、搜索、起草、附件和 MCP 场景。能力边界、生产环境认证边界、自动起草触发条件和发送确认都很明确;本地与生产配置也较完整。扣分是缺少多租户、非 Cloudflare 环境、规模限制及不同用户角色的适配说明。
README 的设置、故障排查、功能、技术栈、先决条件和架构组织清晰,安装与部署命令可直接使用;单一 Access 信任边界这一重要限制披露充分,Apache-2.0 由 README、package.json 和完整 LICENSE 一致支持。扣分是示例主要为简短命令和邮箱示例,FAQ 范围有限;没有版本号、发布记录或 changelog;维护责任仅能从仓库归属、问题链接和版权声明推断,缺少明确维护者、支持渠道与更新承诺。
邮件客户端、线程、文件夹、搜索、附件、富文本编辑、自动草拟、持久聊天和工具调用可见性构成可直接理解的输出与工作流,因此输出可用性较强。扣分是边际价值主要由功能描述宣称,没有实际输出样例或比较材料;自托管价值明确,但需要域名、Email Routing、Email Service、Workers AI、R2、Durable Objects 和 Access,资料没有量化费用、延迟或运维负担。
若干核心主张可在 README、package.json 和 LICENSE 之间交叉核对,例如产品名称、Cloudflare 组件、命令和许可证。扣分是未提供代理实现代码、配置文件、测试或锁文件,因而九项工具、发送确认、邮箱隔离和认证执行等主张主要仍是 README 陈述;事实、设计意图与宣传性表述虽大体可辨,但没有系统标注推断、保证和未经验证的限制。
- 共享 Cloudflare Access 策略是唯一信任边界;任何通过该策略的用户或已连接的 MCP 工具都可操作全部邮箱,而不是仅限单个邮箱。
- 自动代理会读取新邮件并生成草稿;虽然资料声明发送需要明确确认,仍应在部署前从实现代码确认所有发送路径均强制执行该门槛。
- 邮件正文、附件、聊天历史和模型处理可能涉及高度敏感数据,但提供的资料没有说明加密、保留期限、删除、备份或审计策略。
- 依赖大量采用范围版本,且未提供锁文件、漏洞扫描结果或安全更新流程;无法从本次静态材料确认供应链状态。
- 部署依赖多个 Cloudflare 付费或受配额约束的服务,资料未说明成本、配额、延迟、容量或灾难恢复。
这个 Agent 能做什么,适合哪些场景?
Agentic Inbox 是一个完全运行在 Cloudflare Workers 上的自托管邮件客户端,提供 React 19 Web 界面和内置邮件智能体。邮件通过 Cloudflare Email Routing 接收,由 Hono Worker 处理;每个邮箱分别存放在带 SQLite 的 Durable Object 中,附件则写入 R2。侧边栏智能体基于 Cloudflare Agents SDK 的 AIChatAgent、AI SDK v6 和 Workers AI,可读取收件箱、搜索会话、起草及发送邮件。新邮件到达后,系统可以自动生成回复草稿,但发送前始终要求用户明确确认。生产部署必须使用 Cloudflare Access,且通过同一 Access 策略的用户能够访问应用中的所有邮箱,包括通过 /mcp 接入的外部工具。
浏览器中的 React SPA 调用 Hono Worker 提供的 API,并通过 WebSocket 连接 /agents/* 下的 EmailAgent Durable Object。Cloudflare Email Routing 把入站邮件交给 Worker,MailboxDO 使用 SQLite 保存邮箱数据,并用 R2 保存附件。用户可以收发邮件、撰写富文本内容、回复或转发会话、整理文件夹、搜索邮件以及处理附件。基于 AIChatAgent 的智能体提供 9 个邮件工具,可读取和搜索邮件、生成回复草稿并执行发送;它使用 Workers AI 模型 @cf/moonshotai/kimi-k2.5,并展示流式 Markdown、工具调用和持久聊天记录。每个邮箱还可设置自定义系统提示词。应用在 /mcp 暴露 MCP 服务,Claude Code、Cursor 等外部工具可以通过 mailboxId 操作邮箱。
- 拥有 Cloudflare 托管域名的个人,希望在自己的账户内运行一个可收发邮件的 Web 邮箱,而不是采用独立托管的邮件应用。
- 需要处理大量往来邮件的用户,可让智能体搜索历史会话并生成回复草稿,再在人工确认后发送。
- 管理多个域名邮箱地址的小团队,可利用每邮箱一个 Durable Object 的方式隔离存储和会话。
- 希望自动准备初步回复、但不允许系统未经确认直接发信的用户,可启用新邮件自动起草流程。
- 使用 Claude Code 或 Cursor 的开发者,可通过 /mcp 和 mailboxId 从外部工具读取或操作应用中的邮箱。
这个 Agent 有哪些优点和局限?
- 邮件接收、存储、附件和智能体运行均整合在 Cloudflare 平台内,部署流程可自动配置 R2、Durable Objects 和 Workers AI。
- 每个邮箱使用独立的 Durable Object 和 SQLite 数据库,附件使用 R2,存储边界清晰。
- 自动回复仅生成草稿,发送前始终需要明确确认,可降低自动误发风险。
- 除完整 Web 邮件客户端外,还提供包含 9 个邮件工具的智能体侧边栏、持久聊天记录和工具调用可见性。
- 提供
/mcp服务,文档明确说明 Claude Code、Cursor 等外部工具可通过 mailboxId 操作邮箱。
- 核心运行依赖 Cloudflare Workers、Durable Objects、R2、Email Routing、Email Service、Workers AI 和 Access,不是可直接迁移到其他云平台的通用部署。
- 一键部署并不能完成全部配置;仍须手动设置 Access secrets、Email Routing catch-all 规则和
send_emailbinding。 - 系统没有邮箱级授权;任何通过共享 Cloudflare Access 策略的用户都能访问全部邮箱,MCP 客户端同样如此。
- AI 实现明确绑定 Workers AI 的 @cf/moonshotai/kimi-k2.5,来源未说明其他模型或提供商适配器。
- 收发邮件需要 Cloudflare 账户、受管理域名及多项已启用的 Cloudflare 服务,前置条件较多。
如何安装或部署这个 Agent?
前提是拥有 Cloudflare 账户和由其管理的域名,并启用 Email Routing、Email Service、Workers AI;生产或共享环境还必须配置 Cloudflare Access。部署路径一:使用仓库提供的 Deploy to Cloudflare 流程,并填写用于收信的 DOMAINS。部署路径二:在源码目录运行 npm install,在 wrangler.jsonc 中设置域名,执行 wrangler r2 bucket create agentic-inbox 创建 R2 存储桶,然后运行 npm run deploy;本地开发可运行 npm run dev。部署流程会自动配置 R2、Durable Objects 和 Workers AI,但仍需完成部署后设置:为 Worker 启用一键 Cloudflare Access,把弹窗中的 POLICY_AUD 和 TEAM_DOMAIN 设置为 Worker secrets;在域名的 Email Routing 中创建转发到该 Worker 的 catch-all 规则;配置用于出站邮件的 send_email binding。
如何使用这个 Agent?
部署并完成 Access、Email Routing 和 Email Service 设置后,打开应用并为域名中的任意地址创建邮箱,例如 [email protected]。在 Web 客户端中收发邮件、搜索会话、管理文件夹和附件,或打开智能体侧边栏,让其读取收件箱、检索邮件和起草回复。入站邮件可触发自动草稿,但必须由用户明确确认才能发送。每个邮箱可以配置独立的系统提示词,聊天记录会持续保存。外部工具也可以连接应用的 /mcp 服务,并通过 mailboxId 指定要操作的邮箱;这些访问受应用共享的 Cloudflare Access 策略约束。
常见问题
它能在没有 Cloudflare 的服务器上运行吗?
智能体会自动发送生成的回复吗?
不同邮箱之间是否有独立权限?
出现 Invalid or expired Access token 时应该检查什么?
是否支持外部智能体工具?
/mcp 提供服务,文档明确提到 Claude Code 和 Cursor 等工具可传入 mailboxId 操作邮箱;这些工具同样可访问 Access 策略允许的全部邮箱。