Чек-лист
кодовое словоИнсомния

Insomnia: как оставить AI-агентов работать при закрытом MacBook

Ставишь Insomnia на MacBook, настраиваешь закрытую крышку, паузу лишних приложений и переход на раздачу с телефона. Потом запускаешь агента на длинную задачу, закрываешь ноутбук и уходишь - работа идёт без тебя.

Содержание8 глав
  1. 01Что это и где лежит
  2. 02Установка - способ А: через твоего агента
  3. 03Установка - способ Б: руками из релиза v0.1.0
  4. 04Закрытая крышка и пауза лишних приложений
  5. 05Раздача с телефона, когда пропадает Wi-Fi
  6. 06Запусти длинную задачу агента и уходи
  7. 07Удаление
  8. 08Проверь себя

Шаг 0

Что это и где лежит

Insomnia - бесплатная программа с открытым кодом от Krish Garg, «caffeinate для эпохи агентов». Живёт в строке меню иконкой с глазом: без окна и без иконки в Доке. Ставишь таймер - и MacBook не засыпает даже с закрытой крышкой, пока таймер не кончится. Claude Code, Codex, Docker и браузер продолжают работать.

Insomnia на GitHub

Сайт Insomnia

Проверь до установки
Нужен MacBook на Apple Silicon (M1 и новее) и macOS 26 или новее. Для сборки из исходников - Xcode со Swift 6.2 или новее. Программа экспериментальная: держи ноутбук на ровной поверхности с вентиляцией, а не в закрытой сумке.
  • Открыть меню Apple > Об этом Mac и убедиться, что чип Apple M-серии и macOS 26 или новее
  • Открыть репозиторий Insomnia на GitHub и пролистать README

Шаг 1

Установка - способ А: через твоего агента

Самый быстрый путь. Открываешь Claude Code или Codex в терминале и вставляешь промт ниже как есть. Агент сам скачает последний стабильный релиз и поставит его по инструкции из репозитория. Где нужен пароль администратора - агент даст команду, ты запустишь её сам в Терминале.

Install the latest stable Insomnia release by following https://github.com/krishhgg/Insomnia/blob/main/skills/install-insomnia/SKILL.md. If a step needs my password, give me the command to run in Terminal.

Промт для Claude Code или Codex

Шаг 1

Установка - способ Б: руками из релиза v0.1.0

Релиз v0.1.0 на GitHub

01
Скачай два файла
Со страницы релиза v0.1.0 скачай Insomnia-0.1.0-macos-arm64.zip и SHA256SUMS в одну папку. Открой Терминал и перейди в эту папку командой cd
02
Проверь, распакуй, установи
Вставь команды из блока ниже по порядку. Установщик попросит пароль администратора - это он добавляет правило для управления сном
03
Разреши первый запуск
Релиз не нотаризован у Apple, поэтому macOS заблокирует первый запуск. Зайди в Системные настройки > Конфиденциальность и безопасность и нажми «Всё равно открыть» напротив Insomnia
shasum -a 256 -c SHA256SUMS
unzip -q Insomnia-0.1.0-macos-arm64.zip
cd Insomnia-0.1.0-macos-arm64
./scripts/install.sh --app ./Insomnia.app
open "$HOME/Applications/Insomnia.app"

Терминал, в папке со скачанными файлами

Для более новых релизов и ночных сборок команды другие - они в docs/install.md.

Что ставит установщик
Приложение в ~/Applications/Insomnia.app, агент восстановления (раз в минуту откатывает изменения, если приложение упало) и правило sudo в /etc/sudoers.d/insomnia. Правило даёт любой программе от твоего пользователя без пароля включать и выключать запрет сна и режим энергосбережения через pmset. Прочитай это до установки.
/usr/bin/pmset -a disablesleep 1
/usr/bin/pmset -a disablesleep 0
/usr/bin/pmset -b lowpowermode 1
/usr/bin/pmset -b lowpowermode 0

Ровно эти четыре команды разрешает правило sudo

  • Установить Insomnia через промт агенту или командами из релиза
  • Разрешить первый запуск в Конфиденциальности и безопасности
  • Найти иконку с глазом в строке меню

Шаг 2

Закрытая крышка и пауза лишних приложений

Во время сессии закрытая крышка не усыпляет MacBook. Insomnia гасит экран и подсветку клавиатуры, выключает звук, включает режим энергосбережения и замораживает лишнее - по умолчанию Slack, WhatsApp и Discord. Открыл крышку - всё возвращается как было. Подробно - в docs/lid-close.md.

01
Открой настройки
Правый клик по глазу в строке меню > Settings
02
Список заморозки
В разделе Lid-close actions проверь список приложений, которые встанут на паузу, и добавь свои тяжёлые программы.
03
Docker - по желанию
Если Docker Desktop висит без запущенных контейнеров, включи правило Docker - он тоже встанет на паузу. По умолчанию выключено
04
Батарея и нагрев
По умолчанию энергосбережение включается ниже 40% заряда, а сессия завершается ниже 10%. При сильном нагреве - энергосбережение, при критическом - конец сессии. Пороги меняются в Settings
Микрофон
На Apple Silicon закрытая крышка отключает встроенный микрофон на уровне железа. Нужен звонок с закрытым ноутбуком - подключай AirPods или внешний микрофон.
  • Открыть Settings правым кликом по глазу
  • Проверить список заморозки и добавить свои приложения
  • Решить, нужен ли «Freeze every other app» и правило Docker
  • Проверить пороги батареи и нагрева

Шаг 3

Раздача с телефона, когда пропадает Wi-Fi

Вышел из дома, Wi-Fi пропал - Insomnia сама подключает MacBook к раздаче с iPhone, и агент не теряет связь. Настраивается один раз. Подробно - в docs/extras.md.

01
Разреши автоподключение к точкам доступа
Системные настройки > Wi-Fi > «Запрашивать подключение к точкам доступа» (Ask to join hotspots) - поставь «Автоматически»
02
Впиши раздачу в Insomnia
В Settings Insomnia введи имя и пароль точки доступа iPhone. Пароль хранится в связке ключей. После переустановки его нужно ввести заново
03
Дай доступ к геолокации
macOS показывает имена Wi-Fi-сетей только приложениям с доступом к службам геолокации. Insomnia просит его ради имён сетей, само местоположение не читает
  • Включить «Автоматически» для точек доступа в настройках Wi-Fi
  • Ввести имя и пароль раздачи iPhone в Settings Insomnia
  • Разрешить Insomnia службы геолокации

Шаг 4

Запусти длинную задачу агента и уходи

01
Агент - в tmux
Запусти Claude Code или Codex внутри tmux: так сессия живёт отдельно от окна терминала, и Insomnia может её подтолкнуть после обрыва сети
02
Отметь панель для подталкивания
Если сети нет 90 секунд, Insomnia впишет continue в отмеченные панели tmux. Отметь панель командой ниже и добавь её в Settings. Enter она нажимает, только если ты это включишь
03
Браузер без притормаживания
Chrome, Arc, Comet и Chromium тормозят скрытые окна при закрытой крышке. Если агент работает через браузер - в меню по правому клику на глаз выбери «Relaunch [браузер] unthrottled».
04
Поставь таймер
Клик по глазу - введи дни, часы и минуты - Enter. Добавить время - клик по глазу или по таймеру. Закончить раньше - зажми кнопку завершения рядом с таймером
05
Дай агенту задачу и закрой крышку
Отправь агенту длинную задачу, закрой MacBook и уходи. Таймер идёт и при закрытой крышке. Открытая крышка сессию не завершает
tmux set-option -p -t <session:window.pane> @insomnia-nudge on

Отметить панель tmux для подталкивания

Первый раз - под присмотром
Перед первой настоящей сессией запусти короткую на пару минут, закрой крышку при себе, потом открой и посмотри лог: ~/Library/Logs/Insomnia/insomnia.log. Если в меню висит предупреждение о восстановлении - разберись с ним, прежде чем оставлять ноутбук.

Если передумал

Удаление

./scripts/uninstall.sh
./scripts/uninstall.sh --purge

Из папки установки: первая команда убирает приложение, агент и правило sudo, вторая - ещё и настройки с логами


Финиш

Проверь себя

  • Insomnia установлена, глаз в строке меню
  • Список заморозки и пороги батареи настроены
  • Раздача iPhone вписана в Settings, автоподключение к точкам доступа включено
  • Агент запущен в tmux, панель отмечена для подталкивания
  • Пробная короткая сессия с закрытой крышкой прошла, лог прочитан
  • Длинная задача отдана агенту, таймер стоит, крышка закрыта