[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-652":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},652,"agentic-inbox","cloudflare\u002Fagentic-inbox","cloudflare","A self-hosted email client with an AI agent, running entirely on Cloudflare Workers","",null,"TypeScript",4278,569,20,19,0,262,556,1356,786,30.27,"Apache License 2.0",false,"main",[],"2026-06-12 02:00:16","\u003Cdiv align=\"center\">\n  \u003Ch1>Agentic Inbox\u003C\u002Fh1>\n  \u003Cp>\u003Cem>A self-hosted email client with an AI agent, running entirely on Cloudflare Workers\u003C\u002Fem>\u003C\u002Fp>\n\u003C\u002Fdiv>\n\nAgentic Inbox lets you send, receive, and manage emails through a modern web interface -- all powered by your own Cloudflare account. Incoming emails arrive via [Cloudflare Email Routing](https:\u002F\u002Fdevelopers.cloudflare.com\u002Femail-routing\u002F), each mailbox is isolated in its own [Durable Object](https:\u002F\u002Fdevelopers.cloudflare.com\u002Fdurable-objects\u002F) with a SQLite database, and attachments are stored in [R2](https:\u002F\u002Fdevelopers.cloudflare.com\u002Fr2\u002F).\n\nAn **AI-powered Email Agent** can read your inbox, search conversations, and draft replies -- built with the [Cloudflare Agents SDK](https:\u002F\u002Fdevelopers.cloudflare.com\u002Fagents\u002F) and [Workers AI](https:\u002F\u002Fdevelopers.cloudflare.com\u002Fworkers-ai\u002F).\n\n![Agentic Inbox screenshot](.\u002Fdemo_app.png)\n\n\nRead the blog post to learn more about Cloudflare Email Service and how to use it with the Agents SDK, MCP, and from the Wrangler CLI: [Email for Agents](https:\u002F\u002Fblog.cloudflare.com\u002Femail-for-agents\u002F).\n\n## How to setup\n\n**Important**: Clicking the 'Deploy to Cloudflare' button is only one part of the setup. You must follow the **After deploying** steps as well. For a full step-by-step guide with screenshots, refer to this comment: \nhttps:\u002F\u002Fgithub.com\u002Fcloudflare\u002Fagentic-inbox\u002Fissues\u002F4#issuecomment-4269118513\n\n### To set up\n\n1. Deploy to Cloudflare. The deploy flow will automatically provision R2, Durable Objects, and Workers AI. You'll be prompted for **DOMAINS**, which is the domain (yourdomain.com) you want to receive emails for (email@yourdomain.com).\n\n     [![Deploy to Cloudflare](https:\u002F\u002Fdeploy.workers.cloudflare.com\u002Fbutton)](https:\u002F\u002Fdeploy.workers.cloudflare.com\u002F?url=https:\u002F\u002Fgithub.com\u002Fcloudflare\u002Fagentic-inbox)\n\n2. **Configure Cloudflare Access** -- Enable [one-click Cloudflare Access](https:\u002F\u002Fdevelopers.cloudflare.com\u002Fchangelog\u002Fpost\u002F2025-10-03-one-click-access-for-workers\u002F) on your Worker under Settings > Domains & Routes. The modal will show your `POLICY_AUD` and `TEAM_DOMAIN` values. `TEAM_DOMAIN` can be either your Access team URL or the full `...\u002Fcdn-cgi\u002Faccess\u002Fcerts` URL. **You must set these as secrets for your Worker.**\n3. **Set up Email Routing** -- In the Cloudflare dashboard, go to your domain > Email Routing and create a catch-all rule that forwards to this Worker\n4. **Enable Email Service** -- The worker needs the `send_email` binding to send outbound emails. See [Email Service docs](https:\u002F\u002Fdevelopers.cloudflare.com\u002Femail-routing\u002Femail-workers\u002Fsend-email-workers\u002F)\n5. **Create a mailbox** -- Visit your deployed app and create a mailbox for any address on your domain (e.g. `hello@example.com`)\n\n### Troubleshooting Access\n\n1. If you see `Invalid or expired Access token`, that usually means `POLICY_AUD` or `TEAM_DOMAIN` secrets are incorrect.\n   * Resolution: [turn Access off and back on for the Worker to get the Access modal again](https:\u002F\u002Fdevelopers.cloudflare.com\u002Fchangelog\u002Fpost\u002F2025-10-03-one-click-access-for-workers\u002F), then reset your Worker secrets to the latest `POLICY_AUD` and `TEAM_DOMAIN` values shown there.\n2. If you see `Cloudflare Access must be configured in production`, this application is intentionally enforcing Cloudflare Access so your inbox is not exposed to anyone on the internet.\n   * Resolution: enable Access using [one-click Cloudflare Access for Workers](https:\u002F\u002Fdevelopers.cloudflare.com\u002Fchangelog\u002Fpost\u002F2025-10-03-one-click-access-for-workers\u002F), then set the `POLICY_AUD` and `TEAM_DOMAIN` Worker secrets from the modal values.\n\n## Features\n\n- **Full email client** — Send and receive emails via Cloudflare Email Routing with a rich text composer, reply\u002Fforward threading, folder organization, search, and attachments\n- **Per-mailbox isolation** — Each mailbox runs in its own Durable Object with SQLite storage and R2 for attachments\n- **Built-in AI agent** — Side panel with 9 email tools for reading, searching, drafting, and sending\n- **Auto-draft on new email** — Agent automatically reads inbound emails and generates draft replies, always requiring explicit confirmation before sending\n- **Configurable and persistent** — Custom system prompts per mailbox, persistent chat history, streaming markdown responses, and tool call visibility\n\n## Stack\n\n- **Frontend:** React 19, React Router v7, Tailwind CSS, Zustand, TipTap, `@cloudflare\u002Fkumo`\n- **Backend:** Hono, Cloudflare Workers, Durable Objects (SQLite), R2, Email Routing\n- **AI Agent:** Cloudflare Agents SDK (`AIChatAgent`), AI SDK v6, Workers AI (`@cf\u002Fmoonshotai\u002Fkimi-k2.5`), `react-markdown` + `remark-gfm`\n- **Auth:** Cloudflare Access JWT validation (required outside local development)\n\n## Getting Started\n\n```bash\nnpm install\nnpm run dev\n```\n\n### Configuration\n\n1. Set your domain in `wrangler.jsonc`\n2. Create an R2 bucket named `agentic-inbox`: `wrangler r2 bucket create agentic-inbox`\n\n### Deploy\n\n```bash\nnpm run deploy\n```\n\n## Prerequisites\n\n- Cloudflare account with a domain\n- [Email Routing](https:\u002F\u002Fdevelopers.cloudflare.com\u002Femail-routing\u002F) enabled for receiving\n- [Email Service](https:\u002F\u002Fdevelopers.cloudflare.com\u002Femail-service\u002F) enabled for sending\n- [Workers AI](https:\u002F\u002Fdevelopers.cloudflare.com\u002Fworkers-ai\u002F) enabled (for the agent)\n- [Cloudflare Access](https:\u002F\u002Fdevelopers.cloudflare.com\u002Fcloudflare-one\u002Fpolicies\u002Faccess\u002F) configured for deployed\u002Fshared environments (required in production)\n\nAny user who passes the shared Cloudflare Access policy can access all mailboxes in this app by design. This includes the MCP server at `\u002Fmcp` -- external AI tools (Claude Code, Cursor, etc.) connected via MCP can operate on any mailbox by passing a `mailboxId` parameter. There is no per-mailbox authorization; the Cloudflare Access policy is the single trust boundary.\n\n## Architecture\n\n```\n┌──────────────┐     ┌──────────────────┐     ┌─────────────────┐\n│   Browser    │────>│  Hono Worker     │────>│  MailboxDO      │\n│  React SPA   │     │  (API + SSR)     │     │  (SQLite + R2)  │\n│  Agent Panel │     │                  │     └─────────────────┘\n└──────┬───────┘     │  \u002Fagents\u002F* ──────┼────>┌─────────────────┐\n       │             │                  │     │  EmailAgent DO  │\n       │ WebSocket   │                  │     │  (AIChatAgent)  │\n       └─────────────┤                  │     │  9 email tools  │\n                     │                  │────>│  Workers AI     │\n                     └──────────────────┘     └─────────────────┘\n```\n\n## License\n\nApache 2.0 -- see [LICENSE](LICENSE).\n","Agentic Inbox 是一个基于 Cloudflare Workers 的自托管电子邮件客户端，集成了 AI 代理。它利用 Cloudflare 的 Email Routing、Durable Objects 和 R2 存储服务来处理邮件的收发与管理，并通过 SQLite 数据库为每个邮箱提供隔离存储。其核心功能包括现代网页界面操作、AI 代理辅助阅读和回复邮件等。适用于需要在自有基础设施上运行且希望集成智能助手以提高效率的企业或个人用户。",2,"2026-06-11 02:38:21","CREATED_QUERY"]