ИИ-агенты держат Mac активным через аренду автоматизации
Агенту, который выполняет долгую задачу ночью, нужно, чтобы Mac был активным во время работы и уснул, когда всё сделано. Обычное «не засыпать, включено» справляется с первой половиной и проваливает вторую: если инструмент падает или забывает выключить режим, Mac навсегда остаётся прикованным к бодрствованию. Аренда для автоматизации это исправляет. Скрипт или ИИ-агент берёт аренду с ограничением по времени, продлевает её, пока идёт работа, и освобождает в конце. Если инструмент умирает посреди задачи, аренда просто истекает, и Mac снова может уснуть. Ничего не остаётся удерживать машину активной по случайности.
Keepresso поставляет весь набор для этого: команды keepresso lease, MCP-сервер, который может вызвать любой агент с поддержкой MCP, и встроенный навык агента, который устанавливается в один клик.
Обнаружение следит, аренда говорит
У Keepresso уже есть триггер ИИ-агента, который распознаёт, когда агент-программист действительно работает. Известные агенты включают Claude, Cursor, Codex, Gemini, Grok, Antigravity, Hermes Agent, Kilo Code, OpenCode, DeepSeek Harness, LM Studio Bionic, pi, Kimi Code, Qwen Code, Muse Code, Devin CLI и другие. Инструменты без более глубокого подключения оцениваются по данным их процесса или хранилища переписок, и эта сторона вообще не требует настройки в агенте.
Подключите Claude Code, Cursor, Codex, Antigravity или Grok к условию «ИИ-агент», если хотите точное состояние сессии. Переписки отслеживаются отдельно, в том числе чаты внутри настольных приложений, которые делят один процесс-хост, так что неактивная переписка не наследует работу другой, а пропущенная остановка не держит Mac активным на всё время жизни приложения. Предлагаются только инструменты, которые действительно установлены на вашем Mac, и Keepresso со временем перепроверяет каждое подключение, восстанавливая хук, который пропал или устарел.
Но обнаружение покрывает только тех агентов, которых Keepresso умеет распознавать, а новые появляются каждую неделю. Аренда переворачивает направление: вместо того чтобы Keepresso угадывал, агент сам сообщает Keepresso, когда ему нужен активный Mac, для чего и на какой срок, а затем продолжает доказывать, что он ещё жив. Это может сделать любой инструмент, способный выполнить команду или обратиться к MCP-серверу, независимо от названия и как бы ни работал внутри. Эти два подхода хорошо дополняют друг друга: обнаружение покрывает повседневные сессии, о которых вы не задумывались, а аренда покрывает намеренные долгие задачи и всё, чего обнаружение не видит.
Почему аренда, а не keepresso start
keepresso start это удобный ручной переключатель, но автоматизации нужны другие гарантии:
- Ограниченность. У аренды есть TTL, который владелец должен продлевать, и максимальное время жизни (не более 7 дней), которое heartbeat никогда не сможет продлить сверх этого. Задача, вышедшая из-под контроля, не удержит Mac активным дольше своего потолка.
- Самовосстановление. Нет heartbeat, нет удержания. Аренда упавшего скрипта истекает сама.
- Аккуратное совместное использование. Несколько инструментов могут держать аренды одновременно. Keepresso объединяет их и даёт Mac уснуть после того, как завершится последняя, выполняя ваше действие по завершении сессии именно тогда, а не раньше.
- Наглядность. Каждая активная аренда отображается в меню со своим обратным отсчётом, названная по инструменту и задаче, которые её взяли.
Жизненный цикл аренды
Возьмите аренду, когда задача начинается. Вы выбираете id (UUID), называете инструмент и задачу и задаёте TTL в секундах:
ID=$(uuidgen)
keepresso lease acquire --id "$ID" --tool my-script --task "nightly render" --ttl 600
Отправляйте heartbeat до того, как истечёт половина TTL, в цикле, пока идёт работа. Heartbeat также может изменить TTL:
keepresso lease heartbeat --id "$ID" # renew with the same TTL
keepresso lease heartbeat --id "$ID" --ttl 300 # renew and shorten it
Освободите аренду, когда задача завершена, чтобы Mac не ждал остаток TTL:
keepresso lease release --id "$ID"
И выведите список активных, ваших и чужих:
keepresso lease list --json
Каждая команда принимает --json для машиночитаемого вывода, а коды выхода сделаны для скриптов: 0 всё в порядке, 2 приложение не запущено, 3 аренда не найдена или уже завершена, 4 аренда отключена в Настройках.
Аренда управляется переключателем в разделе Настройки, «Автоматизация», включена по умолчанию. Выключите её, и любой запрос на взятие аренды будет отклонён с кодом выхода 4, так что автоматизация никогда не сможет переопределить ваш выбор.
Смотрите и останавливайте их из меню
Активные аренды появляются в карточке статуса на панели меню, каждая со своим обратным отсчётом. Вы остаётесь у руля: Стоп завершает их все разом, и Mac снова волен уснуть.

Обучите вашего агента в один клик
Вам не нужно объяснять всё это агенту вручную. В пакет приложения входит готовый навык поддержания активности, который обучает агента всему протоколу, и командной строке keepresso, и MCP-серверу, а также тому, когда его использовать: перед долгой сборкой, рендерингом, загрузкой или ночным запуском. В разделе Настройки, «Автоматизация» установите его прямо с диска в папку навыков вашего агента. Для агентов без такой папки Keepresso вместо этого копирует полный навык как готовые к вставке инструкции: вставьте их в агента один раз, и протокол выучен, либо сохраните их в глобальный файл конфигурации, который агент всегда читает, например CLAUDE.md или AGENTS.md, чтобы каждая будущая сессия уже знала, как и когда удерживать Mac активным. Навык также лежит в пакете по пути Keepresso.app/Contents/Resources/AgentSkill/keep-awake, если вы предпочитаете подключить его сами.

MCP-сервер
Для агентов, которые говорят на Model Context Protocol, в пакет входит keepresso-mcp:
/Applications/Keepresso.app/Contents/Helpers/keepresso-mcp
Он предоставляет инструменты, чтобы взять, продлить, освободить и вывести список аренд, прочитать статус Keepresso и прочитать системное расписание пробуждения. MCP это открытый протокол, поэтому это не ограничено агентами-программистами: любое приложение с поддержкой MCP может держать собственную аренду и поддерживать Mac активным, пока идёт работа. В разделе Настройки, «Автоматизация» есть готовые к копированию фрагменты настройки для Claude Code, Gemini CLI, Grok и Codex. Для Claude Code всё сводится к одной команде:
claude mcp add keepresso -- /Applications/Keepresso.app/Contents/Helpers/keepresso-mcp
Расписания пробуждения для автоматизации, по желанию
Автоматизация также может прочитать, когда система в следующий раз запланирована к пробуждению, и, если вы разрешите, изменить это расписание:
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
Чтение разрешено всегда. Изменение расписания работает только пока в разделе Настройки, «Автоматизация» включена опция Разрешить автоматизации менять расписание пробуждения. По умолчанию она выключена, потому что запланированное пробуждение это общесистемное изменение, применяемое помощником администратора. MCP-сервер несёт соответствующие инструменты по тому же правилу.
Пробуждение Mac для запланированных запусков ИИ
Аренда и CLI покрывают работу, которая уже идёт. Но часть работы агентов запланирована на потом: рутина Claude Desktop, настроенная на запуск в 3 часа ночи, автоматизация Codex по ночному расписанию или задача tokenstat.ai, которой нужен этот Mac. Если к этому времени Mac успел уснуть, запуск просто пропускается.
Запланированные запуски ИИ закрывают этот пробел без какого-либо скриптования. Включите это в разделе Настройки, «Автоматизация», Запланированные запуски ИИ, а затем включите каждый инструмент, для которого хотите пробуждение. Keepresso считывает повторяющиеся задачи, запланированные этим инструментом, будит Mac за несколько минут до каждой из них и удерживает его активным короткое время, чтобы запуск состоялся даже при закрытой крышке.

Ничего не импортируется, пока вы не включите инструмент, а у каждой рутины свой переключатель, так что можно пробуждаться ради ночного отчёта и игнорировать остальное. Если список пуст, у инструмента пока нет локальной повторяющейся задачи.
- Вы включаете это по каждой платформе отдельно. Claude Desktop, Codex и tokenstat.ai по умолчанию выключены, так что ничего из того, чем вы не пользуетесь, никогда не будит Mac. Keepresso считывает только расписание и название задачи, но не её промпт.
- Только локальные расписания. Облачные рутины выполняются на серверах поставщика, даже если ваш Mac спит, поэтому они игнорируются. Это решение для запусков, которым нужен активным именно ваш Mac.
- Для более долгого запуска сочетайте это с арендой: окно пробуждения запускает задачу, а агент удерживает аренду, чтобы Mac оставался активным, пока работа действительно не завершится.

Под капотом это использует тот же механизм запланированного пробуждения, что и команды keepresso wake из CLI, описанные выше, поэтому требует помощника администратора и надёжно работает при питании от сети (на батарее прошивка может пропустить пробуждение).
Что вам понадобится
- Keepresso 1.17 или новее для аренды, MCP-сервера и команд пробуждения CLI; 1.18 или новее для Запланированных запусков ИИ Claude Desktop и Codex; 1.21 или новее для задач tokenstat.ai и расширенного обнаружения агентов. Шаги установки: начало работы.
- Для CLI при установке из DMG свяжите команду один раз.
- Для изменения расписания пробуждения и Запланированных запусков ИИ нужны помощник администратора и переключатели согласия выше.
Смотрите также
- Не давайте Mac засыпать из командной строки охватывает остальной CLI
keepresso. - Не давайте Mac засыпать во время сборок и компиляций показывает подходы на основе триггеров для задач, которые вы запускаете сами.
- Запускаете агентов на постоянно включённом Mac? MyAgens даёт ему команду агентов Claude Code, которыми вы управляете из Telegram.
Получите Keepresso
Бесплатно и с открытым исходным кодом, для macOS 14 и новее. Установите его и не давайте Mac засыпать на ваших условиях.
Ещё в Использование Keepresso
