@earendil-works/pi-coding-agent fournit une CLI d’agent de code interactive avec des workflows de fichier, shell, édition, écriture, session, affichage, JSON, RPC et SDK. Pi peut charger des fournisseurs personnalisés depuis ~/.pi/agent/models.json, vous pouvez donc ajouter CometAPI comme entrées de fournisseur compatibles OpenAI sans modifier le code source de Pi.
Références officielles :
La disponibilité des modèles évolue au fil du temps. Remplacez
your-model-id par un model ID disponible depuis la page des modèles CometAPI.Prérequis
- Node.js
>=22.19.0 - npm
- Un compte CometAPI avec une clé API active depuis le tableau de bord
- Pi installé depuis le package npm officiel
Comprendre les autorisations d’exécution
Pi s’exécute avec les autorisations de l’utilisateur et du processus qui le lance. Démarrez Pi dans le répertoire du projet sur lequel vous souhaitez qu’il travaille, conservez une possibilité de retour en arrière comme git, et utilisez un conteneur ou un bac à sable si vous avez besoin de limites plus strictes pour le système de fichiers, les processus, le réseau ou les identifiants.Configurer le fournisseur
1
Installer Pi
Installez Pi globalement avec npm :Confirmez que la CLI est disponible :
2
Définir votre clé API CometAPI
Stockez votre clé API CometAPI dans la variable d’environnement Ajoutez la commande d’export à votre profil shell si vous souhaitez qu’elle persiste entre les sessions de terminal. Ne validez pas de clés API dans votre système de contrôle de version.
COMETAPI_KEY :3
Ajouter des fournisseurs CometAPI à models.json
Créez Utilisez
~/.pi/agent/models.json s’il n’existe pas. Si le fichier contient déjà des fournisseurs, fusionnez les entrées cometapi-responses et cometapi-chat dans l’objet providers existant :cometapi-responses pour les modèles ou workflows qui nécessitent l’API OpenAI Responses. Utilisez cometapi-chat pour les modèles compatibles OpenAI Chat Completions. Pi résout $COMETAPI_KEY au moment de la requête. Conservez la clé API dans votre environnement ou dans votre propre workflow de gestion des secrets.4
Vérifier les deux fournisseurs
Listez les modèles que Pi peut voir pour le fournisseur Responses :Exécutez un court Prompt ponctuel avec le fournisseur Responses :Listez les modèles que Pi peut voir pour le fournisseur Chat Completions :Exécutez un court Prompt ponctuel avec le fournisseur Chat Completions :Pour une utilisation interactive, démarrez Pi dans votre projet et sélectionnez le fournisseur et le modèle CometAPI avec
/model. Si vous modifiez models.json pendant une session interactive, ouvrez à nouveau /model afin que Pi recharge les entrées de modèle personnalisées.Dépannage
Pi n’affiche pas le modèle CometAPI
Pi n’affiche pas le modèle CometAPI
Vérifiez que
~/.pi/agent/models.json est un JSON valide et que chaque entrée de fournisseur se trouve à l’intérieur de l’objet providers de niveau supérieur. Exécutez pi --list-models cometapi-responses ou pi --list-models cometapi-chat après avoir enregistré le fichier.Pi signale qu’aucune clé API n’est disponible
Pi signale qu’aucune clé API n’est disponible
Vérifiez que
COMETAPI_KEY est défini dans la même session shell qui lance Pi. Si vous utilisez un profil shell, ouvrez un nouveau terminal ou rechargez le profil avant d’exécuter Pi.Les requêtes échouent à cause de l’URL de base
Les requêtes échouent à cause de l’URL de base
Utilisez
https://api.cometapi.com/v1 comme baseUrl dans models.json. Ne faites pas pointer Pi vers l’URL du tableau de bord et n’omettez pas le suffixe /v1 pour les routes compatibles OpenAI.Pi échoue avant d’envoyer une requête au modèle
Pi échoue avant d’envoyer une requête au modèle
Vérifiez votre version de Node.js avec
node --version. Le package Pi nécessite Node.js >=22.19.0.Le modèle fonctionne sur une route mais pas sur l’autre
Le modèle fonctionne sur une route mais pas sur l’autre
Utilisez l’entrée de fournisseur dont le champ
api correspond à la route prise en charge par votre modèle. openai-responses utilise l’API Responses, tandis que openai-completions utilise Chat Completions.Pi a plus d’accès que prévu
Pi a plus d’accès que prévu
Pi s’exécute avec les autorisations de l’utilisateur et du processus qui l’ont lancé. Exécutez Pi dans un conteneur ou un bac à sable lorsque vous avez besoin de limites plus strictes autour des fichiers, des processus, de l’accès réseau ou des identifiants.