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
/thinkingou 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 (rechargemodels.json)/thinking– modifier le niveau de raisonnement/settings– modifier les préférences courantesCtrl+L– changer de modèle
- Prompt en une seule fois :
pi -p "Explain the architecture of this repository."