Codex Usage Widget est un petit widget Windows permettant de garder un oeil sur l'utilisation restante de Codex sans devoir ouvrir la page Analytics de ChatGPT.
Il reste discrètement au-dessus des autres fenêtres, s'actualise automatiquement et peut être affiché ou masqué depuis la zone de notification Windows.
Ce projet est communautaire et n'est ni développé, ni sponsorisé, ni officiellement pris en charge par OpenAI.
Le widget affiche :
- le pourcentage restant sur la fenêtre hebdomadaire ;
- la date et l'heure de réinitialisation de la limite ;
- le solde de crédits disponible, lorsqu'il est fourni par Codex ;
- les tokens cumulés de la conversation locale la plus récente ;
- le temps total travaillé sur cette conversation, hors pauses entre les interventions ;
- un indicateur rouge lorsqu'un quota passe sous les 20 %.
Les valeurs correspondent aux informations visibles dans la page Codex Analytics.
- Windows 10 version 1809 ou plus récent, ou Windows 11 ;
- un ordinateur 64 bits ;
- Codex CLI installé ;
- une session Codex authentifiée.
L'application est autonome : il n'est pas nécessaire d'installer .NET séparément.
- Ouvrir la page des dernières releases.
- Télécharger
CodexUsageWidget-Setup-x.y.z.exe. - Lancer l'assistant d'installation.
- Choisir si le widget doit démarrer automatiquement avec Windows.
- Lancer le widget à la fin de l'installation.
L'assistant vérifie si Codex CLI est accessible sur l'ordinateur :
Si Codex CLI n'est pas encore installé, l'installation du widget reste possible. Il commencera à afficher les données dès que Codex CLI sera installé et authentifié.
Windows SmartScreen peut afficher un avertissement tant que l'installateur n'est pas signé numériquement. Vérifiez que le fichier provient bien de la page Releases de ce dépôt.
Le widget démarre dans le coin supérieur droit de l'écran. Il peut être déplacé en maintenant le bouton gauche de la souris sur sa surface.
Le widget n'occupe pas de place dans la barre des tâches. Son icône se trouve dans la zone de notification, près de l'horloge Windows.
- Clic gauche : afficher ou masquer le widget.
- Clic droit : ouvrir le menu proposant l'actualisation, l'accès à Codex Analytics, le démarrage avec Windows et la fermeture de l'application.
Si l'icône n'est pas immédiatement visible, elle peut se trouver dans le menu des icônes masquées de Windows.
Les limites sont actualisées toutes les 60 secondes. Le bouton Actualiser permet de déclencher immédiatement une nouvelle lecture.
Si Codex est momentanément indisponible, le widget conserve la dernière mesure connue et signale que les données affichées proviennent du cache.
Le compteur de tokens correspond au cumul de la conversation Codex locale la plus récente. Le détail des tokens d'entrée, de cache, de sortie et de raisonnement est disponible au survol.
Ce nombre est informatif : il ne représente pas un total officiel de tokens facturés et ne remplace pas le quota hebdomadaire.
Le temps total travaillé additionne la durée de chaque intervention Codex de la conversation locale la plus récente. Les périodes d'attente entre deux messages ne sont pas comptabilisées. Une intervention en cours est incluse jusqu'au dernier événement enregistré dans le journal local.
Le widget utilise le processus local codex app-server et sa méthode
account/rateLimits/read. Il récupère ainsi les limites associées à la session
Codex déjà authentifiée sur l'ordinateur.
Le pourcentage affiché est calculé de la manière suivante :
pourcentage restant = 100 - pourcentage utilisé
Les informations de tokens sont lues dans les journaux de sessions locales de
Codex, situés dans le dossier utilisateur .codex/sessions.
- aucune clé API n'est demandée ;
- aucun jeton d'authentification n'est copié ou stocké par le widget ;
- aucune donnée n'est envoyée à un serveur tiers par l'application ;
- seules les informations locales nécessaires à l'affichage sont conservées
dans
%LOCALAPPDATA%\CodexUsageWidget.
Vérifier que Codex CLI est installé et accessible :
codex --versionVérifier ensuite que la session est authentifiée :
codex login statusAprès correction, utiliser Actualiser dans le widget.
Les données peuvent évoluer pendant l'utilisation de Codex. Actualiser le widget et la page Analytics au même moment pour les comparer. Le widget affiche le pourcentage restant, alors que l'API locale fournit initialement le pourcentage utilisé.
Ouvrir le menu des icônes masquées de Windows. Il est également possible d'autoriser l'affichage permanent de l'icône dans les paramètres de la barre des tâches.
Le widget peut être supprimé depuis :
Paramètres Windows > Applications > Applications installées
La désinstallation arrête le widget, retire son démarrage automatique et supprime ses paramètres locaux.
- .NET 9 ;
- WPF pour l'interface ;
NotifyIconWindows pour la zone de notification ;- JSON-RPC via
codex app-server; - MSTest pour les tests ;
- Inno Setup pour l'assistant d'installation.
La solution contient trois projets :
CodexUsageWidget/ Application WPF Windows
CodexUsageWidget.Core/ Lecture Codex, modèles, cache et logique métier
CodexUsageWidget.Tests/ Tests unitaires
Prérequis de développement :
- SDK .NET 9 ;
- Windows 10 ou 11 ;
- Codex CLI installé pour tester la récupération réelle des quotas.
dotnet restore
dotnet build
dotnet test
dotnet run --project .\CodexUsageWidgetdotnet publish .\CodexUsageWidget\CodexUsageWidget.csproj `
-c Release `
-r win-x64 `
--self-contained true `
-o .\distL'exécutable autonome est généré dans dist\CodexUsageWidget.exe.
Installer Inno Setup 6 une seule fois :
winget install --exact --id JRSoftware.InnoSetupPuis lancer :
.\installer\build-installer.ps1Le script :
- exécute tous les tests ;
- publie l'application autonome Windows x64 ;
- compile l'assistant Inno Setup.
L'installateur final est généré dans installer-output.
Les rapports de bugs et propositions d'amélioration sont les bienvenus dans les issues GitHub.
Pour proposer une modification :
- créer une branche dédiée ;
- ajouter ou adapter les tests concernés ;
- vérifier que
dotnet testréussit ; - ouvrir une pull request avec une description du comportement modifié.
Aucune licence n'est actuellement déclarée dans ce dépôt. Avant toute réutilisation ou redistribution, consultez le propriétaire du projet.
