J’ai créé un animal de bureau avec Claude Code Hook
(github.com/IMMINJU)Au travail, j’ouvre plusieurs sessions Claude Code en même temps, et il m’arrive souvent de rater laquelle attend une saisie. Comme je suis au bureau, je ne peux pas non plus activer le son.
Claude Code permet, via les Hooks, d’exécuter des commandes externes avant et après les appels d’outils. C’est généralement utilisé pour le lint ou le logging, mais j’ai essayé d’en faire quelque chose d’un peu différent.
J’ai créé un widget qui reçoit les événements des Hooks et les affiche sur le bureau sous forme de personnages emoji. Quand plusieurs sessions tournent en parallèle, elles sont suivies séparément et affichées côte à côte.
Comme j’ai associé les états à des emoji, avec des expressions qui sourient, paniquent ou somnolent, j’ai trouvé ça amusant et j’ai décidé d’appeler ça simplement un animal de compagnie.
Claude Code hooks → claude-pet --hook → TCP(:19876) → Tauri(Rust) → WebView
Les Hooks lancent puis arrêtent un processus à chaque événement, donc il est impossible d’y conserver l’état. J’ai donc mis en place un serveur TCP côté application, auquel le Hook envoie du JSON à chaque déclenchement. C’est développé avec Tauri 2 + Rust, le binaire fait environ 8 Mo, et l’installation en une ligne avec curl ... | sh enregistre automatiquement les Hooks.
Trois thèmes sont intégrés (robot, chat, fruits), il est aussi possible de créer des thèmes personnalisés en JSON. Je l’utilise sous Windows, et il existe aussi des builds macOS/Linux, même si je n’ai pas encore pu les tester moi-même. MIT.
GitHub: https://github.com/IMMINJU/claude-pet
Les retours sont les bienvenus.
Aucun commentaire pour le moment.