{"slug": "pizza-bot-a-local-first-inbox-for-long-running-ai-agents", "title": "Pizza Bot: a local-first inbox for long-running AI agents", "summary": "Amazon released Pizza Bot, an open-source, local-first inbox for long-running AI agents, under the Apache 2.0 license. The tool runs on a stateful DeepAgents/LangGraph runtime with an Electron desktop app, browser client, and terminal CLI that all communicate with an api-server over HTTP/SSE, and it supports model providers including Amazon Bedrock, Anthropic, Google Gemini, OpenAI, OpenRouter, and Ollama. Pizza Bot requires Node.js 24 or newer, ships signed and notarized macOS installers plus unsigned Windows and Linux builds with a SHA256SUMS file, and grants no default home-directory access.", "body_md": "Pizza Bot is an inbox for long-running AI work. Start or schedule a task, return\nto your day, and let completed work collect in **Unread** while runs waiting for\nyour decision collect in **Action**. Agents keep working when you navigate away\nor disconnect; the api-server process must remain running.\n\nPizza Bot uses a stateful DeepAgents/LangGraph runtime with the same React experience in Electron and the browser. The desktop app, web app, and terminal CLI all communicate with the api-server over HTTP/SSE.\n\nPizza Bot was developed at Amazon and is released under the Apache 2.0 license.\n\n- **Work asynchronously.** Switch conversations without stopping their runs.\n- **Return to the right queue.** Completed work lands in Unread; durable approval\nrequests land in Action.\n- **Organize conversations.** Group threads into folders without hiding matching\nwork from the global Unread and Action queues.\n- **Resume real work.** Checkpointed runs survive client disconnects, and cron or\nwebhook triggers can start work without an open conversation.\n- **Delegate to specialists.** Skills become tool-scoped workers whose progress\nappears in the Activity panel.\n- **Bring your model provider.** Amazon Bedrock, Anthropic, Google Gemini,\nOpenAI, OpenRouter, and Ollama are supported.\n- **Keep control of consequential actions.** Human-in-the-loop approvals,\nlong-term memory, file attachments, and desktop notifications are built into\nthe workflow.\n- **Grant local access explicitly.** Add individual read-only or writable folders\nunder**Settings > Files** ; Pizza Bot receives no default home-directory access.\n\nInstallers for macOS (Intel and Apple silicon), Windows, and Linux (x64 and\narm64) are attached to every [release](/pizza-bot-app/pizza-bot/releases), with a `SHA256SUMS` to\ncheck a download against. The macOS builds are signed and notarized; the Linux\npackages are not signed, so verify them against the checksums.\n\nNode.js 24 or newer is required.\n\n```\nnpm install\nnpm run build\nnpm run dev\n```\n\n`npm run dev` starts the Vite frontend and Electron desktop shell. The shell\nforks and supervises its own api-server, matching the packaged application's\nprocess model. Configure a model under **Settings > Providers** before starting\na live run.\n\nSee [Running from source](/pizza-bot-app/pizza-bot/blob/main/docs/RUNNING.md) for isolated data roots, browser and\nCLI development, desktop packages, and remote backends.\n\n| Experience | Best for | Start here | \n|---|---|---|\n| Electron desktop | Local inbox with an embedded backend | `npm run dev` | \n| Browser | Web development or static deployment | [Browser development](/pizza-bot-app/pizza-bot/blob/main/docs/RUNNING.md#browser-development) | \n| Terminal CLI | Scripts, terminals, and remote backends | [CLI](/pizza-bot-app/pizza-bot/blob/main/docs/RUNNING.md#cli) | \n| Standalone backend | Remote Electron, browsers, containers, or Linux services | [Backend guide](/pizza-bot-app/pizza-bot/blob/main/docs/STANDALONE_BACKEND.md) | \n\nA running api-server needs access to at least one model provider; HTTP clients\ndo not. Configure Amazon Bedrock, Anthropic, Google Gemini, OpenAI, OpenRouter,\nor Ollama in **Settings > Providers**. Bedrock accepts an AWS profile, AWS\naccess keys, or a Bedrock API key, with an optional region override; otherwise\n`AWS_REGION` or `us-west-2` is used. Bedrock combines its native catalog with\nthe regional Mantle catalog and routes models through Converse, OpenAI\nResponses or Chat Completions, or Anthropic Messages according to their\nadvertised API family.\nOpenAI and Anthropic also accept custom base URLs for compatible endpoints;\nOpenAI can explicitly select Responses or Chat Completions, and Anthropic\nsupports `x-api-key` or bearer authentication. Select a model with\n`PIZZA_MODEL=<provider>:<id>`. The desktop protects entered secrets with\nElectron `safeStorage`; server configuration persists only environment-variable\nreferences.\n\nAdd MCP servers from the UI or `<PIZZA_DATA_ROOT>/.mcp.json`. Add Agent Skills\nunder `<PIZZA_DATA_ROOT>/skills`, or install plugins that package MCP servers and\nskills together. Skills become available after their declared tools are enabled\nand connected. A custom skill can replace a Built-in or Plugin skill with the\nsame id without modifying the original; removing the customization reveals the\nBuilt-in or Plugin version again. The Built-in **Pizza Bot Guide** can explain\nfeatures, suggest workflows, help with setup, and point to project documentation.\n\nSee [Extending Pizza Bot](/pizza-bot-app/pizza-bot/blob/main/docs/EXTENDING.md) for configuration, environment\nreferences, skill authoring, approval gates, and plugin installation.\n\n```\napps/        api-server (Hono) | cli | desktop-shell (Electron) | web (React)\npackages/    core | runtime-langgraph | inference-providers | plugin-api | plugin-sdk | storage | logging\nplugins/     bundled Plugin packages and their packaging workspace\nskills/      optional Built-in Agent Skills\ntests/       LangGraph compatibility and protocol conformance\n```\n\nThe production graph engine is isolated to `packages/runtime-langgraph`;\nfrontends consume protocol projections rather than importing runtime or model\nbindings.\n\n- **[Running](/pizza-bot-app/pizza-bot/blob/main/docs/RUNNING.md)** - desktop, browser, CLI, and package commands.\n- **[Extending](/pizza-bot-app/pizza-bot/blob/main/docs/EXTENDING.md)** - MCP servers, skills, and plugins.\n- **[Architecture](/pizza-bot-app/pizza-bot/blob/main/docs/ARCHITECTURE.md)** - system boundaries, event model,\npersistence, transports, and design decisions.\n- **[Standalone backend](/pizza-bot-app/pizza-bot/blob/main/docs/STANDALONE_BACKEND.md)** - authentication, remote\nElectron, static browser deployment, Docker, Compose, and Kubernetes.\n- **[Contributing](/pizza-bot-app/pizza-bot/blob/main/CONTRIBUTING.md)** - development setup, CI checks, worktrees,\nreleases, and layering rules.\n- **[Security](/pizza-bot-app/pizza-bot/blob/main/SECURITY.md)** - network defaults, credentials, local data, and\nplugin trust.\n- **[Logging](/pizza-bot-app/pizza-bot/blob/main/docs/LOGGING.md)** - diagnostics, retention, viewing, and redaction.\n- **[Roadmap](/pizza-bot-app/pizza-bot/blob/main/ROADMAP.md)** - exploratory directions and the principles used to\nevaluate them.\n- **[Code of Conduct](/pizza-bot-app/pizza-bot/blob/main/CODE_OF_CONDUCT.md)** - community participation\nexpectations.\n\n- **Local-first by default.** The api-server binds to`127.0.0.1` ; non-loopback\nbinding requires authentication and an explicit origin allowlist.\n- **Application state stays local.** Threads, checkpoints, memories,\nattachments, and logs live under`<PIZZA_DATA_ROOT>` (`~/.pizza-bot-oss` by default). Model and tool requests go to the providers\nand endpoints you configure.\n- **Local folders require an explicit grant.** Each folder added under**Settings > Files** is read-only unless you allow writes. Remote grants name\npaths on the backend host.\n- **MCP servers and plugins are trusted.** Their commands and materializers can\nexecute with your user account's permissions. Install only sources you trust.\n\nSee [SECURITY.md](/pizza-bot-app/pizza-bot/blob/main/SECURITY.md) for the complete security model and vulnerability\nreporting process.\n\nPizza Bot was designed, built, and brought into the open by its Executive Chefs and Sous Chefs:\n\nPizza Bot was also shaped by more than 2,000 users across Amazon who tested earlier versions and shared feedback from real-world use. Their bug reports, ideas, and candid input helped make Pizza Bot ready for a broader community. Thank you to everyone who contributed.\n\n[Apache-2.0](/pizza-bot-app/pizza-bot/blob/main/LICENSE). See [NOTICE](/pizza-bot-app/pizza-bot/blob/main/NOTICE) for attribution notices.", "url": "https://wpnews.pro/news/pizza-bot-a-local-first-inbox-for-long-running-ai-agents", "canonical_source": "https://github.com/pizza-bot-app/pizza-bot", "published_at": "2026-09-11 12:20:16+00:00", "updated_at": "2026-09-11 12:41:30.929275+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "ai-products", "developer-tools", "ai-infrastructure"], "entities": ["Amazon", "Pizza Bot", "DeepAgents", "LangGraph", "Amazon Bedrock", "Anthropic", "OpenAI", "Ollama"], "alternates": {"html": "https://wpnews.pro/news/pizza-bot-a-local-first-inbox-for-long-running-ai-agents", "markdown": "https://wpnews.pro/news/pizza-bot-a-local-first-inbox-for-long-running-ai-agents.md", "text": "https://wpnews.pro/news/pizza-bot-a-local-first-inbox-for-long-running-ai-agents.txt", "jsonld": "https://wpnews.pro/news/pizza-bot-a-local-first-inbox-for-long-running-ai-agents.jsonld"}}