Configuration de Pi

Prise en main / Configuration de Pi

Configuration de Pi

Pi est un agent de codage en terminal publié sous le nom @earendil-works/pi-coding-agent. Il embarque des transports pour plusieurs dialectes d'API et peut donc utiliser CodeByAI avec le point de terminaison compatible OpenAI ou compatible Anthropic — la seule chose que vous écrivez à la main est un fichier JSON.

1. Installer Pi

macOS ou Linux :

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

Avec npm (Node.js 22.19 ou plus récent) :

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

Sous Windows, utilisez powershell -c "irm https://pi.dev/install.ps1 | iex".

2. Créer la configuration des modèles

Pi conserve sa configuration dans ~/.pi/agent/ et lit les points de terminaison personnalisés dans models.json :

  • macOS / Linux : ~/.pi/agent/models.json
  • Windows : C:\Users\YourUserName\.pi\agent\models.json

Le dossier peut ne pas encore exister ; créez-le, puis créez models.json :

1
{
2
  "$schema": "https://pi.dev/schemas/models.schema.json",
3
  "providers": {
4
    "codebyai": {
5
      "name": "CodeByAI",
6
      "baseUrl": "https://www.codebyai.net/api/agent",
7
      "api": "openai-completions",
8
      "apiKey": "$CODEBYAI_API_KEY",
9
      "models": [
10
        {
11
          "id": "gpt-5.6-terra",
12
          "name": "GPT-5.6 Terra",
13
          "contextWindow": 200000,
14
          "maxTokens": 32768
15
        }
16
      ]
17
    },
18
    "codebyai-claude": {
19
      "name": "CodeByAI (Claude)",
20
      "baseUrl": "https://www.codebyai.net/api/agent",
21
      "api": "anthropic-messages",
22
      "apiKey": "$CODEBYAI_API_KEY",
23
      "models": [
24
        {
25
          "id": "claude-sonnet-5",
26
          "name": "Claude Sonnet 5",
27
          "contextWindow": 200000,
28
          "maxTokens": 32768
29
        }
30
      ]
31
    }
32
  }
33
}

Ce qui compte ici :

  • api est le protocole de communication. openai-completions appelle /chat/completions et transporte la famille GPT ; anthropic-messages appelle /v1/messages et transporte la famille Claude. Une entrée de fournisseur par protocole est l'arrangement le plus simple.
  • baseUrl s'arrête à /api/agent. N'ajoutez pas /v1 : la passerelle transmet le reste du chemin en amont, donc /api/agent/v1/chat/completions répond 404 page not found.
  • apiKey prend en charge l'interpolation $VARIABLE et ${VARIABLE}, aucun secret n'est donc stocké dans le fichier.
  • models accepte n'importe quel id du Model Plaza. contextWindow et maxTokens ne pilotent que la gestion budgétaire interne de Pi ; ils ne sont pas envoyés en amont.

3. Fournir la clé API

1
export CODEBYAI_API_KEY="sk-proj-xxxx"

Ajoutez-la à ~/.zshrc ou ~/.bashrc pour la conserver d'une session à l'autre. Créez la clé elle-même sur la page API Keys. Pi accepte aussi --api-key en ligne de commande pour une exécution unique.

4. Démarrer Pi

1
cd your-project
2
pi --model codebyai/gpt-5.6-terra

Pour utiliser un modèle Claude via la route compatible Anthropic :

1
pi --model codebyai-claude/claude-sonnet-5

Pour vérifier ce que Pi voit avant de démarrer une session :

1
pi --list-models codebyai

5. Dépannage

  • 404 page not found : baseUrl se termine par /v1. Supprimez-le.
  • No models available, ou le fournisseur absent de pi --list-models : CODEBYAI_API_KEY est vide dans le shell qui a lancé Pi, donc Pi ignore l'entrée. Un id inconnu reste listé : un modèle manquant vient presque toujours d'une clé manquante.
  • Une réponse qui commence par Hello! How can I help you with your software engineering tasks today? (HTTP 403) : la passerelle n'a reçu aucune clé — la variable est vide dans ce shell. Un autre 403, libellé Invalid key!, signifie que la clé a été supprimée ou mal saisie.
  • Solde insuffisant : rechargez sur la page Portefeuille.