pxpipe : rendre le contexte de Claude Code en images pour réduire la consommation de jetons
réduisez l’utilisation des jetons Fable 5 en rendant le contexte du texte sous forme d’images. Le lecteur est le même canal de vision sur lequel s'appuie déjà l'ordinateur d'Anthropic pour les captures d'écran.
En bref
- De quoi s’agit-il ?
- Un proxy local en TypeScript réécrit les parties volumineuses de chaque requête Claude Code en PNG compacts. Le README expose le calcul des jetons, la méthode de mesure par requête et les compromis avec perte.
- À qui s’adresse-t-il ?
- pxpipe est un proxy local qui parie que le contexte dense coûte moins cher en image qu'en texte sur les modèles de vision actuels. Le README documente les compromis avec perte, la méthode de mesure par requête et les sujets de recherche ouverts, avec preuves à l'appui ; il ne prétend pas que le problème est résolu. pxpipe convient aux lecteurs qui acceptent les limites documentées par teamchong/pxpipe.
- Puis-je l’utiliser commercialement ?
- Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 5 jours.
- En quel langage est-il écrit ?
- Principalement TypeScript, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Un proxy qui échange des jetons de texte contre des jetons d'image
pxpipe est un proxy local en TypeScript qui réécrit les parties volumineuses de chaque requête Claude Code en images PNG avant que la requête ne quitte la machine. Le mécanisme repose sur une propriété des modèles de vision : le coût en jetons d'une image est fixé par ses dimensions en pixels, pas par la quantité de texte qu'elle contient. Le README rapporte que le contenu dense comme le code, le JSON et les sorties d'outils contient environ 3,1 caractères par jeton d'image, contre environ un caractère par jeton de texte sur le trafic réel de Claude Code. Le lecteur est le même canal de vision que celui sur lequel l'utilisation d'ordinateur d'Anthropic s'appuie déjà pour les captures d'écran, et le projet est sous licence MIT.
PxPipe est décrit par son README selon ses interfaces et ses exemples de dépôt. Le choix d un usage local ou intégré dépend des versions, des entrées et des sorties effectivement observées dans ces exemples. Contrôle 1 : cette lecture est limitée aux faits exposés par teamchong/pxpipe et ne transforme pas une affirmation du README en mesure indépendante.
Pour pxpipe, le contrôle 1 porte sur la sortie et la limite explicitement décrites : consignez ce résultat avec la version du dépôt. Si le comportement diffère, le README de teamchong/pxpipe ne permet pas de conclure seul sur la cause.
Trois façons documentées de l'exécuter
Le README documente trois points d'entrée. Le plus simple est le proxy : exécutez `npx pxpipe-proxy` pour démarrer un proxy sur 127.0.0.1:47821, puis pointez Claude Code dessus avec `ANTHROPIC_BASE_URL=http://127.0.0.1:47821 claude`. Un tableau de bord sur http://127.0.0.1:47821/ montre les jetons économisés, chaque conversion texte-image côte à côte, un interrupteur d'arrêt et des pastilles de modèles en direct. La commande `pxpipe warp` enveloppe `claude`, `cursor-agent`, `codex` ou un alias de shell sans l'écrasement d'URL de base, donc /remote-control, les connecteurs claude.ai et les portes de première partie continuent de fonctionner. La troisième voie est l'export hors ligne : `npx pxpipe-proxy export src/` rend du texte, des fichiers ou des diffs en pages PNG sans exécuter le proxy ni connecter Claude Code, et écrit un nouveau dossier de sortie avec les PNG de pages, une fiche d'information, un manifeste et un prompt à coller dans des clients de téléversement d'images comme Cursor.
PxPipe est décrit par son README selon ses interfaces et ses exemples de dépôt. Le choix d un usage local ou intégré dépend des versions, des entrées et des sorties effectivement observées dans ces exemples. Contrôle 2 : cette lecture est limitée aux faits exposés par teamchong/pxpipe et ne transforme pas une affirmation du README en mesure indépendante.
Pour pxpipe, le contrôle 2 porte sur la commande, le fichier ou l API cités dans cette section : consignez ce résultat avec la version du dépôt. Si le comportement diffère, le README de teamchong/pxpipe ne permet pas de conclure seul sur la cause.
Ce qui devient image et ce qui reste texte
Le proxy compresse trois types de blocs d'entrée, chacun derrière une porte de rentabilité : les grands corps tool_result au-dessus d'environ 6k caractères de contenu dense en jetons, les tours d'historique plus anciens repliés (les tours récents restent toujours en texte), et la plaque statique et cacheable du prompt système plus les docs d'outils. Les blocs système non cacheables restent en texte vivant pour que les instructions personnalisées de l'hôte gardent leur saillance au niveau système. Tout le reste passe de manière identique au niveau des octets : messages de l'utilisateur, tours récents, sortie du modèle (le proxy ne touche jamais aux réponses), prose clairsemée et tout ce qui est trop petit pour gagner. Sur les requêtes Anthropic, le préfixe statique et la frontière du cache de prompt sont préservés. Le proxy gère les requêtes Anthropic Messages, OpenAI Responses et Chat Completions, et Google generateContent, et peut faire le pont entre Anthropic Messages et un fournisseur compatible OpenAI configuré.
PxPipe est décrit par son README selon ses interfaces et ses exemples de dépôt. Le choix d un usage local ou intégré dépend des versions, des entrées et des sorties effectivement observées dans ces exemples. Contrôle 3 : cette lecture est limitée aux faits exposés par teamchong/pxpipe et ne transforme pas une affirmation du README en mesure indépendante.
Pour pxpipe, le contrôle 3 porte sur la sortie et la limite explicitement décrites : consignez ce résultat avec la version du dépôt. Si le comportement diffère, le README de teamchong/pxpipe ne permet pas de conclure seul sur la cause.
La partie avec perte est documentée d'emblée
La section "honest part" du README déclare sans détour que l'approche est avec perte. Les chaînes hexadécimales exactes de 12 caractères dans du contenu dense imagé ont obtenu 13/15 sur le modèle par défaut Fable 5 et 0/15 sur Sol. Les ratés sont décrits comme des confabulations silencieuses plutôt que des erreurs de lecture, car la vision des modèles n'est pas de l'OCR : l'image devient des plongements de patchs, jamais des caractères discrets, donc il n'y a pas de confiance par glyphe qui puisse échouer bruyamment. La recommandation est que les valeurs exactes au niveau des octets comme les ID, les hachages et les secrets doivent rester en texte, et les tours récents le font. Un garde de risque de verbatim dédié n'est pas encore construit ; l'issue documentée est de router le travail exact au niveau des octets vers des sous-agents sur des modèles non autorisés, qui passent en texte.
PxPipe est décrit par son README selon ses interfaces et ses exemples de dépôt. Le choix d un usage local ou intégré dépend des versions, des entrées et des sorties effectivement observées dans ces exemples. Contrôle 4 : cette lecture est limitée aux faits exposés par teamchong/pxpipe et ne transforme pas une affirmation du README en mesure indépendante.
Pour pxpipe, le contrôle 4 porte sur la commande, le fichier ou l API cités dans cette section : consignez ce résultat avec la version du dépôt. Si le comportement diffère, le README de teamchong/pxpipe ne permet pas de conclure seul sur la cause.
Comment les économies sont mesurées et où elles ne tiennent pas
Le chiffre d'économies principal dépend de la charge et du client. Le README rapporte des factures de bout en bout environ 59 à 70 pour cent inférieures aux prix catalogue Fable actuels, mais insiste sur le fait que le chiffre durable est la réduction de jetons elle-même, mesurée par requête contre une sonde gratuite count_tokens sur le corps original non compressé, les deux côtés étant journalisés dans la même ligne de ~/.pxpipe/events.jsonl. Le proxy ne crée des images que là où le calcul est gagnant, après une porte de rentabilité calibrée sur 391 lignes de production. Les gains apparaissent sur le contenu dense en jetons autour d'un caractère par jeton, et on perd de l'argent sur la prose clairsemée autour de 3,5 caractères par jeton. Les économies suivent aussi le volume non cacheable que le client renvoie en texte ; Claude Code renvoie système, outils et historique et atterrit typiquement autour de 60 à 70 pour cent, selon la section du README sur la dépendance au client.
PxPipe est décrit par son README selon ses interfaces et ses exemples de dépôt. Le choix d un usage local ou intégré dépend des versions, des entrées et des sorties effectivement observées dans ces exemples. Contrôle 5 : cette lecture est limitée aux faits exposés par teamchong/pxpipe et ne transforme pas une affirmation du README en mesure indépendante.
Pour pxpipe, le contrôle 5 porte sur la sortie et la limite explicitement décrites : consignez ce résultat avec la version du dépôt. Si le comportement diffère, le README de teamchong/pxpipe ne permet pas de conclure seul sur la cause.
Ce que couvrent les benchmarks et ce qu'ils ne couvrent pas
Le README inclut des scores de qualité par modèle pour les sondes d'arithmétique, d'essentiel, d'état, de jamais-dit et de hexadécimal dense, plus deux pilotes SWE-bench appariés : SWE-bench Lite à 10/10 dans les deux bras avec des requêtes 65 pour cent plus petites, et SWE-bench Pro à 14/19 avec pxpipe contre 15/19 sans, avec des requêtes 60 pour cent plus petites. Ceux-ci sont étiquetés comme des pilotes à petit n avec preuves dans le répertoire eval. Le README avertit que les résultats ne sont pas des comparaisons entre modèles, que chaque modèle non listé n'a pas été exécuté, et que le balayage de récupération positionnelle de Gemini est une preuve directionnelle, pas un résultat général Lost-in-the-Middle. Le tableau de capacité rapporte des caractères mesurés par jeton de vision pour chaque famille de modèles, régénérable avec un script de graphique.
PxPipe est décrit par son README selon ses interfaces et ses exemples de dépôt. Le choix d un usage local ou intégré dépend des versions, des entrées et des sorties effectivement observées dans ces exemples. Contrôle 6 : cette lecture est limitée aux faits exposés par teamchong/pxpipe et ne transforme pas une affirmation du README en mesure indépendante.
Pour pxpipe, le contrôle 6 porte sur la commande, le fichier ou l API cités dans cette section : consignez ce résultat avec la version du dépôt. Si le comportement diffère, le README de teamchong/pxpipe ne permet pas de conclure seul sur la cause.
Conclusion éditoriale
pxpipe est un proxy local qui parie que le contexte dense coûte moins cher en image qu'en texte sur les modèles de vision actuels. Le README documente les compromis avec perte, la méthode de mesure par requête et les sujets de recherche ouverts, avec preuves à l'appui ; il ne prétend pas que le problème est résolu. pxpipe convient aux lecteurs qui acceptent les limites documentées par teamchong/pxpipe. Il ne convient pas à une décision fondée sur des promesses non accompagnées d exemples ou de mesures dans le README. Commencez par l entrée propre au projet, puis vérifiez la sortie, les dépendances et le comportement d erreur décrit dans ses fichiers.
Notes de la communauté