À propos du projet

# QuotaBar QuotaBar est un utilitaire léger, uniquement accessible depuis la barre de menus, pour macOS 14+ qui suit les quotas d'abonnement restants pour plusieurs services de codage et de chat IA. Il fournit un indicateur visuel des limites d'utilisation pour **Cursor**, **ChatGPT** (Plus/Pro), **GLM** (z.ai/BigModel), **Grok** (SuperGrok grand public) et **OpenCode Go**. L'application fonctionne discrètement sous forme de pilule sombre dans la barre d'état, affichant un pourcentage et un petit graphique à barres, avec un popover compact pour la gestion détaillée des comptes. ## Fonctionnalités clés - **Prise en charge multi-services** : Surveille l'utilisation des quotas pour cinq plateformes d'IA distinctes en utilisant leurs points de terminaison d'utilisation non officiels mais standard. - **Intégration à la barre de menus** : Affiche une seule icône dans la barre d'état macOS avec un indicateur de pourcentage. La couleur passe à l'orange lorsque le quota restant descend en dessous de 25 %. - **Popover compact** : Un popover de taille fixe (320x360) affiche des cartes détaillées pour chaque fournisseur ou compte. Il prend en charge le défilement pour plusieurs comptes et inclut l'accès aux paramètres. - **Gestion multi-comptes** : Prend en charge plusieurs comptes pour ChatGPT et OpenCode Go. Les utilisateurs peuvent basculer entre les comptes actifs directement depuis le popover, la barre d'état reflétant l'utilisation du compte sélectionné. - **Stockage local des identifiants** : Les secrets sont stockés en toute sécurité dans le trousseau macOS. Les préférences non secrètes sont enregistrées dans `~/.config/quotabar/config.json` avec des permissions restreintes (mode 0600). - **Aucune télémétrie** : L'application n'envoie aucune donnée d'utilisation ni télémétrie à des serveurs externes, au-delà de la récupération des informations de quota nécessaires auprès des API des fournisseurs respectifs. - **Axé sur la confidentialité** : Conçu comme un `LSUIElement` non sandboxé pour permettre la lecture de fichiers locaux (comme la base de données d'état de Cursor) et la gestion des cookies de navigateur sans droits complexes. ## Fournisseurs et méthodes pris en charge ### Cursor - Lit les jetons d'authentification depuis la base de données locale de l'application Cursor (`state.vscdb`) ou accepte des cookies de session collés. - Récupère les données d'utilisation depuis `cursor.com/api/usage-summary`. - Distingue les pools « Cursor Models » et « Other Models ». ### ChatGPT (Plus / Pro) - Prend en charge plusieurs comptes via le CLI Codex (`codex login`) ou une saisie manuelle de cookie/JSON. - Utilise le point de terminaison `wham/usage` pour récupérer les limites de session, hebdomadaires et mensuelles. - Rafraîchit automatiquement les jetons expirés à l'aide de l'API OAuth publique si le CLI Codex est disponible. ### GLM (z.ai / BigModel) - Accepte les clés API via les paramètres ou les variables d'environnement. - Prend en charge les régions mondiale (`api.z.ai`) et chinoise (`open.bigmodel.cn`). - Récupère les limites de quota depuis l'API de surveillance. ### Grok (SuperGrok grand public) - Lit l'authentification depuis `~/.grok/auth.json` écrit par le CLI Grok ou accepte des jetons OAuth collés. - Récupère les données de facturation et d'utilisation depuis l'API proxy du CLI Grok. - Cible spécifiquement les forfaits SuperGrok grand public, et non les API de gestion d'équipe. ### OpenCode Go - Prise en charge multi-comptes via des clés API stockées dans le trousseau. - Récupère l'utilisation depuis `opencode.ai/zen/go/v1/usage`. - Convertit les pourcentages « utilisés » en « restants » pour l'affichage. ## Installation La méthode d'installation recommandée est via Homebrew : ```bash brew tap ttaatoo/quotabar https://github.com/ttaatoo/quotabar brew install --cask ttaatoo/quotabar/quotabar ``` Si Gatekeeper bloque l'application signée ad hoc, vous devrez peut-être exécuter : ```bash xattr -dr com.apple.quarantine /Applications/QuotaBar.app ``` Ouvrez ensuite Réglages Système > Confidentialité et sécurité et cliquez sur **Ouvrir quand même**. ## Compilation à partir des sources Prérequis : macOS 14+, Xcode 15.4+ (Swift 5.9+). ```bash git clone https://github.com/ttaatoo/quotabar.git cd quotabar open QuotaBar.xcodeproj ``` Exécutez le projet dans Xcode ou compilez via la ligne de commande : ```bash xcodebuild -project QuotaBar.xcodeproj -scheme QuotaBar -configuration Release \ MARKETING_VERSION=0.0.13 CURRENT_PROJECT_VERSION=0.0.13 \ CODE_SIGN_IDENTITY="-" CODE_SIGNING_ALLOWED=YES CODE_SIGNING_REQUIRED=NO build ``` ## Avertissement QuotaBar est un outil indépendant et non officiel. Il interagit avec des points de terminaison d'utilisation privés qui peuvent changer sans préavis. Il n'est affilié ni à Cursor, ni à OpenAI, ni à z.ai, ni à BigModel, ni à xAI, ni à OpenCode. Les utilisateurs sont responsables de la gestion de leurs propres identifiants et de la compréhension des risques liés à l'utilisation d'API non officielles.