Keepresso
Keepresso
Utiliser Keepresso

Agents IA et baux d'automatisation gardent le Mac éveillé

György
Vérifié par
György
Mis à jour Jul 28, 2026 9 min

Un agent qui exécute une longue tâche pendant la nuit a besoin que le Mac reste éveillé pendant qu'il travaille, et qu'il s'endorme une fois la tâche terminée. Un simple « maintien éveillé activé » réussit la première moitié et échoue la seconde : si l'outil plante ou oublie de le désactiver, le Mac reste éveillé pour toujours. Les baux d'automatisation corrigent cela. Un script ou un agent IA acquiert un bail avec une limite de durée, le renouvelle sans cesse pendant que le travail tourne, et le libère à la fin. Si l'outil meurt en pleine tâche, le bail expire tout simplement et le Mac peut de nouveau s'endormir. Rien ne maintient la machine éveillée par accident.

Keepresso fournit toute la pile pour cela : les commandes keepresso lease, un serveur MCP que tout agent compatible MCP peut appeler, et une compétence d'agent intégrée que vous pouvez installer en un clic.

La détection observe, un bail parle

Keepresso possède déjà un déclencheur d'agent IA qui détecte quand un agent de codage travaille réellement. Les agents connus (claude, cursor, codex, gemini, pi et consorts) sont jugés d'après l'activité de leurs propres processus, et ce côté ne demande aucune configuration dans l'agent. Connectez Claude Code, Cursor, Codex ou Antigravity sous la condition Agent IA lorsque vous voulez l'état exact de la session, y compris les agents intégrés aux apps Cursor et Antigravity, qui n'ont pas de processus propre à surveiller. Seuls les outils réellement installés sur votre Mac sont proposés, et Keepresso revérifie chaque connexion au fil du temps, réparant un hook qui aurait disparu ou serait devenu obsolète.

Mais la détection ne peut couvrir que les agents que Keepresso sait reconnaître, et de nouveaux apparaissent chaque semaine. Un bail inverse le sens : au lieu que Keepresso devine, l'agent lui-même indique à Keepresso quand il a besoin que le Mac reste éveillé, pour quoi, et pour combien de temps, puis continue de prouver qu'il est toujours en vie. N'importe quel outil capable d'exécuter une commande ou d'appeler un serveur MCP peut le faire, quel que soit son nom et son fonctionnement interne. Les deux se complètent bien : la détection couvre les sessions quotidiennes auxquelles vous n'avez pas pensé, les baux couvrent les longues tâches délibérées et tout ce que la détection ne peut pas voir.

Pourquoi un bail plutôt que keepresso start

keepresso start est un bon interrupteur manuel, mais l'automatisation réclame d'autres garanties :

  • Limité. Un bail a un TTL que le propriétaire doit renouveler sans cesse, et une durée de vie maximale (plafonnée à 7 jours) que les battements ne peuvent jamais prolonger. Une tâche qui s'emballe ne peut pas maintenir le Mac éveillé au-delà de son plafond.
  • Auto-réparant. Pas de battement, pas de maintien. Le bail d'un script qui plante expire de lui-même.
  • Partagé proprement. Plusieurs outils peuvent détenir des baux en même temps. Keepresso les réunit et laisse le Mac s'endormir une fois le dernier terminé, en exécutant votre action de fin de session à ce moment-là, pas avant.
  • Visible. Chaque bail actif apparaît dans le menu avec son compte à rebours, nommé d'après l'outil et la tâche qui l'ont pris.

Le cycle de vie d'un bail

Acquérez un bail au démarrage de la tâche. Vous choisissez l'id (un UUID), nommez l'outil et la tâche, et fixez le TTL en secondes :

ID=$(uuidgen)
keepresso lease acquire --id "$ID" --tool my-script --task "nightly render" --ttl 600

Envoyez un battement avant que la moitié du TTL ne s'écoule, en boucle tant que le travail dure. Un battement peut aussi ajuster le TTL :

keepresso lease heartbeat --id "$ID"            # renew with the same TTL
keepresso lease heartbeat --id "$ID" --ttl 300  # renew and shorten it

Libérez le bail une fois la tâche terminée, pour que le Mac n'attende pas la fin du TTL :

keepresso lease release --id "$ID"

Et listez ce qui est actif, le vôtre et ceux des autres :

keepresso lease list --json

Chaque commande accepte --json pour une sortie exploitable par une machine, et les codes de sortie sont faits pour les scripts : 0 ok, 2 l'app ne tourne pas, 3 le bail est introuvable ou déjà terminé, 4 les baux sont désactivés dans les Préférences.

Les baux sont régis par un interrupteur sous Préférences, Automatisation, activé par défaut. Désactivez-le et chaque acquisition est refusée avec le code de sortie 4, pour que l'automatisation ne puisse jamais passer outre votre choix.

Les voir et les arrêter depuis le menu

Les baux actifs apparaissent dans la carte de statut du panneau de menu, chacun avec un compte à rebours. Vous gardez le contrôle : Stop les termine tous d'un coup, et le Mac est de nouveau libre de s'endormir.

Le menu Keepresso affichant les leases d automatisation actives avec compte à rebours
Leases actives dans le menu : tâches, outils et comptes à rebours.

Apprenez-le à votre agent en un clic

Vous n'avez pas à expliquer tout cela à votre agent à la main. Le bundle de l'app fournit une compétence de maintien éveillé toute prête qui apprend à un agent tout le protocole, à la fois la ligne de commande keepresso et le serveur MCP, plus le moment de l'utiliser : avant une longue compilation, un rendu, un téléchargement ou une tâche de nuit. Sous Préférences, Automatisation, installez-la directement depuis le disque dans le dossier des compétences de votre agent. Pour les agents qui n'en ont pas, Keepresso copie plutôt la compétence complète sous forme d'instructions prêtes à coller : collez-les une fois dans l'agent et le protocole est appris, ou enregistrez-les dans un fichier de configuration global que votre agent lit toujours, comme CLAUDE.md ou AGENTS.md, pour que chaque future session sache déjà comment et quand garder le Mac éveillé. La compétence se trouve aussi dans le bundle à Keepresso.app/Contents/Resources/AgentSkill/keep-awake si vous préférez la brancher vous-même.

Les préférences Automatisation de Keepresso : l'interrupteur Autoriser les baux d'automatisation activé, Autoriser l'automatisation à modifier le calendrier de réveil désactivé, et des boutons pour copier les instructions de l'agent, copier la configuration MCP, et révéler le dossier des compétences
Préférences Automatisation : l'interrupteur des baux, l'autorisation pour le calendrier de réveil, et la configuration de l'agent en un clic.

Le serveur MCP

Pour les agents qui parlent le Model Context Protocol, le bundle fournit keepresso-mcp :

/Applications/Keepresso.app/Contents/Helpers/keepresso-mcp

Il expose des outils pour acquérir, renouveler, libérer et lister les baux, lire le statut de Keepresso, et lire le calendrier de réveil du système. MCP est un protocole ouvert, donc cela ne se limite pas aux agents de codage : n'importe quelle app compatible MCP peut détenir son propre bail et garder le Mac éveillé pendant qu'elle travaille. Préférences, Automatisation propose des extraits de configuration prêts à copier pour Claude Code, Gemini CLI, Grok et Codex. Pour Claude Code, cela se résume à une seule commande :

claude mcp add keepresso -- /Applications/Keepresso.app/Contents/Helpers/keepresso-mcp

Réveils planifiés pour l'automatisation, sur autorisation

L'automatisation peut aussi lire quand le système est prévu pour se réveiller la prochaine fois, et, si vous l'autorisez, modifier ce calendrier :

keepresso wake status                          # always allowed, for anyone
keepresso wake set --at "2026-07-24 07:30"     # one-shot wake
keepresso wake set --repeat MTWRF --time 07:30 # repeating wake
keepresso wake clear

La lecture est toujours autorisée. La modification du calendrier ne fonctionne que si Autoriser l'automatisation à modifier le calendrier de réveil est activé sous Préférences, Automatisation. C'est désactivé par défaut, car un réveil planifié est un changement à l'échelle du système appliqué par l'assistant administrateur. Le serveur MCP embarque les outils correspondants sous la même règle.

Réveiller le Mac pour les exécutions IA planifiées

Les baux et la CLI couvrent le travail déjà en cours. Mais certaines tâches d'agent sont planifiées pour plus tard : une routine Claude Desktop programmée pour s'exécuter à 3 h du matin, une automatisation Codex sur un rythme nocturne. Si le Mac s'est endormi d'ici là, l'exécution est tout simplement sautée.

Exécutions IA planifiées comble cet écart sans aucun script. Activez-la sous Préférences, Automatisation, Exécutions IA planifiées, puis activez chaque outil pour lequel vous voulez que le Mac se réveille. Keepresso lit les tâches récurrentes que cet outil a planifiées, réveille le Mac quelques minutes avant chacune d'elles, et le maintient éveillé pendant une courte fenêtre pour que l'exécution ait lieu même capot fermé.

Les préférences Exécutions IA planifiées de Keepresso listant les routines trouvées : deux tâches Claude Desktop et une tâche Codex, chacune avec sa prochaine heure d'exécution et son propre interrupteur, au-dessus de la prochaine heure de réveil et de la fenêtre de maintien éveillé
Les routines trouvées par Keepresso, chacune avec son propre interrupteur et sa prochaine heure d'exécution.

Rien n'est importé tant que vous n'activez pas un outil, et chaque routine garde son propre interrupteur, pour que vous puissiez vous réveiller pour le rapport nocturne et ignorer le reste. Si la liste apparaît vide, l'outil n'a pas encore de tâche récurrente locale.

  • Vous activez outil par outil. Claude Desktop et Codex démarrent chacun désactivés, pour que rien de ce que vous n'utilisez pas ne déclenche jamais de réveil. Il ne lit que le calendrier et le nom de la tâche, jamais son prompt.
  • Uniquement les calendriers locaux. Les routines cloud tournent sur les serveurs du fournisseur, que votre Mac soit éveillé ou non, elles sont donc ignorées. Ceci concerne les exécutions qui ont besoin que votre Mac soit actif.
  • Pour une exécution plus longue, associez-la à un bail : la fenêtre de réveil démarre l'exécution, et l'agent détient un bail pour garder le Mac éveillé jusqu'à ce que le travail soit vraiment terminé.
Le panneau Exécutions IA planifiées sans routine trouvée, indiquant d'en ajouter une dans Claude Desktop sous Routines, Nouvelle routine, Locale, ou dans Codex, et précisant que les routines cloud n'ont besoin d'aucun réveil
Rien à réveiller pour l'instant : le panneau indique où ajouter une routine locale.

Sous le capot, cela utilise le même mécanisme de réveil planifié que les commandes keepresso wake de la CLI ci-dessus, cela nécessite donc l'assistant administrateur et c'est fiable sur secteur (sur batterie, le microprogramme peut ignorer le réveil).

Ce qu'il vous faut

  • Keepresso 1.17 ou plus récent pour les baux, le serveur MCP et les commandes de réveil de la CLI ; 1.18 ou plus récent pour les Exécutions IA planifiées. Étapes d'installation : prise en main.
  • Pour la CLI sur une installation DMG, liez la commande une fois.
  • Pour modifier le calendrier de réveil et pour les Exécutions IA planifiées, l'assistant administrateur et les interrupteurs d'autorisation ci-dessus.

Voir aussi

Obtenir Keepresso

Gratuit et open source, pour macOS 14 et versions ultérieures. Installez-le et gardez votre Mac éveillé, selon vos règles.

Plus dans Utiliser Keepresso

Garder son Mac éveillé pour une durée définie
Démarrez une session minutée de maintien éveillé pour que votre Mac reste actif le temps d'un téléchargement ou d'un rendu, puis se mette en veille de lui-même.
Garder son MacBook éveillé capot fermé
Empêchez votre MacBook de se mettre en veille quand vous fermez le capot, sur batterie, sans écran externe et sans câble d'alimentation, grâce à une appli gratuite et open source.
Éveillé seulement si besoin, déclencheurs intelligents
Définissez des conditions pour que Keepresso garde votre Mac éveillé seulement pendant qu'une app tourne, qu'un appel est en cours, que vous êtes sur secteur, et plus. Jamais actif quand il ne le devrait pas.
Empêcher le Mac de dormir durant Zoom, Teams et Meet
Gardez votre Mac éveillé pendant les appels vidéo automatiquement, pour qu'il ne se mette jamais en veille en pleine réunion, sur n'importe quelle app, y compris les appels dans un onglet de navigateur.