Show HN: Pizza Bot – バックグラウンドで動作するAIエージェントのための受信トレイ
Show HN: Pizza Bot – An inbox for AI agents that work in the background (github.com)
要約
Pizza Botは、Mac、Windows、Linux向けのセルフホスト型デスクトップアプリケーションで、バックグラウンドでAIエージェントを実行し、メールライクなUIでそれらを操作できます。Apache 2.0ライセンスで、サインアップやテレメトリは不要です。Anthropic、Amazon Bedrock、Google Gemini、OpenAI、OpenRouter、またはOllama経由のローカルモデルなど、独自のモデルプロバイダーを使用できます。元々はAmazon社内のプロジェクトとして始まり、2,000人以上のユーザーに利用された後、オープンソースとして公開されました。
全文翻訳
HNの皆さん、長年(2012年から!)ROM専でしたが、初めて投稿します。
Pizza Botは、Mac、Windows、Linux向けのセルフホスト型デスクトップアプリで、AIエージェントをバックグラウンドで実行し、メールライクなUIで提供します。完了した作業は「未読」、承認待ちのものは「アクション」に表示されます。Apache 2.0ライセンスで、サインアップやテレメトリは不要です。モデルプロバイダーは自分で用意する必要があり、Anthropic、Amazon Bedrock、Google Gemini、OpenAI、OpenRouter、またはOllama経由のローカルモデルが利用可能です。リリースページにビルドがありますし、ソースから実行することもできます。
Pizza Botは、私がAmazonで少人数のチームと取り組んだ、個人的なパッションプロジェクトとして始まりました。
すべては、ブラウザのフォームを通じてCRM活動を手動で記録しなければならないという私のフラストレーションから生まれました。私は「JoeBot」というシンプルなREST APIを構築し、CDP経由で認証済みのブラウザセッションに接続し、Playwrightを使用してフォームを自動入力しました。その後、簡単なObsidianプラグインをハックして、ローカルノートからトリガーできるようにしました(AIやMCPサーバーは関与していません)。
これはすぐに広まりました。同僚のAWSソリューションアーキテクトであるIgor Filが私に加わり、プロジェクトをAmazonの「2枚のピザ」チームにちなんで「Pizza Bot」と改名しました。私たちは、他にどのような自動化を構築できるかを見始めました。クエリできるGraphQL APIを見つけ、「レシピ」をハックしてCRMからデータを抽出し、会議準備を支援しました。これはうまく機能し、MCPサーバーが普及し始めた頃だったので、Pizza BotをMCPサーバーとして公開することにしました。これにより、自然言語を通じてAIツールで利用できるようになります。
これは技術的なユーザーには良いソリューションでしたが、CRMシステムを日常的に使用しているアカウントマネージャーたちもそれを欲しがりました。そこで、非技術的なユーザーにも馴染みやすく、MacとWindowsの両方で動作するように、メールインボックスを模したElectronデスクトップアプリとしてPizza Botを再構築することにしました。また、内部MCPサーバーをOCIイメージとしてバンドルし、Amazon ECRに「アドオンマーケットプレイス」としてホストしたため、ユーザーはAmazonの開発者ツールを設定することなくワンクリックでインストールできるようになりました。
プロジェクトは自然に軌道に乗り、AWS内からAmazon組織全体へと拡大しました。2,000人以上の人々が会議準備、メール作成、Slack要約、CRM記録、日々の優先順位付け、ウェブ調査などに利用しました。
Claude CoworkやAmazon独自のQuick Desktopのようなアプリが登場したとき、私たちは真の成長機会がAmazonの外にあることに気づきました。Amazon固有の統合をすべて削除しようとするのではなく、Pizza Botをもう一度オープンソースプロジェクトとして再構築しました。コーディングエージェントに大きく依存しましたが、これは私たちのチーム規模で完全な書き直しを成し遂げられた唯一の理由です。ついに公開できたことを嬉しく思っており、コミュニティメンバーを迎え入れ、どのように発展していくかを楽しみにしています。私たちは、Claude CodeやCodexがプログラマーのために成し遂げたことを、ナレッジワーカーのために成し遂げたいと考えています。
最初に知っておいていただきたいことがいくつかあります。Pizza BotがAmazon内で初日から役立った機能のほとんどは、Amazon独自のシステムのための内部スキルとMCPサーバーのカタログから来ており、それらはアプリと一緒に持ち出すことができませんでした。そのため、2,000人が使用していたバージョンよりも機能は限定的であり、他の人々が実際に使用するツール向けのカタログを再構築することが、最も支援が必要な部分です。また、これはAWSサービスではなくコミュニティプロジェクトであるため、サポートやSLAはありません。WindowsおよびLinuxビルドはまだ署名されていません。
技術的には、Pizza Botはサーバーとクライアントで構成されています。デスクトップアプリは両方をバンドルしていますが、クライアントをリモートバックエンドに向けることもできます。個人的には、自宅のネットワークにサーバーをセルフホストし、Tailscale経由でスマートフォンからアクセスしています。サーバーはスレッドのライフサイクルを管理し、DeepAgentsとLangGraphで状態をチェックポイントします。クライアントは必要に応じてそこから再構築されるため、実行中に切断しても、別のクライアントからスレッドを再開できます。承認による一時停止は、作成したセッションを超えて持続し、「アクション」フィルターに集められるため、別のデバイスから1時間後に応答することができます。対話するエージェントはサンドボックス化されたQuickJSインタープリターを備えており、フォルダを許可した場合にのみファイルシステムにアクセスできますが、その主な役割は委任することです。各サブエージェントはスキルと1対1でマッピングされており、アクティビティバーには、サブエージェントとその作業中のツール呼び出しが表示されます。メモリはオプトインであり、マシン上のプレーンなMarkdownファイルとして保存されます。すべてのツール呼び出しは明示的であり、メモリの検索も含まれます。驚きを減らすために、透明性を重視しています。ツールはMCPサーバーから提供され、スキルは通常のSKILL.mdファイルで、ツールごとに承認ポリシーがあります。そのため、コードインタープリターを必要としない既存のスキルは引き続き機能するはずです。
最も聞きたいのは、アプリ自体がどのように妨げになっているか、スキルやMCPサーバーを作成しても解決できない問題の種類です。今日は質問にお答えできます!