Habr AI→ original

Un développeur loge des agents Claude Code et Codex dans l'encoche du MacBook pour 0,5% de CPU

Quand trois ou quatre sessions de Claude Code et Codex tournent en parallèle, on perd du temps à jongler entre les fenêtres. L'auteur d'un article publié sur Habr a écrit pour macOS une application qui affiche les statuts des agents dans l'encoche du MacBook. L'encoche s'illumine lorsqu'un agent attend l'humain, et chaque session devient un petit personnage dans un bureau en pixel art réalisé avec SpriteKit. Claude Code est suivi via des hooks, Codex via la lecture de ses journaux, sans API. Le halo lumineux, construit avec Core Animation, consomme environ 0,5% du processeur. • Claude Code : statuts via des hooks • Codex : lecture des journaux, sans API • Halo de l'encoche : environ 0,5% de CPU

Traité par IA depuis Habr AI ; édité par Hamidun News
Un développeur loge des agents Claude Code et Codex dans l'encoche du MacBook pour 0,5% de CPU
Source : Habr AI. Collage: Hamidun News.
◐ Écouter l'article

Trois ou quatre sessions parallèles de Claude Code et Codex transforment vite la journée de travail en course entre les fenêtres : un agent a fini, un deuxième attend une confirmation, un troisième s'est figé. L'auteur d'un article sur Habr a réglé le problème avec une petite application macOS. Elle affiche les statuts de tous les agents dans l'encoche du MacBook et l'illumine dès que l'un d'eux a besoin d'un humain. L'application dessine chaque session sous la forme d'un petit personnage dans un bureau en pixel art. Selon l'auteur, le halo lumineux coûte environ 0,5% de processeur.

Le problème : beaucoup d'agents, aucun tableau de bord

Lancer plusieurs agents de code en parallèle est devenu une pratique courante. L'un refactorise un module, l'autre écrit des tests, un troisième traque un bug. Les outils actuels restent pensés pour une seule fenêtre de terminal et une seule personne qui la regarde. Si un agent s'arrête en attendant l'autorisation d'exécuter une commande, il reste inactif tant que vous ne le remarquez pas. Sur les tâches longues, ces pauses s'additionnent en heures.

Le choix de l'encoche se tient. C'est la seule zone de l'écran qu'aucune fenêtre ne recouvre, et elle reste toujours dans le champ de vision. L'application occupe un espace vide et ne dispute pas la place à l'éditeur.

Comment ça marche

Pour Claude Code, l'auteur utilise des hooks. Ce mécanisme exécute vos commandes sur des événements du cycle de vie de la session, par exemple lors d'un arrêt ou d'une demande d'attention. L'application reçoit le signal au moment de l'événement et n'interroge pas les processus en boucle.

Pour Codex, le schéma diffère. L'auteur lit les journaux de session que l'outil écrit sur disque, sans passer par une API. La solution est pragmatique, mais comporte une réserve : le format des journaux ne constitue pas un contrat public. Une mise à jour de Codex peut modifier la structure des fichiers, et il faudra alors réparer le parseur.

La partie visuelle repose sur deux couches :

  • le bureau en pixel art est dessiné avec SpriteKit, une session correspondant à un personnage ;
  • le halo de l'encoche est réalisé avec Core Animation, et non par un redessin permanent de la scène.

Le second point explique le chiffre de 0,5% de CPU. Une animation pilotée par le système de composition coûte moins cher qu'un rendu image par image. Pour une application qui reste ouverte toute la journée, c'est essentiel. Un utilitaire-indicateur ne doit pas lui-même grignoter les ressources des agents et de l'IDE.

Paramètres clés

  • Plateforme : macOS, zone de l'encoche du MacBook.
  • Claude Code : les statuts arrivent via des hooks.
  • Codex : lecture des journaux, sans API.
  • Visualisation : bureau en pixel art avec SpriteKit.
  • Signal d'attente : halo lumineux avec Core Animation, environ 0,5% de CPU.
  • Statistiques : l'auteur affirme les collecter sans aucun compteur à l'intérieur de l'application. Il en détaille le fonctionnement dans l'article complet.

Ce qu'on peut en retenir

Si vous faites tourner plusieurs agents en même temps, commencer par l'encoche n'est pas obligatoire. Une version minimale tient en une soirée : un hook Claude Code sur l'événement d'arrêt écrit le statut dans un fichier ou envoie une notification système. Cela suffit déjà à supprimer la moitié des vérifications de fenêtres.

Il faut ensuite décider à quoi se fier. Les hooks valent mieux que l'analyse des journaux, car ils constituent un point d'extension documenté. Les journaux dépannent quand l'outil n'expose pas d'événement clair, mais prévoyez du temps de maintenance. Si vous lisez les fichiers d'un CLI tiers, vérifiez le format et affichez dans l'interface une erreur d'analyse, au lieu de considérer en silence que l'agent est bloqué.

Une autre leçon concerne la consommation de ressources. Tout indicateur en arrière-plan ajouté à des agents qui sollicitent déjà fortement le processeur et la mémoire doit tenir en quelques fractions de pourcent. Mieux vaut confier l'animation au système de composition que redessiner la scène à chaque image.

On peut voir le bureau en pixel art comme un simple ornement, mais il a une utilité pratique. Un personnage assis à son poste, un autre devant la machine à café et un troisième avec la main levée se lisent plus vite qu'un tableau de statuts. Pour les développeurs d'outils agentiques, ce projet montre ce qui manque aux produits eux-mêmes : un flux d'événements stable sur l'état des sessions, qu'il ne faudrait pas aller extraire des logs.

ZK
Hamidun News
Actualités IA sans bruit. Sélection éditoriale quotidienne de plus de 50 sources. Produit de Zhemal Khamidun, Head of AI chez Alpina Digital.
✦ Autonomous AI Agents

Delegate Deep Research, Coding & Workflows to an AI Agent

Deploy autonomous multi-step execution with NomadNet Agent (agent.nomadnet.ai) — automated web research, data synthesis, code generation, and complex task orchestration.

Launch NomadNet Agent →NomadNet AI Platform
Qu'en pensez-vous ?
Chargement des commentaires…