惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog RSS Feed
量子位
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
B
Blog
U
Unit 42
C
Check Point Blog
I
InfoQ
aimingoo的专栏
aimingoo的专栏
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 【当耐特】
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
H
Help Net Security
MongoDB | Blog
MongoDB | Blog
博客园 - Franky
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
云风的 BLOG
云风的 BLOG
宝玉的分享
宝玉的分享
爱范儿
爱范儿

AWS Open Source Blog

Unified Knowledge Graph RAG on AWS: GraphRAG and LightRAG on one stack | Amazon Web Services Build full-stack AWS applications in minutes with AI-powered scaffolding | Amazon Web Services AWS Supports Agent Plugins: An Open Standard for Portable Agent Extensions | Amazon Web Services Introducing Dogwood: runtime verification for AI agents | Amazon Web Services Open Protocols with the Strands Agents SDK | Amazon Web Services Building secure AI agents at scale: Introducing Loom for AWS | Amazon Web Services Introducing MCP server for Registry of Open Data on AWS | Amazon Web Services Building a Stateful IT Service Desk Agent with LangGraph on Amazon EKS | Amazon Web Services Open Governance for MySQL: A Step Forward for the Community | Amazon Web Services Governing AI Assets at Scale with MCP Gateway and Registry | Amazon Web Services Introducing Trusted Remote Execution: Policy-Enforced Scripts for AI Agents and Humans | Amazon Web Services Decoupling Authorization at Scale: MongoDB Atlas and Cedar-Based Resource Policies | Amazon Web Services Deploying cloud-based engineering workbenches with the Virtual Engineering Workbench on AWS | Amazon Web Services OCSF Achieves ITU Support: Powering AI-Ready Security Operations | Amazon Web Services AWS and Others Invest $12.5M to Defend the Open Source Ecosystem from AI Threats | Amazon Web Services Introducing Strands Labs: Get hands-on today with state-of-the-art, experimental approaches to agentic development | Amazon Web Services Cedar Joins CNCF as a Sandbox Project | Amazon Web Services Building intelligent physical AI: From edge to cloud with Strands Agents, Bedrock AgentCore, Claude 4.5, NVIDIA GR00T, and Hugging Face LeRobot | Amazon Web Services Shaping the future of MCP: AWS’s commitment and vision | Amazon Web Services Introducing Strands Agent SOPs – Natural Language Workflows for AI Agents | Amazon Web Services Announcing ml-container-creator for easy BYOC on SageMaker | Amazon Web Services The Swift AWS Lambda Runtime moves to AWSLabs | Amazon Web Services Jupyter Deploy: Create a JupyterLab application with real-time collaboration in the cloud in minutes | Amazon Web Services Introducing CLI Agent Orchestrator: Transforming Developer CLI Tools into a Multi-Agent Powerhouse | Amazon Web Services Strands Agents and the Model-Driven Approach | Amazon Web Services AWS joins the DocumentDB project to build interoperable, open source document database technology | Amazon Web Services Open Protocols for Agent Interoperability Part 4: Inter-Agent Communication on A2A | Amazon Web Services Powering AI-Driven Security with the Open Cybersecurity Schema Framework | Amazon Web Services Introducing Strands Agents 1.0: Production-Ready Multi-Agent Orchestration Made Simple | Amazon Web Services Open Protocols for Agent Interoperability Part 3: Strands Agents & MCP | Amazon Web Services
Introducing Pizza Bot, an open source inbox for AI agents...
Joseph Dolivo · 2026-09-11 · via AWS Open Source Blog

Give an agent a task actually worth delegating and you’ll be waiting a while. Ask it what needs your attention this morning and it has to read your mail, your messages, and your task list before it can answer. Then it stops halfway, because one step needs your approval. Meanwhile you’re watching a chat window (or terminal) scroll. That is babysitting, not collaboration. Today we’re releasing Pizza Bot, an open source application that runs AI agents in the background and gives their work an inbox, so the agent comes back to you when it’s finished or when it’s stuck, and not before.

You don’t send an email and then sit watching the outbox until the reply lands. Pizza Bot is shaped like an email client for the same reason: a thread is a unit of work you come back to rather than a session you have to attend. Live chat assumes both parties are present, which holds for a quick exchange and breaks the moment a task takes several minutes, waits on your approval, or runs on a schedule while you’re away. Pizza Bot treats an agent the way you’d treat a colleague who has gone off to do the work: it comes back when there’s something to read, or something only you can decide.

You start a task yourself, put it on a schedule, or let a webhook start it. The agent works while you do something else. Finished work lands in Unread, and anything waiting on your decision lands in Action.

A hosted assistant runs on somebody else’s infrastructure, with the model and the data boundary that come with it. Pizza Bot is self-hosted and has no telemetry. It runs on your own machine, with the model provider you choose: Anthropic, Amazon Bedrock, Google Gemini, OpenAI, OpenRouter, or even a local model through Ollama.

Pizza Bot began inside Amazon, where more than 2,000 people used earlier versions for meeting preparation and follow-ups, email drafting, Slack summaries, CRM logging, day prioritization, and web research. (The name comes from Amazon’s two-pizza teams, small teams with broad ownership.) We rebuilt it from the ground up as an open source project, something coding agents made practical for a small team.

The following screenshot shows the result: finished work and one approval request in the thread list, a completed brief open, and the Activity panel listing the specialists the main agent handed work to.

Screenshot of the Pizza Bot inbox showing a thread list with unread work and one thread awaiting approval, a completed brief open in the reading pane, and an Activity panel listing two delegated specialist workers.

Why background agents need an inbox

Coding agents were already paying off for programmers, and we wanted the same for knowledge work. Across every workflow we built, the same four requirements kept coming up: inspect several sources, prepare a result in the background, ask before taking a consequential action, and come find the person who asked once it was done. None of those describe how anyone uses a chat window. They describe how people already work with each other.

Email gave us a model that needs no explanation: threads, unread state, search, pinning, and notifications. So the inbox is where background work surfaces, as three queues you already know how to read:

  • All is the thread history.
  • Unread is completed work you haven’t looked at yet.
  • Action is work that’s paused, waiting on your approval or your answer.

Alongside them, an Activity panel shows work the main agent handed to a specialist, including that specialist’s own transcript. A long task stays legible while it’s still running. The following screenshot shows one delegated worker expanded, with its own tool calls beside the main thread.

Screenshot of the Pizza Bot Activity panel with a delegated skill worker expanded, showing the worker's own tool calls and transcript beside the main thread.

Where Pizza Bot fits

A lot has shipped since we started building Pizza Bot. There are SDKs for building your own agent, and many hosted assistants now offer some form of background task, so it’s fair to ask what Pizza Bot adds.

Most agent tooling is aimed at people who are building something. Pizza Bot is for people who just need the work done, so it’s a finished application aimed at the rest of the day’s work rather than at writing software. These are the commitments behind it:

The interface assumes you are not watching. Nothing else we’ve seen starts there, and that one assumption is what buys you pauses that outlast the session that created them, notifications worth acting on, and scheduled work that produces threads instead of logs.

Your existing tools and skills carry over. Pizza Bot didn’t invent an extension format. It connects to Model Context Protocol (MCP) servers for tools, and works with Agent Skills, the Markdown convention Anthropic introduced, for packaging what a specialist knows. You can continue to use the tools and skills you’ve already written.

Nothing leaves your machine unless you send it there. Pizza Bot listens only on your own machine until you tell it otherwise, and everything it stores stays in a folder you own. The model provider is your choice, and so is every tool the agent can reach.

How Pizza Bot works

Pizza Bot is a server and a client. The server runs the agent, owns its state, and answers over HTTP. The client is whatever you’re looking at: the Electron desktop application, a browser, or a terminal. The desktop application wraps both, starting a local server of its own and connecting to it the same way a client on another machine would.

Diagram of the Pizza Bot architecture: Electron desktop app, desktop browser, phone or tablet browser, and terminal clients all connect to the Pizza Bot server (HTTP and run manager), which connects to the DeepAgents / LangGraph stateful agent runtime; the runtime connects to SQLite and files (checkpoints, threads, attachments), MCP servers and skill workers, and your model provider.

Because the work lives on the server, a run keeps going when you close the thread, reload the page, or switch devices, and a client that reconnects catches up on what it missed. Put the server on a machine that’s always on, or in a container, and you can reach the same threads from a laptop, a phone, or a terminal; the desktop application can point at that server instead of starting one of its own.

Quitting the desktop application stops the server it started, which ends that server’s runs. Because the run is checkpointed as it goes, you lose the step in flight rather than the thread.

Where your data lives

A thread is the durable home for a conversation and the agent state that goes with it. Underneath, DeepAgents builds the agent on LangGraph, an open source framework for stateful agents, which checkpoints a run as it proceeds, so the messages, the tool activity, and a pause waiting on your approval are on disk rather than in memory.

All of it stays in one folder you control: threads, checkpoints, memories, attachments, settings, and logs, as SQLite databases and ordinary files. One folder holds everything worth backing up. Copy it with the server stopped, or with a tool that understands a live SQLite database.

You control what leaves the machine. Pizza Bot sends prompts and attachments to the model provider you chose, and tool calls to the MCP servers you enabled. Those servers can act on your behalf, which is worth remembering when you install one. Pizza Bot hands provider credentials to the operating system’s secret store rather than leaving them in a plaintext configuration file, and never sends them to a browser client. A deployment that isn’t local-only requires an API token and an explicit list of allowed origins, and Pizza Bot won’t serve a remote client without both. SECURITY.md documents the full boundary and how to report a vulnerability privately.

What the agent can already do

Out of the box Pizza Bot can already do real work. The agent can list, read, write, edit, and search files in a scratch space of its own, delegate through task, and run a sandboxed JavaScript interpreter with no network and no host filesystem for arithmetic, parsing, and delegating several tasks at once. The Activity panel is where that delegation shows up.

Your disk stays out of reach until you grant access to a folder, and each grant is read-only or read and write, your choice. Memories are opt-in too. Switch them on and /memories/ persists across threads, editable in the application, so something worth remembering outlives the run that learned it.

Everything past that comes from an MCP server, and skills are how you decide who gets to call what.

Skills

The main agent you talk to in a thread is a generalist. Specialists come from skills, one SKILL.md file apiece. An enabled skill can become a worker the main agent delegates to, with its own instructions and its own short list of MCP tools.

A meeting-preparation skill might get calendar, CRM, and document tools. The browser-automation skill that ships with Pizza Bot gets a browser and no other MCP tools. Keeping each specialist’s list short is the point: it keeps a delegated task focused, and it makes the agent’s reach reviewable at a glance.

A skill can also require your approval before specific tools run, and it decides which answers you’re allowed to give. That pause is durable, so you can answer an hour later, from a different device, from the Action queue. The following screenshot shows an approval card holding a run open until you decide.

Screenshot of the Pizza Bot Action queue with an approval card expanded, showing the exact field values a proposed action would submit above approve, edit, and reject buttons.

Automations

Pizza Bot runs cron schedules and secret-protected webhooks from an Automations screen, once you switch it on in Settings. The server owns the scheduler and records every occurrence. When it starts up after being off or asleep, it runs a schedule it slept through once rather than replaying every occurrence it missed, so a machine that spent a month switched off gives you one result instead of thirty.

Scheduled work and work you typed share everything downstream: the same persistence, the same approvals, the same notifications, the same inbox.

Get started

Download a build for macOS, Windows, or Linux from the releases page, open it (only Mac builds are signed so far, so your operating system may ask you to confirm), and configure a model provider under Settings > Providers. The following screenshot shows the provider settings.

Screenshot of Pizza Bot settings showing several model providers with one configured, including credential fields and a default model selector.

Two skills ship with Pizza Bot. The browser-automation skill above relies on the Playwright MCP server to drive a web browser you already have installed. The second, pizza-bot-guide, answers questions about Pizza Bot itself, which is a reasonable first thing to ask it.

Two things to know before you commit a workflow to it. Pizza Bot is a community project rather than an AWS service, so there’s no AWS support or service-level agreement behind it; keeping Pizza Bot running, backed up, and up to date is yours.

It’s also young in a particular way. Most of Pizza Bot’s day-one usefulness inside Amazon came from an internal marketplace of ready-made skills and MCP servers for the systems people already worked in. Those were built against Amazon’s own tools and wouldn’t be much use to anyone outside it, so they came out during the rebuild. Replacing them with skills and MCP servers for the systems you use is where we most need help, and we’d rather build that with you than guess at it.

Extend Pizza Bot with skills and MCP

Skills, MCP servers, and plugins are managed in the application, and a Claude Code-compatible .mcp.json you already have drops straight in. A skill only becomes callable once the servers and tools it declares are actually available, and the Skills screen shows you which ones are not. The ones you write live in skills/ inside your data folder, which defaults to ~/.pizza-bot-oss; docs/EXTENDING.md covers plugins, catalog precedence, and the rest. The following screenshot shows the Skills screen, including one skill that cannot run yet because an MCP server it declares is missing.

Screenshot of the Pizza Bot Skills screen listing built-in, plugin, and user skills with readiness indicators, one of them unavailable because its MCP server is not configured, with the editor open on one skill.

Writing a skill means writing an ordinary SKILL.md, which Pizza Bot reads with two additions. tools is the list of MCP tools the specialist may call. interruptOn is a per-tool approval policy, where allowedDecisions sets the buttons you get; edit is the one worth noticing, because it lets you correct what the agent proposed rather than rejecting it and starting the run over. Installing an MCP server or a plugin means running code with your permissions, so Pizza Bot makes that an explicit decision at install time rather than a side effect.

Join the Pizza Bot community

Pizza Bot is open source under the Apache License 2.0, and our roadmap is a set of principles rather than a release schedule:

  • You own your data. It stays on your machine until you allow otherwise.
  • Bring your own model. Whatever fits the job, including a local one when the data shouldn’t leave at all.
  • Build what’s missing. The skills you write load the same way the built-in ones do, so anything we can add, you can.

We know the inbox works for the workflows we built it for. Whether it holds for the ones we never thought of is what building in the open will tell us.

Start at the repository. CONTRIBUTING.md covers building and submitting a change, and the running guide covers putting the server on an always-on machine so schedules fire when your own computer is off.

If something’s missing, the fastest path is usually to build it yourself as a skill or an MCP server, then share it so the next person doesn’t have to. What we most want to hear about is the other kind of gap, the one where the application itself gets in your way and no skill can fix it.

Pizza Bot was built with the help of Flávio Schuindt, Jacob Wert, Michael Karachewski, and Itzik Paz. The team calls itself “Chefs,” in keeping with the two-pizza theme.

Pizza Bot is a trademark of Amazon.com, Inc. or its affiliates.