返回首頁

代理框架

AWS 開源 Pizza Bot,把長時間代理工作改造成可恢復的非同步收件匣

Pizza Bot 將代理狀態、核准要求與排程結果保存於伺服器,使用者離開對話後工作仍可繼續。它支援多家模型、MCP 與 Agent Skills,但本機優先不代表工具安全,遠端部署與外掛仍須自行建立信任邊界。

Delince · CC BY-SA 3.0 · Image source
zh-Hant

AWS 開源團隊於 9 月 10 日發布 Pizza Bot,一套以「收件匣」取代即時聊天為核心介面的長時間代理應用。工作完成後進入 Unread,等待人工決定的執行則進入 Action;任務可由使用者、cron 排程或具祕密保護的 webhook 啟動。專案採 Apache 2.0,並提供 Electron、瀏覽器、CLI 及獨立後端路徑。

其關鍵不是另一個聊天前端,而是把執行生命週期放在伺服器。Electron、Web 與 CLI 都經 HTTP/SSE 連到 API server,後端以 DeepAgents 和 LangGraph 執行具狀態代理,並把對話、工具活動、記憶、附件與核准暫停寫入 SQLite 或一般檔案。關閉或重新連線客戶端不會終止後端工作;若關掉由桌面程式啟動的伺服器,正在執行的單一步驟會中止,但先前 checkpoint 與 thread 仍可保留。

擴充層沿用 MCP 及 `SKILL.md`。每個 skill 可成為具有獨立提示與精簡工具清單的專門 worker,並以 `interruptOn` 指定哪些工具呼叫必須取得核准,以及使用者可以核准、修改或拒絕。模型端則可選 Bedrock、Anthropic、Gemini、OpenAI、OpenRouter 或本機 Ollama,避免把應用綁在單一推論供應商。

預設安全邊界頗具體:API 僅綁定 `127.0.0.1`;改成非 loopback 時必須設定至少 32 字元的 bearer token 與 origin allowlist。主目錄不會自動授權,掛載資料夾預設唯讀;內建 JavaScript 沙箱沒有網路及主機檔案系統。憑證在桌面端交給 Electron `safeStorage`,但 Linux 缺少相容祕密儲存服務時可能退回幾乎等同明文的 `basic_text`。

最大風險在擴充面:MCP server 與 plugin 仍以使用者權限執行,Pizza Bot 明確將它們視為受信任程式;SQLite 資料根目錄也只支援單一後端程序,不適合直接掛給多個容器副本。專案目前僅有少量公開採用訊號,且屬社群專案、沒有 AWS SLA。工程團隊應觀察 checkpoint 恢復的一致性、排程漏跑語意,以及工具核准能否抵抗惡意內容與提示注入。

來源

  1. Introducing Pizza Bot, an open source inbox for AI agents that work in the background
  2. pizza-bot-app/pizza-bot