3 часа ночи. Вы спите. AI-агент — нет. Он всё ещё обрабатывает задачу в сессии, которую вы начали несколько часов назад. Вы закрыли крышку ноутбука, но он не должен уснуть, пока агент не закончит. Для этого и существует Adrafinil — новая утилита для macOS, которая не даёт Mac уснуть, пока работают AI-агенты, и только в это время. Она появляется в строке меню.
В отличие от caffeinate или Amphetamine, которые держат Mac включённым постоянно, Adrafinil вмешивается только когда активна сессия агента. Никто не работает — закрывайте крышку, Mac засыпает как обычно. Утилита поддерживает девять инструментов: Claude Code, Codex, Cursor, Gemini CLI, Aider, Hermes, OpenCode, Cline и Pi. Интеграция делается автоматически через один клик, который прописывает хуки в конфиги агентов.
Технически это нетривиально. Обычный IOPMAssertion не может удержать Mac от сна при закрытой крышке — это требует прав root. Поэтому Adrafinil использует pmset disablesleep, но только внутри специального Helper-процесса, который работает с минимальными привилегиями. Весь остальной код — планирование, учёт активных сессий, контроль температуры — выполняется в непривилегированном Daemon. Архитектура трёхуровневая: пользовательский интерфейс (меню бар), демон (источник истины) и helper (единственный, кто трогает сон). CLI-команды типа adrafinil acquire и release работают через сокет и укладываются в 50 миллисекунд.
Есть несколько механизмов безопасности. Если температура процессора или корпуса превышает порог при закрытой крышке, все блокировки принудительно снимаются — чтобы Mac в сумке не перегрелся. Если процесс-владелец assertion умер или бездействовал несколько минут, блокировка тоже снимается. Ещё можно включить автоматический перехват, если утилита видит запущенный бинарник агента — даже без установленных хуков.
Adrafinil требует macOS 26.4 или новее. Установка просит права администратора один раз, для регистрации Helper. Код открыт, лицензия MIT. Создатель — @kageroumado.