Pi est un agent de code qui vit dans le terminal et repose sur une idée : c'est le harness qui doit s'adapter à votre flux de travail, pas l'inverse. Son system prompt et son cœur restent volontairement réduits, ce qui limite la consommation de tokens et permet de maîtriser précisément ce qui entre dans la fenêtre de contexte. Les instructions proviennent de fichiers AGENTS.md, d'un SYSTEM.md par projet, de skills chargés à la demande, de modèles de prompt réutilisables et d'extensions capables d'injecter du contexte avant chaque tour.
Plutôt que d'intégrer toutes les fonctions, Pi expose des primitives. Sous-agents, mode plan, barrières de permissions, protection des chemins, sandbox, exécution SSH, éditeurs personnalisés et barres d'état se construisent par extension, se demandent en langage naturel ou s'installent depuis des paquets tiers sur npm et git. MCP est intégré et Codemode permet aux agents de composer des appels d'outils dans une sandbox JavaScript. L'historique de session est stocké sous forme d'arbre : vous pouvez revenir à n'importe quel message, y créer une branche, puis exporter ou partager toute la session.
Pi fonctionne selon quatre modes : la TUI interactive complète, le mode print/JSON pour les scripts et pipelines, un protocole RPC sur stdin/stdout pour les hôtes non Node, et un SDK pour l'intégrer à vos applications. Il se connecte à plus de 15 fournisseurs tels qu'Anthropic, OpenAI, Google, Azure, Bedrock, Mistral, Groq, Cerebras, xAI, Hugging Face, OpenRouter et Ollama en local, avec changement de modèle en cours de session.