2 points par jkapa0417 6 일 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp

Tokenova — une app de tray où les tokens écrits avec le codage IA deviennent chaque jour un univers

Ces temps-ci, quand on code tous les jours avec des outils comme Claude Code, Codex CLI ou OpenCode lancés en permanence, on finit par se poser une question : au fond, combien ai-je vraiment consommé aujourd’hui ? Ouvrir un dashboard dédié est lourd, et aller sur la page de facturation casse le flux de travail.

C’est pour ça que j’ai créé Tokenova. C’est une application Tauri qui reste dans un coin de la barre de menus (macOS) ou de la zone de notification système (Windows · Linux), avec une petite icône de planète. En arrière-plan, elle lit les logs locaux laissés par ces trois outils et transforme l’usage quotidien de tokens en étoiles et en planètes. Après minuit, cet univers se referme et une nouvelle toile s’ouvre.

Fonctionnement

  • Étoiles — une étoile tous les 200 000 tokens cumulés. Quand la première étoile apparaît, cela débloque aussi un succès dédié. La forme de l’étoile est déterminée par une seed parmi 12 variantes.
  • Planètes — elles sont déclenchées quand une session unique se termine après avoir dépassé 1 million de tokens, ou de force à chaque tranche cumulée de 20 millions de tokens dans une même session. Elles sont tirées au sort dans un catalogue de 31 variantes selon une roulette de rareté (Common 70 / Rare 20 / Epic 8 / Legendary 1.9 / Mythic 0.1 %).
  • Disposition galactique — chaque jour, une seed choisit l’un des 6 types de mise en page (spirale · elliptique · irrégulier · double amas · ouvert · noyau central). Une même seed reproduit toujours la même forme, donc même en rouvrant un ancien univers dans la galerie, il s’affiche à l’identique.
  • Constellations — dans l’onglet Today, vous reliez vous-même les étoiles par clic. L’enregistrement est possible à partir de 2 étoiles, et le nom peut être généré automatiquement ou saisi manuellement. Elles sont conservées de façon permanente dans le codex.
  • Univers endormi — les jours sans le moindre token utilisé, au lieu d’une toile d’étoiles, une lune douce et quelques étoiles apparaissent. Il existe aussi un succès distinct, « univers endormi ».

Pourquoi c’est amusant à utiliser

Trois éléments changent chaque jour.

D’abord, même avec la même quantité de travail, la forme change d’un jour à l’autre. La seed, la disposition et le résultat de la roulette décident de l’univers du jour. Hier c’était une spirale, aujourd’hui un noyau central. Même si vous codez les mêmes 5 000 lignes, la répartition des étoiles diffère à chaque fois, ce qui rend la galerie agréable à parcourir.

Ensuite, il y a la probabilité des raretés. Quand un Mythic à 0,1 % tombe, l’overlay plein écran qui slide in sur tout l’écran procure, franchement, sa petite dose de dopamine. Si une Dyson sphere ou un trou noir apparaît, l’OS vous le signale directement via une notification de tray. On ne travaille pas pour ça, mais le voir par surprise devient une petite récompense en soi.

Enfin, une galerie sur 365 jours s’accumule. Avec des heatmaps sur 1 semaine / 1 mois / 1 an, on peut voir son propre rythme de codage. Les jours endormis, les jours d’emballement, les jours où une galaxie géante est née sont tous conservés sur des toiles, et un clic permet de rejouer l’univers de cette journée.

Comment ça fonctionne

  • Claude Code — surveillance de ~/.claude/projects/*.jsonl via notify
  • Codex CLI — surveillance de ~/.codex/sessions/YYYY/MM/DD/*.jsonl
  • OpenCode — polling de opencode.db SQLite toutes les 5 secondes

Les trois canaux sont normalisés dans un même TokenEvent, puis stockés dans une base SQLite unique. L’interface lit ensuite ces données pour les dessiner. Aucun envoi de l’usage des tokens vers l’extérieur. La connexion Internet n’est utilisée que pour vérifier les mises à jour automatiques, lorsque GitHub Releases est consulté.

Stack technique et contraintes

  • Tauri 2 · Rust · Vanilla TypeScript + Canvas (sans framework). La mémoire tourne autour de 80 Mo pour le popover de tray.
  • macOS · Windows · Linux sont tous pris en charge. Le démarrage automatique peut être activé pour lancer l’application en arrière-plan au boot de l’OS, et il est activé par défaut au premier lancement.
  • Les mises à jour automatiques utilisent une signature minisign + un manifeste GitHub Releases. Lorsqu’une nouvelle version sort, une bannière in-app l’annonce.
  • Toutes les données sont stockées dans une SQLite locale (~/Library/Application Support/com.tokenova.app/, etc.). Aucun serveur externe.
  • Licence : FSL-1.1-ALv2. Usage libre en personnel comme en entreprise, avec bascule automatique vers Apache 2.0 au bout de 2 ans via la Functional Source License.
  • Bascule instantanée de l’interface en coréen / anglais. 30 types de planètes, 14 formes d’étoiles, et toutes les chaînes d’interface sont localisées dans les deux langues.

Où le récupérer

Sur GitHub Releases, j’ai mis à disposition les versions macOS DMG, Windows NSIS et Linux AppImage / deb. Le programme Apple Developer est actuellement en attente d’approbation, donc le DMG macOS affiche un avertissement du type « développeur non fiable ». Il faut contourner Gatekeeper une première fois (clic droit sur l’app → Ouvrir, ou Réglages système → Confidentialité et sécurité → « Ouvrir quand même »). Cette étape devrait disparaître une fois l’approbation obtenue. Sous Windows, SmartScreen demandera « Informations complémentaires → Exécuter ». Après la première installation, la mise à jour automatique in-app vous signalera ensuite les nouvelles versions.

Dépôt : https://github.com/jkapa0417/tokenova

Retours et signalements de bugs

Si vous remarquez quelque chose d’étrange en l’utilisant ou si une idée vous vient, n’hésitez pas à laisser un commentaire ou à ouvrir une GitHub Issue. Tous les retours sont les bienvenus. La direction du développement et les fonctionnalités prévues sont consultables dans la roadmap du dépôt GitHub.

En une phrase

Tokenova ne changera pas vos habitudes de codage. Il y a simplement un petit univers qui flotte au bord de l’écran. Mais voir cet univers grandir différemment chaque jour aide, de façon inattendue, à continuer à travailler.

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.