Aller au contenu

Pi Coding Agent

Pi est un agent de codage IA open source, orienté terminal, développé par Earendil Works. Il s'exécute directement dans le répertoire de votre projet, comprend le dépôt, modifie les fichiers, exécute des commandes et vous permet de vérifier les changements avant qu'ils ne soient appliqués.

Pi est indépendant du modèle et prend en charge des endpoints personnalisés compatibles OpenAI. Connecté à notre Everyware AI API hébergée en Suisse, vos prompts, votre code source et vos réponses restent au sein de notre infrastructure GPU suisse.


Fonctionnalités principales

  • TUI orientée terminal : Travaillez de manière interactive dans le terminal, sans quitter le répertoire de votre projet.
  • Fournisseurs personnalisés : Enregistrez tout endpoint compatible OpenAI via models.json.
  • Niveaux de réflexion : Modifiez l'effort de raisonnement par modèle avec /thinking ou le suffixe de modèle :level.
  • Contrôle des sessions : Créez des branches, revenez en arrière et reprenez des sessions sans perdre le contexte précédent.
  • Souveraineté totale des données : Toutes les requêtes vers les modèles passent par notre Everyware AI API suisse.

Installation

curl -fsSL https://pi.dev/install.sh | sh

Nécessite Node.js 22.19 ou une version plus récente :

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

Vérifiez l'installation :

pi --version

Configuration

1. Enregistrer la clé API

Exportez votre clé API virtuelle en tant que variable d'environnement :

export EW_AI_API_KEY="sk-bf-..."

Ajoutez cette ligne à votre profil shell (~/.bashrc, ~/.zshrc) pour la rendre persistante.

2. Enregistrer le gateway

Créez ou modifiez ~/.pi/agent/models.json :

{
  "$schema": "https://pi.dev/schemas/models.schema.json",
  "providers": {
    "ew": {
      "name": "Everyware AI API",
      "baseUrl": "https://ai.ewcs.ch/v1",
      "api": "openai-completions",
      "apiKey": "$EW_AI_API_KEY",
      "models": [
        {
          "id": "flagship",
          "name": "Everyware Flagship",
          "reasoning": true,
          "input": ["text", "image"],
          "contextWindow": 1048576,
          "maxTokens": 131072
        },
        {
          "id": "balanced",
          "name": "Everyware Balanced",
          "reasoning": true,
          "input": ["text", "image"],
          "contextWindow": 1000000,
          "maxTokens": 131072
        },
        {
          "id": "fast",
          "name": "Everyware Fast",
          "reasoning": true,
          "input": ["text", "image"],
          "contextWindow": 262144,
          "maxTokens": 131072
        }
      ]
    }
  }
}

L'ID de fournisseur ew combiné aux ID des modèles produit les sélecteurs ew/flagship, ew/balanced et ew/fast.

Identifiants des fournisseurs personnalisés

La commande /login de Pi ne couvre que les fournisseurs intégrés. Les modèles personnalisés apparaissent dans /model dès que apiKey est résolue, dans cet exemple depuis la variable d'environnement EW_AI_API_KEY.

3. Démarrer Pi

cd /path/to/project
pi --model ew/flagship

Pour vérifier que le gateway et ses modèles sont enregistrés :

pi --list-models ew
pi auth check --provider ew

Commandes et flux de travail courants

  • Démarrer en mode interactif :
    pi
    
  • Sélectionner un modèle :
    pi --model ew/balanced
    
  • Définir le niveau de réflexion :
    pi --model ew/flagship:high
    
  • Dans la TUI :
    • /model – ouvrir le sélecteur de modèle (recharge models.json)
    • /thinking – modifier le niveau de raisonnement
    • /settings – modifier les préférences courantes
    • Ctrl+L – changer de modèle
  • Prompt en une seule fois :
    pi -p "Explain the architecture of this repository."