W
Web Dev Simplified
#Pi Coding Agent#Agent IA#Terminal

Pi Coding Agent : Guide Complet pour un Agent IA Terminal Minimaliste

Découvrez Pi, un agent IA terminal minimaliste et hautement personnalisable. Ce guide couvre l'installation, la configuration des modèles, la gestion des sessions, les compétences, les thèmes et les extensions pour adapter Pi à vos besoins.

5 min de lectureGuide IA

Introduction

Introduction
Pi est un agent IA terminal minimaliste et hautement personnalisable, conçu pour s'adapter à vos flux de travail de développement. Il offre une alternative légère à des outils comme Claude Code ou Open Code, en se concentrant sur l'extensibilité via des fichiers TypeScript.

Précis de configuration

Élément Version / Lien
Langage / Runtime Node.js (pour npm)
Librairie principale @earendil-works/pi-coding-agent
APIs requises GitHub Copilot, Anthropic (Claude), Google Gemini (selon le modèle choisi)
Clés / credentials nécessaires Clé API ou abonnement pour les modèles payants (ex: GitHub Copilot)

Guide étape par étape

Guide étape par étape

Étape 1 — Installation de Pi

Pour commencer avec Pi, la première étape est de l'installer globalement sur votre système via npm. Cela vous permettra d'exécuter la commande pi depuis n'importe quel répertoire.

npm install -g --ignore-scripts @earendil-works/pi-coding-agent

Étape 2 — Lancement de Pi et interaction de base

Une fois installé, vous pouvez lancer Pi depuis votre terminal. L'interface affichera une zone de saisie pour vos prompts et les réponses de l'IA.

pi

Étape 3 — Configuration des modèles IA

Au premier lancement, Pi n'aura pas de modèle configuré. Vous devrez vous connecter à un fournisseur de modèles (comme GitHub Copilot, Claude ou Gemini) en utilisant la commande /login.

/login

Après avoir exécuté /login, vous aurez le choix entre utiliser un abonnement ou une clé API. Si vous choisissez un abonnement (par exemple, GitHub Copilot), Pi vous guidera à travers un processus d'authentification via votre navigateur web, où vous devrez copier-coller un code de périphérique.

Une fois connecté, vous pouvez sélectionner le modèle à utiliser avec la commande /model.

/model

Vous pouvez ensuite naviguer dans la liste des modèles disponibles (locaux ou via abonnement) et en choisir un. Pour changer rapidement de modèle, utilisez Ctrl+P pour le modèle suivant et Ctrl+Shift+P pour le modèle précédent.

Étape 4 — Exécution de commandes Shell

Pi permet d'exécuter des commandes shell directement depuis l'interface. Vous pouvez choisir d'envoyer la sortie de la commande au modèle ou de la garder locale.

  • Envoyer la sortie au modèle : Utilisez !commande.

    !ls
    

    Le modèle recevra la sortie de ls et pourra l'interpréter.

  • Garder la sortie locale : Utilisez !!commande.

    !!ls
    

    La sortie de ls sera affichée dans le terminal mais ne sera pas envoyée au modèle.

Étape 5 — Référencement de fichiers

Pour que Pi puisse lire ou modifier des fichiers dans votre projet, utilisez le symbole @ suivi du nom du fichier. Pi offrira une auto-complétion pour les fichiers de votre répertoire courant.

@index.html Dis-moi ce qu'il y a dans ce fichier

Étape 6 — Gestion des sessions et du contexte

Gestion des sessions et du contexte
Pi offre des fonctionnalités robustes pour gérer vos conversations (sessions) avec l'IA.

  • Démarrer une nouvelle session : /new efface l'historique de la conversation actuelle.

    /new
    
  • Afficher les détails de la session : /session affiche l'ID de la session, le nombre de messages, les tokens utilisés et le coût (si applicable).

    /session
    
  • Reprendre une session précédente : /resume affiche une liste de vos sessions passées, vous permettant de basculer entre elles.

    /resume
    
  • Naviguer dans l'historique de la session : /tree affiche une vue arborescente de votre conversation, y compris les branches créées par des prompts alternatifs. Vous pouvez sélectionner un point dans l'historique pour reprendre la conversation à partir de là.

    /tree
    
  • Cloner une session : /clone crée une nouvelle session qui est une copie exacte de la session actuelle à son point actuel.

    /clone
    
  • Forker une session : /fork vous permet de créer une nouvelle session à partir d'un message utilisateur spécifique dans l'historique, créant ainsi une nouvelle branche de conversation.

    /fork
    
  • Compacter le contexte : /compact réduit la taille du contexte de la session, ce qui peut être utile pour économiser des tokens ou améliorer les performances.

    /compact
    

Étape 7 — Utilisation des compétences (Skills)

Les compétences sont des fonctionnalités pré-écrites qui étendent les capacités de Pi. Pi détecte automatiquement les compétences installées localement ou globalement.

  • Utiliser une compétence : /skill:nom_de_la_compétence.

    /skill:grill-with-docs
    

    [Note de l'éditeur : la vidéo ne montre pas l'installation d'une compétence spécifique, mais mentionne qu'elles sont détectées automatiquement si installées.]

Étape 8 — Personnalisation des thèmes

Vous pouvez modifier l'apparence de l'interface de Pi en créant ou en utilisant des thèmes. Pi peut même vous aider à créer un thème.

  • Changer de thème existant : /settings puis naviguez jusqu'à la section Theme pour choisir entre dark et light ou tout thème personnalisé que vous avez créé.

  • Créer un thème personnalisé : Demandez à Pi de créer un thème pour vous. Par exemple :

    Crée un thème bleu dans ce projet pour l'agent terminal Pi
    

    Pi créera un fichier blue.json dans le répertoire .pi/themes/ de votre projet. Après avoir rechargé Pi, vous pourrez sélectionner ce thème.

    /reload
    

Étape 9 — Création d'extensions

Les extensions sont des fichiers TypeScript qui permettent d'ajouter des fonctionnalités avancées à Pi. Pi est conçu pour être facilement extensible.

  • Demander à Pi de créer une extension : Par exemple, pour ajouter une couche de sécurité pour les commandes dangereuses :

    Crée une extension Pi dans ce projet qui empêchera l'exécution de commandes dangereuses, sauf si je les autorise explicitement. Des choses comme rm sont un bon exemple.
    

    Pi créera un fichier TypeScript (ex: permission-gate.ts) dans le répertoire .pi/extensions/ de votre projet. Après avoir rechargé Pi, l'extension sera active.

    /reload
    

    Lorsque vous tenterez d'exécuter une commande dangereuse (comme rm), Pi vous demandera confirmation.

    Delete @index.html
    

    L'extension interceptera la commande et vous proposera des options (autoriser une fois, toujours autoriser, bloquer).

Étape 10 — Installation de packages tiers

Le catalogue de packages de Pi (pi.dev/packages) contient des extensions, compétences, modèles de prompts et thèmes créés par la communauté. Vous pouvez les installer facilement via npm.

  • Installer un package : pi install npm:<nom_du_package>.

    pi install npm:@juicesharp/rpiv-todo
    

    [Note de l'éditeur : la commande est exécutée directement dans le shell système, pas dans l'interface Pi.]

⚠️ Erreurs fréquentes et pièges

  1. Modèles non configurés : Au premier lancement, Pi ne peut pas répondre. Solution : Utilisez /login pour connecter un fournisseur de modèles (ex: GitHub Copilot) et /model pour sélectionner un modèle.
  2. Modifications non prises en compte : Après avoir créé ou modifié des fichiers de contexte (prompts, thèmes, extensions), Pi ne les utilise pas immédiatement. Solution : Exécutez /reload pour recharger toutes les configurations.
  3. Commandes Shell non interprétées : Taper une commande comme ls directement l'envoie au modèle comme un prompt. Solution : Préfixez les commandes shell avec ! (pour envoyer la sortie au modèle) ou !! (pour garder la sortie locale).
  4. Exécution de commandes dangereuses : Pi n'a pas de garde-fous intégrés par défaut. Solution : Créez ou installez une extension de sécurité (comme l'extension permission-gate.ts montrée dans la vidéo) pour intercepter et demander confirmation avant d'exécuter des commandes potentiellement destructrices.

Glossaire

Agent Harness : Un cadre logiciel qui fournit une interface et des outils pour interagir avec des modèles d'IA, leur permettant d'exécuter des tâches complexes.
Skill : Une fonctionnalité pré-écrite, souvent sous forme de fichier TypeScript, qui étend les capacités de l'agent Pi pour des tâches spécifiques.
Prompt File : Un fichier Markdown contenant un prompt pré-écrit et des métadonnées (front matter), qui peut être injecté directement dans une session Pi.

Points clés à retenir

  • Pi est un agent IA terminal minimaliste et hautement personnalisable, idéal pour les développeurs.
  • L'installation se fait via npm, et l'interaction via des prompts et des commandes slash.
  • La gestion des modèles (locaux ou via API) est flexible, avec des raccourcis pour basculer entre eux.
  • Les sessions peuvent être gérées de manière avancée : création, reprise, clonage, forking et visualisation de l'historique en arbre.
  • Pi permet d'exécuter des commandes shell, de lire/écrire des fichiers et d'utiliser des compétences (skills).
  • La personnalisation est au cœur de Pi, avec la possibilité de créer des prompts, des thèmes et des extensions en TypeScript.
  • Le catalogue de packages Pi permet d'installer facilement des fonctionnalités développées par la communauté.
  • Par défaut, Pi n'a pas de garde-fous, ce qui offre une liberté totale mais nécessite de la prudence ou l'installation d'extensions de sécurité.

Ressources