Poké-Tokens
Chaque prompt envoyé à Claude Code lance une Poké Ball. Chaque token consommé
devient de l'XP pour votre Pokémon actif.
Un jeu de bureau qui tourne à côté de votre travail : vous codez avec Claude
Code, votre équipe se remplit et grimpe en niveau. Vos collègues et vous
partagez un serveur, un Pokédex commun et un Parc National où tout le monde se
promène en temps réel.
L'extension ne demande rien à Claude Code : elle lit les transcripts qu'il écrit
déjà. Rien n'est injecté dans ~/.claude/settings.json, et Python n'est pas
nécessaire.
Ce qu'il vous faut
Un serveur Poké-Tokens joignable — c'est lui qui garde les collections, sert
le site et arbitre les captures. Il s'héberge sur n'importe quelle machine, sans
dépendance à installer.
Son adresse ne vient pas préremplie : demandez-la à qui l'héberge, ou lancez le
vôtre et donnez http://127.0.0.1:8129. Tant qu'elle manque, l'extension ne
compte rien et ne contacte personne.
Premiers pas
Cliquez sur l'icône Poké Ball dans la barre d'activité, à gauche, sous l'icône
de l'arborescence : le menu s'ouvre dans le panneau latéral.
- Renseigner l'adresse du serveur — c'est la seule entrée du menu tant
qu'elle manque.
- Créer mon compte — le Professeur Chen offre un starter, et la clé du
compte s'affiche. Gardez-la : c'est elle qui rattache un second PC.
- Relier ce navigateur au compte — une seule fois, pour être reconnu sur le
site.
C'est tout. Le menu affiche ensuite votre Pokémon actif et sa progression.
Le panneau
Deux sections :
Aperçu — deux cartes, sprite animé à l'appui.
La première est votre Pokémon actif : son niveau et sa barre d'XP. Un clic
ouvre votre profil.
La seconde est le raid en cours : les points de vie du boss et sa barre,
la cagnotte, et une jauge de temps de recharge avant votre prochain assaut —
pleine quand il est disponible. Un clic ouvre la page du raid.
Configuration — repliée par défaut : relier ce navigateur, la clé du compte,
l'adresse du serveur, le mode de notification, le journal. Ce qu'on règle une
fois et qu'on ne veut plus voir.
Les pages du site n'ont pas de section : elles s'ouvrent depuis la palette
(Ctrl+Maj+P, taper Poké), qui donne accès à toutes les actions.
Tout lien s'ouvre dans le navigateur du poste, jamais dans un onglet de
VS Code. La webview intégrée est un navigateur séparé, sans les cookies de
celui que vous avez relié à votre compte : le site vous y verrait comme un
visiteur inconnu.
Commandes
| Commande |
Rôle |
| Créer mon compte |
inscrit ce poste et offre un starter |
| Afficher la clé du compte |
la clé, à recopier sur un autre PC |
| Rattacher ce poste à un compte existant |
second PC, avec la clé |
| Relier ce navigateur au compte |
ouvre le lien de reconnaissance |
| Ouvrir le Parc National · le Pokédex · mon profil · la boutique |
dans le navigateur du poste |
| État du dresseur |
compte, Pokémon actif, file d'attente |
| Ouvrir le raid |
le combat de boss, dans le navigateur |
| Changer l'adresse du serveur |
l'adresse du serveur |
| Notifications : choisir le mode |
fenêtres, barre d'état, ou rien |
| Journal technique |
ce que l'extension a vu et envoyé |
Réglages
| Réglage |
Défaut |
Rôle |
pokeTokens.serverUrl |
(vide) |
adresse du serveur, à renseigner avant de jouer |
pokeTokens.enabled |
true |
décoché, l'extension n'envoie plus rien |
pokeTokens.scope |
all |
tout le poste, ou les seuls dossiers de cette fenêtre |
pokeTokens.notifications |
popup |
popup, discret ou aucune — se change aussi depuis le panneau |
pokeTokens.statusBar |
false |
afficher aussi le Pokémon actif dans la barre d'état |
pokeTokens.transcriptsDir |
(vide) |
si Claude Code n'écrit pas au chemin habituel |
pokeTokens.xpDebounceMs |
4000 |
délai de calme avant d'envoyer les tokens d'un tour |
Bon à savoir
- VS Code doit être ouvert. Une session Claude Code lancée dans un terminal
compte, mais seulement si une fenêtre VS Code tourne quelque part sur le poste.
- Plusieurs fenêtres ouvertes ? Une seule compte. Les autres attendent et
prennent le relais si elle se ferme — sinon chaque prompt vaudrait triple.
- Serveur injoignable ? Rien n'est perdu : les événements s'empilent dans une
file locale et repartent tout seuls au retour du serveur.
- Votre compte survit à tout. Il vit hors de l'extension
(
%APPDATA%\poke-tokens\account.json, ou ~/.poke-tokens/ ailleurs) :
réinstaller ne fait rien perdre.
- Le site s'ouvre dans votre navigateur. C'est le seul endroit où vous êtes
reconnu : « Me suivre » dans le Parc, la boutique et le profil en dépendent.
Sous le capot
Claude Code écrit tout ce qu'il fait dans
~/.claude/projects/<projet>/<session>.jsonl. L'extension surveille ce dossier
et y guette les deux événements du jeu :
- une ligne
type: "user" avec origin.kind: "human" → un prompt, donc un
tirage de capture. Les résultats d'outils, qui n'ont pas d'origin, ne
comptent pas ;
- une ligne
type: "assistant" avec un usage → des tokens, donc de l'XP.
Comptés : input + cache_creation + output. Les lectures de cache, énormes et
quasi gratuites, restent exclues.
L'historique n'est jamais rejoué : au premier démarrage, l'extension relève la
taille des transcripts existants et ne compte que la suite.
Développement
| Fichier |
Rôle |
extension.js |
commandes et activation |
src/vue.js |
le menu du panneau latéral |
src/watcher.js |
lecture des transcripts |
src/api.js |
envoi au serveur, file d'attente hors ligne |
src/account.js |
compte du poste |
src/lock.js |
une seule fenêtre compte |
src/carte.js |
les cartes du panneau, en HTML |
Aucune dépendance NPM, aucune étape de compilation. Les essais tournent dans un
dossier temporaire, sans toucher à votre compte ni à vos vrais transcripts :
node test\essai.js # le guetteur de transcripts
node test\essai-activation.js # l'extension entière, sur un VS Code simulé
node test\essai-sans-serveur.js # l'extension fraîche, sans adresse de serveur
Le paquet .vsix se fabrique sans NPM ni réseau, depuis la racine du dépôt :
.\scripts\build_extension.ps1
Projet fan non affilié à Nintendo / The Pokémon Company. Sprites © PokéAPI et
Pokémon Showdown.