Présentation

Le projet pi-codex-connector est une extension pour la plateforme Pi qui permet d’accéder à l’ensemble des connecteurs Codex (ChatGPT) configurés sur le compte utilisateur, qu’il s’agisse de GitHub, Gmail, Slack, Linear ou Figma. L’extension s’installe via npm avec la syntaxe pi install npm:@wileai/pi-codex-connector et nécessite Node.js ≥ 22.19 ainsi que la version la plus récente de Pi. Elle remplace l’ancien paquet pi-codex-connectors, la migration s’effectuant en une seule commande de suppression puis d’installation du nouveau nom.

Fonctionnement technique

Lors de la première invocation, l’extension lance un app‑server Codex en mode stdio. Ce serveur conserve les identifiants de connexion et les informations d’authentification des connecteurs, mais ne conserve aucun résultat de requête. Le catalogue des connecteurs disponibles est construit à partir des points d’accès app/installed et mcpServerStatus/list. Chaque outil est ensuite invoqué via mcpServer/tool/call, sans déclencher de « turn » du modèle Codex : le modèle ne reçoit que trois outils génériques (codex_connectors, codex_connector_schema, codex_connector_call) au lieu de centaines de schémas spécifiques.

# Installation de l'extension
pi install npm:@wileai/pi-codex-connector
# Activation d'un connecteur en mode headless
PI_CODEX_CONNECTORS_DATA=allow pi run my_task

Le paramètre d’environnement PI_CODEX_CONNECTORS_WRITES contrôle la politique d’écriture : ask (défaut) demande confirmation dans l’interface TUI, allow exécute sans interaction, deny bloque toute écriture. Un second filtre, PI_CODEX_CONNECTORS_ALLOW, accepte une liste séparée par des virgules de noms ou d’identifiants de connecteurs, limitant ainsi la surface d’exposition.

Sécurité et confidentialité

Les noms, schémas et réponses des connecteurs sont injectés dans le contexte du modèle Pi sélectionné, ce qui implique que Pi et le fournisseur du modèle peuvent les retenir. L’extension ne stocke pas les résultats dans Codex, mais la simple présence de ces données dans le contexte constitue un vecteur de fuite potentiel. Pour atténuer ce risque, l’extension impose un consentement explicite avant toute découverte de connecteur, et les exécutions sans interface (CI/CD) doivent explicitement définir PI_CODEX_CONNECTORS_DATA=allow. Les annotations en lecture‑seule sont uniquement des indications de fournisseur et ne constituent pas une barrière d’autorisation indépendante.

Déploiement, tests et mise à jour

Le dépôt fournit un Makefile avec trois cibles principales : make setup installe et prépare l’hôte Pi de développement, make check lance le typage TypeScript, et make test exécute les tests d’intégration qui utilisent le vrai serveur Codex et un compte à privilèges réduits. Les tests conservent les réponses des connecteurs en mémoire, évitent l’émission de diagnostics bruts et ne publient jamais de transcriptions Pi. Les mises à jour s’effectuent via pi update npm:@wileai/pi-codex-connector ou pi update --extensions pour l’ensemble des paquets. En spécifiant une version explicite (ex. @0.1.1) l’utilisateur peut figer le comportement et éviter les changements inattendus.