Qu’est-ce que billion-context ?
billion-context est un proxy HTTP local, lancé avec la commande bili, placé entre un agent de code et l'API de son modèle. Il ajoute quatre outils à chaque conversation : compress replie une plage d'anciens messages en résumé, decompress restitue l'original, search_context cherche dans l'historique replié et acp_status indique le remplissage de la fenêtre de contexte. Le modèle décide quand les appeler, et le proxy réécrit ce qu'il envoie au fournisseur pour que les plages repliées le restent. L'objectif est une session qui dure des jours sans atteindre la limite de contexte, tout en gardant stable le début du prompt pour que le cache de prompts du fournisseur continue de servir.
Il se branche sur environ deux douzaines de clients, dont Claude Code, Codex, OpenCode, pi, Gemini CLI, Aider, Kimi Code et Copilot CLI, de trois façons : un plugin natif dans le client, un lanceur (bili claude, bili codex) qui démarre le proxy et le client ensemble, ou une URL de base pointant vers http://localhost:8787/bili/. Les clients dont on ne peut pas changer l'URL de base passent par une interception de certificats : le lanceur les oriente vers une autorité de certification locale afin que le proxy puisse déchiffrer leur trafic TLS vers des hôtes de modèles connus.
Il est écrit en TypeScript, s'installe depuis npm et est maintenu surtout par un développeur, ranxianglei, auteur de 3 885 de ses commits. La licence est MIT avec une clause ajoutée : tout produit visible par des utilisateurs qui l'utilise doit citer billion-context avec un lien sur sa page d'accueil, dans sa documentation ou sur sa page de crédits.
billion-context vaut-il le coup ?
billion-context s'attaque à un coût réel. Les longues sessions d'agent remplissent la fenêtre de contexte, le résumeur intégré de l'agent jette des détails, et chaque token est refacturé au tour suivant. Ici, le modèle replie lui-même les anciens tours, par petites plages, et peut les déplier quand il lui faut le texte exact. Comme seule la fin de la conversation change, le cache de préfixe du fournisseur continue de fonctionner : selon le README, une session saine garde un taux de succès du cache de 95 à 97%.
Les preuves dépassent ce que proposent la plupart des projets du genre, mais elles viennent de l'intérieur. L'article de l'auteur rapporte 4,5 mois d'usage sur trois machines, 174 327 appels au modèle et 18,76B tokens d'entrée sans dépasser une fenêtre de 204 800 tokens. Une évaluation de 1 500 éléments présentée comme indépendante, ajoutée au dépôt le 31 octobre 2026, donne à billion-context 79,20% sur LongMemEval-S, contre 83,20% avec le contexte complet et 62,60% pour la meilleure configuration de recherche, pour $2.30 au lieu de $7.97. Nous n'avons pu confirmer ni qui l'a menée, ni que ces personnes sont sans lien avec le projet.
Le volet sécurité mérite une lecture complète avant l'installation. Chaque prompt, chaque fichier lu par l'agent et chaque clé d'API passent par le proxy. Il n'a pas d'authentification ; il écoute sur 127.0.0.1 par défaut, mais bili --host 0.0.0.0 et l'image Docker écoutent sur le réseau, et le README lui-même conseille de ne le faire que sur un réseau de confiance. Pour les clients sans réglage d'URL de base, le lanceur oriente le client vers l'autorité de certification du proxy afin qu'il puisse lire le trafic chiffré vers les hôtes de modèles d'une liste blanche. Le mode débogage journalise les en-têtes du client, et l'état des sessions est conservé sur disque dans ~/.local/share/billion-context.
Il se modifie aussi lui-même. Le proxy interroge npm au démarrage puis toutes les 3 minutes et installe les nouvelles versions sur place, à un moment tiré au hasard entre 15 minutes et 48 heures après leur sortie ; le processus en cours les prend au redémarrage. Un canal d'avis distinct, interrogé au même rythme même quand la mise à jour automatique est coupée, peut forcer l'installation d'une version précise, y compris un retour en arrière, sauf si advisoryCheck vaut false. C'est une conception raisonnable pour corriger vite une version cassée, et une exposition de chaîne d'approvisionnement pour quiconque a des secrets dans ses prompts. Le projet a publié des versions jusqu'à la 0.1.213 depuis août 2026, un rythme qui rend prudent de figer la version.
L'alternative plus modeste consiste à laisser le client compacter seul et à garder un trafic direct ; context-mode et rtk réduisent ce qui entre dans la fenêtre sans se placer sur la connexion. billion-context va plus loin et prend en charge plus de clients, mais sa place est une machine personnelle avec mise à jour automatique et avis désactivés, pas un serveur partagé ni le voisinage d'identifiants de production.
Là où il fait la différence
Un développeur indépendant qui garde une session Claude Code ouverte plusieurs jours pour une grosse refonte
Garder la session en vie sans la relancer ni réexpliquer le code
Lancez bili claude pour que le proxy démarre avec le client ; les anciens tours sont repliés à mesure que la fenêtre se remplit et rouverts avec decompress quand le texte exact est nécessaire. Coupez la mise à jour automatique et la vérification des avis, et surveillez le taux de succès du cache avec /acp-cache pour voir si la dépense en tokens baisse vraiment.
Une chercheuse qui compare des méthodes de mémoire pour agents de longue durée
Tester la compression pilotée par le modèle face à la simple recherche sur des benchmarks publics
Le dépôt contient l'évaluation de 1 500 éléments sur LongMemEval-S, ContextBench et MemoryAgentBench, menée avec DeepSeek V4.1 Flash et la v0.1.202. La relancer est le moyen de vérifier les chiffres de 79,20% et 0,3097 de F1 avant de s'y fier.
Avant de vous engager
- Mise en route
- npm install -g billion-context --prefix=~/.local, puis au choix : bili plugin install <client>, bili <client> comme lanceur, ou une URL de base http://localhost:8787/bili/<upstream>. Nécessite Node 22 ou plus récent pour son stockage SQLite ; un Dockerfile est fourni.
- Intégrations
- Claude Code, Codex, OpenCode, pi, omp, Gemini CLI, Qwen Code, Kimi Code, Aider, Copilot CLI, Amp, Kiro, Crush, Zed, goose, Hermes et d'autres, via les formats Anthropic Messages, OpenAI Chat Completions et Responses. Peut se placer devant une autre passerelle locale grâce au préfixe /bili/.
- Données et confidentialité
- Tous les prompts et identifiants passent par le proxy ; il conserve une empreinte de 12 caractères de la clé, pas la clé. Les journaux vont dans ~/.local/state/billion-context/bili.log et l'état des sessions dans ~/.local/share/billion-context. Pas d'authentification ; écoute sur 127.0.0.1 sauf si --host est indiqué, alors que l'image Docker écoute sur 0.0.0.0:8787. Interroge npm toutes les 3 minutes pour les mises à jour et un paquet d'avis, et récupère des annonces depuis le dépôt GitHub.
- Coût à grande échelle
- Le logiciel est gratuit ; l'économie dépend de vos sessions. Dans l'évaluation du projet, le coût par session indépendante est passé de $7.97 à $2.30 sur LongMemEval-S et a baissé de 58,3% sur ContextBench, avec DeepSeek V4.1 Flash à $0.15 par 1M de tokens d'entrée.
- Limites
- Les résumés perdent des détails, et la précision sur LongMemEval-S est restée 4 points sous celle du contexte complet. Versions fréquentes, 1 081 issues et pull requests ouvertes et un seul mainteneur principal. Les modes plugin et lanceur ne doivent pas être actifs en même temps, sinon la compression a lieu deux fois.
Les points forts
- Le modèle replie et déplie lui-même les anciens tours au lieu de les perdre par troncature
- Garde le préfixe du prompt stable, donc le cache du fournisseur continue de servir
- Fonctionne avec environ deux douzaines d'agents via plugins, lanceurs ou URL de base
- Données d'usage sur la durée et évaluation de 1 500 éléments publiées
Les points faibles
- Chaque prompt et chaque clé d'API passent par lui, sans authentification
- Mise à jour automatique depuis npm toutes les 3 minutes par défaut ; les avis peuvent forcer une version
- Certains clients exigent une interception TLS via une autorité de certification locale
- Clause d'attribution en plus de MIT pour tout ce que voient les utilisateurs
Idéal pour
Développeurs individuels, sur leur propre machine, qui mènent de très longues sessions d'agent de code et acceptent de figer les versions et de vérifier ce que fait le proxy.
Alternatives à billion-context
billion-context : questions fréquentes
- billion-context vaut-il le coup ?
- Une réponse astucieuse aux agents à court de contexte, livrée sous forme d'un proxy sans authentification qui se met à jour seul et voit chaque prompt et chaque clé que vous envoyez ; il demande donc plus de confiance que la plupart des équipes ne devraient lui en accorder. Nous lui donnons 3.4 sur 5.
- Combien coûte billion-context ?
- Gratuit et open source (MIT avec une clause d'attribution ajoutée). Vous payez toujours votre fournisseur de modèles pour chaque token que le proxy transmet.
- Quels sont les inconvénients de billion-context ?
- Chaque prompt et chaque clé d'API passent par lui, sans authentification; mise à jour automatique depuis npm toutes les 3 minutes par défaut ; les avis peuvent forcer une version; certains clients exigent une interception TLS via une autorité de certification locale; clause d'attribution en plus de MIT pour tout ce que voient les utilisateurs.
- À qui s’adresse billion-context ?
- Développeurs individuels, sur leur propre machine, qui mènent de très longues sessions d'agent de code et acceptent de figer les versions et de vérifier ce que fait le proxy.
- Combien coûte billion-context pour une équipe ou en production ?
- Le logiciel est gratuit ; l'économie dépend de vos sessions. Dans l'évaluation du projet, le coût par session indépendante est passé de $7.97 à $2.30 sur LongMemEval-S et a baissé de 58,3% sur ContextBench, avec DeepSeek V4.1 Flash à $0.15 par 1M de tokens d'entrée.
- billion-context est-il sûr pour les données de l’entreprise ?
- Tous les prompts et identifiants passent par le proxy ; il conserve une empreinte de 12 caractères de la clé, pas la clé. Les journaux vont dans ~/.local/state/billion-context/bili.log et l'état des sessions dans ~/.local/share/billion-context. Pas d'authentification ; écoute sur 127.0.0.1 sauf si --host est indiqué, alors que l'image Docker écoute sur 0.0.0.0:8787. Interroge npm toutes les 3 minutes pour les mises à jour et un paquet d'avis, et récupère des annonces depuis le dépôt GitHub.
- Quelles sont les meilleures alternatives à billion-context ?
- Les alternatives les plus proches que nous avons testées sont context-mode, rtk (Rust Token Killer) et Claude Code Router.
Réponses vérifiées le 13 nov. 2026.