AI・機械学習
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人以上のユーザーに利用された後、オープンソースとして公開されました。
全文翻訳
Hi HN - 長年(2012年から!)の読者ですが、初めて投稿します。
Pizza Botは、Mac、Windows、Linux向けのセルフホスト型デスクトップアプリで、バックグラウンドでAIエージェントを実行し、メールライクなUIでそれらを公開します。完了した作業は「未読」、承認待ちのものは「アクション」に表示されます。Apache 2.0ライセンスで、サインアップやテレメトリはなく、モデルプロバイダーは自分で用意します。Anthropic、Amazon Bedrock、Google Gemini、OpenAI、OpenRouter、またはOllama経由のローカルモデルが利用可能です。リリースページにビルドがあるか、ソースから実行できます。
Pizza Botは、Amazonで小さなチームと私が取り組んだ、社内での個人的なプロジェクトとして始まりました。
このすべては、ブラウザフォームを通じてCRM活動を手動で記録しなければならないという私のフラストレーションから生まれました。私はCDP経由で認証されたブラウザセッションに接続し、Playwrightを使用してフォームを自動入力する「JoeBot」というシンプルなREST APIを構築しました。その後、ローカルノートからトリガーできるように簡単なObsidianプラグインをハッキングしました(AIやMCPサーバーは関与していません)。
これはすぐに広まりました。私の同僚であるAWSソリューションアーキテクトのIgor Filが参加し、プロジェクトをAmazonの「2枚ピザチーム」にちなんで「Pizza Bot」と改名しました。どのような自動化を構築できるかを見始めました。クエリできるGraphQL APIを見つけ、CRMからデータをプルして会議の準備に役立つ「レシピ」をハッキングしました。これはうまくいき、MCPサーバーが普及し始めた頃だったので、AIツールが自然言語で利用できるように、Pizza BotをMCPサーバーとして公開することにしました。
これは技術的なユーザーには良いソリューションでしたが、CRMシステム内で作業するアカウントマネージャーたちもそれを望んでいました。そこで、Pizza BotをElectronデスクトップアプリとして再構築し、メール受信トレイを模倣して、非技術的なユーザーにも馴染みやすく、MacとWindowsの両方で動作するようにしました。また、内部MCPサーバーをOCIイメージとしてバンドルし、Amazon ECRに「アドオンマーケットプレイス」としてホストしたため、ユーザーはAmazon開発者ツールをセットアップせずにワンクリックでインストールできるようになりました。
プロジェクトは自然に軌道に乗り、AWSを超えてグローバルなAmazon組織全体に拡大しました。2,000人以上の人々が会議の準備、メール作成、Slackの要約、CRM記録、日々のタスクの優先順位付け、Webリサーチなどに利用しました。
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サーバーを記述しても解決できない問題の種類です。今日は質問に答えるためにここにいます!