Présentation

Pizza Bot est une application open source qui propose une boîte de réception locale destinée aux agents d'intelligence artificielle à exécution prolongée. Le projet, développé chez Amazon et publié sous licence Apache 2.0, se veut un point d’entrée unique où l’on peut lancer, planifier ou suspendre des tâches d’IA tout en continuant son activité quotidienne. Les travaux terminés sont classés dans la file Unread, tandis que les actions nécessitant une validation humaine apparaissent dans Action. Cette séparation facilite le suivi des travaux asynchrones sans bloquer l’interface utilisateur.

Architecture et communication

L’application repose sur un runtime stateful combinant DeepAgents et LangGraph, exposé via une API serveur qui reste active tant que le processus est en cours. Trois interfaces – desktop Electron, web browser et CLI terminal – interagissent avec ce serveur via HTTP et Server‑Sent Events (SSE). Le shell Electron crée et supervise son propre serveur API, reproduisant le modèle de processus de la version empaquetée. Cette architecture garantit que les agents continuent d’avancer même si l’utilisateur change de fenêtre ou se déconnecte, car le serveur persiste indépendamment du client.

npm install
npm run dev

Gestion des modèles et sécurité

Pizza Bot accepte plusieurs fournisseurs de modèles : Amazon Bedrock, Anthropic, Google Gemini, OpenAI, OpenRouter et Ollama. La configuration s’effectue dans le menu Settings > Providers ou via la variable d’environnement PIZZA_MODEL=<provider>:<id>. Pour Bedrock, l’application peut utiliser un profil AWS, des clés d’accès ou une clé d’API, avec us-west-2 comme région par défaut. Les catalogues natifs de Bedrock sont enrichis du catalogue Mantle, puis les requêtes sont routées vers les API correspondantes (Converse, OpenAI Responses, Anthropic Messages). Les accès aux fichiers sont limités : aucun répertoire personnel n’est ouvert par défaut, l’utilisateur doit explicitement ajouter des dossiers en lecture seule ou en écriture, ce qui réduit la surface d’exposition du système.

Scénarios d’utilisation et limites

Le produit cible les flux de travail où les agents doivent être déclenchés par des cron ou des webhooks, sans conversation ouverte. Les « skills » sont implémentées comme des sous‑agents spécialisés, visibles dans le panneau d’activité, ce qui permet de déléguer des tâches à des modèles spécifiques. Cependant, la version Linux n’est pas signée, ce qui impose une vérification manuelle via les sommes SHA‑256 fournies. De plus, la persistance dépend entièrement du serveur API ; une interruption du processus entraîne la perte des états non checkpointés. Enfin, le besoin d’une version Node.js ≥ 24 peut limiter l’adoption sur des environnements plus anciens.