4 points par mssmss 3 시간 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp

Bonjour. Je partage une app de barre de menus macOS qui permet aux agents IA de continuer à tourner sans s’arrêter même lorsque le MacBook est fermé (mode clamshell).

Récemment, on a vu passer des articles sur « les développeurs qui se déplacent sans pouvoir fermer leur ordinateur portable à cause de la vague de l’IA pour le code » (le mème dit du « laptop ouvert en marchant »).
(https://www.donga.com/news/Economy/article/all/20260513/133913987/3)

C’était exactement mon cas. Il m’arrive de lancer une tâche à un agent pendant un déplacement puis de devoir quitter mon poste, mais dès que je fermais mon MacBook, il se mettait en veille et le travail s’interrompait.
Dans cet article, certains disent aussi : « il suffit d’utiliser caffeinate, non ? »
Mais en pratique, même avec caffeinate, si on ferme le capot sans écran externe, la machine se met quand même en veille en clamshell.
Et si on la laisse simplement éveillée en permanence, on ne sait guère que si le processus est encore vivant ; même quand le travail est terminé, elle reste réveillée, ce qui provoque chauffe et décharge de la batterie. Les apps existantes du genre « café » ne bloquaient pas vraiment cela, ou le faisaient d’une façon un peu incomplète.

J’ai donc décidé de la créer moi-même.

  • Empêcher la veille même capot fermé — un simple bouton on/off. Pas de commande Terminal, pas besoin de se réauthentifier.
  • Prévention de la surchauffe et de la décharge — l’app surveille la batterie et la température, puis met la tâche en pause quand les seuils configurés sont dépassés afin d’éviter qu’un MacBook ne surchauffe ou ne se vide dans un sac. Sans écran externe et capot fermé, les critères sont plus stricts ; en mode Desktop, ils sont plus souples — les seuils changent selon l’état.
  • Détection du travail, pas seulement du processus — si le travail de l’agent est terminé depuis longtemps mais que le Mac reste en clamshell, cela gaspille batterie et génère de la chaleur. L’app détecte si un vrai travail est en cours et bascule automatiquement en état inactif quand c’est fini (Strict). Il existe aussi un mode Lax qui garde la machine éveillée tant que le processus est vivant.
  • Reconnaissance de 5 agents par défaut — Claude Code · Codex · Cursor · opencode · Antigravity.
    Vous pouvez aussi ajouter vous-même d’autres agents via un motif glob ou un simple fichier de déclaration.
  • Prise en compte du travail à distance — si une connexion SSH, un partage d’écran ou Tailscale est actif, la machine ne se met pas en veille, afin de ne pas interrompre le travail à distance.
  • Sécurité — pour la détection, l’app lit uniquement l’horodatage de modification des fichiers de transcript. Elle ne lit pas leur contenu.

Il y a aussi un CLI, des sessions nommées, des notifications Telegram (optionnelles) et une triple sécurité pour restaurer le sleep à la fermeture.

La stack technique repose sur Swift + AppKit sans dépendances externes, avec contrôle de l’alimentation via IOKit SPI
(IOPMSetSystemPowerSetting) ; pour les permissions, un helper unique est utilisé via un démon SMAppService.
L’application est signée avec un Developer ID. Elle est réservée à Apple Silicon et à macOS 13+ (Ventura).

Le projet est encore en cours de développement, donc il reste des aspects un peu bruts.
C’est un projet open source gratuit ; si vous l’essayez et me faites des retours, ce serait vraiment très apprécié 🙏
Et s’il y a un agent que vous aimeriez voir reconnu, dites-le-moi.

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.