GitHub / Hacker News via Hacker News

Adrafinil garde le Mac éveillé pendant les runs d'agents IA

claude-code agents developer-tools coding-tools

TL;DR

  • Adrafinil prend en charge neuf agents de codage IA et ne bloque la veille macOS qu'pendant leurs sessions actives, puis relâche le verrou automatiquement.
  • L'architecture en quatre composants et trois niveaux de privilèges isole la gestion de l'API système de veille dans un daemon root dédié, avec un CLI sous 50 ms.
  • Le projet requiert macOS Tahoe 26.4 et comptait 130 étoiles sur GitHub peu après la sortie de la version v1.1.2.

Quand on laisse tourner un agent de codage toute la nuit sur un MacBook, le problème est banal mais agaçant : le système se met en veille et tue le run en cours. Les solutions existantes comme `caffeinate` en ligne de commande ou Amphetamine dans la menu bar font le travail à la massue, maintenant la machine éveillée en permanence, que l'agent tourne ou non. Adrafinil, publié par @kageroumado sous licence MIT, propose une approche plus chirurgicale : bloquer la veille uniquement pendant les sessions actives des agents, et relâcher le verrou dès qu'elles se terminent.

L'application de menu bar prend en charge neuf plateformes d'agents de codage, parmi lesquelles Claude Code, Codex, Cursor, Gemini CLI, Aider, Hermes, OpenCode, Cline et Pi, via leurs systèmes de hooks respectifs. Elle gère également les sessions qui se chevauchent grâce à un mécanisme de comptage de références, de sorte que si deux agents tournent simultanément, la veille reste bloquée jusqu'à ce que le dernier se termine. Une fonction de détection automatique de processus (process sniffing) permet même d'acquérir le verrou sans installation de hook.

L'architecture repose sur quatre composants répartis sur trois niveaux de privilèges : l'application menu bar côté utilisateur, un LaunchAgent non privilégié pour la logique de comptage, un LaunchDaemon en root pour accéder à l'API système de veille, et un outil CLI dont le temps de réponse est inférieur à 50 ms. Un dispositif de sécurité thermique mérite d'être signalé : si la température dépasse un seuil critique lorsque le couvercle est fermé, les assertions sont libérées de force pour éviter la surchauffe.

La nuance honnête à retenir : l'outil exige macOS Tahoe 26.4 et Xcode 26 pour la compilation, ce qui restreint son usage à une version encore récente du système. La fiabilité du process sniffing dépend aussi de la stabilité des noms de processus des agents, et une mise à jour d'un outil tiers pourrait casser la détection silencieusement. Ce que la documentation ne précise pas : les seuils de température exacts du coupe-circuit thermique, ni la manière dont l'outil gère les agents qui lancent de nombreux sous-processus.

Pour les développeurs qui enchaînent de longs runs d'agents locaux, c'est un utilitaire de niche qui règle un problème réel avec une élégance architecturale notable. Le projet comptait 130 étoiles sur GitHub au moment de la publication, et la version v1.1.2 est disponible sous forme de disk image signé et notarisé.