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": 3276815 }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": 3276829 }30 ]31 }32 }33 }
Ce qui compte ici :
apiest le protocole de communication.openai-completionsappelle/chat/completionset transporte la famille GPT ;anthropic-messagesappelle/v1/messageset transporte la famille Claude. Une entrée de fournisseur par protocole est l'arrangement le plus simple.baseUrls'arrête à/api/agent. N'ajoutez pas/v1: la passerelle transmet le reste du chemin en amont, donc/api/agent/v1/chat/completionsrépond404 page not found.apiKeyprend en charge l'interpolation$VARIABLEet${VARIABLE}, aucun secret n'est donc stocké dans le fichier.- Les entrées de
modelsdoivent appartenir au protocole de ce fournisseur : la famille GPT (par exemplegpt-5.6-terra) sousopenai-completions, la famille Claude sousanthropic-messages. L'endpoint de chat répond400pour un modèle qu'il ne sert pas.contextWindowdimensionne le budget de contexte de Pi, tandis quemaxTokensdevient la limite de sortie de la requête — Pi l'envoie en amont sousmax_completion_tokenssur la route OpenAI-compatible et sousmax_tokenssur la route Anthropic.
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-project2 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:baseUrlse termine par/v1. Supprimez-le.No models available, ou le fournisseur absent depi --list-models:CODEBYAI_API_KEYest vide dans le shell qui a lancé Pi, donc Pi ignore l'entrée. Unidinconnu reste listé : un modèle manquant vient presque toujours d'une clé manquante.- HTTP 403 avec le message
Invalid key! Your api-key is invalid or expiredsur le fournisseuropenai-completions: la clé a été supprimée, mal saisie ou a expiré. Avec le fournisseuranthropic-messages, la passerelle ne renvoie pas de statut d'erreur mais200avec la même phrase en texte brut, si bien que Pi n'affiche queAnthropic stream ended without a stop reason— considérez ce message comme un problème de clé. - Solde insuffisant : rechargez sur la page Portefeuille.