Mono
Список ожидания

Уведомления, когда ИИ-агент закончил работу или ждёт разрешения

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

Чтобы узнавать, что агент для кода закончил работу или ждёт разрешения, включите его встроенные оповещения или добавьте хук, который срабатывает на эти события. Если вы будете вдали от компьютера, отправляйте оповещение на телефон. Проверьте это до ухода: агент, который ждёт разрешения, ничего не делает, пока вы не ответите.

В примерах этого руководства используется Claude Code. Как не дать компьютеру уснуть, рассказано в отдельном руководстве. Mono от Reunified отправляет такие оповещения для агентов, запущенных через него, но сам способ подходит для любой конфигурации.

1. Решите, о каких событиях агента нужно оповещать

Важны три события:

Событие Что вы делаете дальше
Ожидание разрешения Читаете запрос, затем разрешаете или запрещаете
Работа завершена Проверяете результат и просматриваете изменения
Остановка с ошибкой Читаете ошибку и решаете, стоит ли повторить попытку

Если вы настраиваете только одно оповещение, пусть это будет оповещение о запросе разрешения.

2. Включите оповещения в Claude Code

Claude Code отправляет уведомление, когда заканчивает работу или останавливается в ожидании разрешения, а вы, судя по всему, отошли. Уведомления на рабочем столе он по умолчанию показывает только в Ghostty, Kitty и iTerm2 (настройка терминала). В остальных терминалах задайте для preferredNotifChannel значение "terminal_bell" в ~/.claude/settings.json, чтобы звучал звуковой сигнал терминала. В tmux добавьте set -g allow-passthrough on в ~/.tmux.conf и перезагрузите конфигурацию.

Чтобы задать свой звук или команду, добавьте в тот же файл хуки. Событие Notification принимает фильтры (matcher), например permission_prompt (запрос разрешения ждёт уже около шести секунд) и idle_prompt (Claude закончил около минуты назад, и с тех пор вы ничего не вводили). На Mac такая настройка проигрывает для каждого случая свой звук:

json
{
  "hooks": {
    "Notification": [
      {
        "matcher": "permission_prompt",
        "hooks": [{ "type": "command", "command": "afplay /System/Library/Sounds/Glass.aiff" }]
      },
      {
        "matcher": "idle_prompt",
        "hooks": [{ "type": "command", "command": "afplay /System/Library/Sounds/Hero.aiff" }]
      }
    ]
  }
}

В руководстве по хукам также есть команды для уведомлений на рабочем столе в macOS, Linux и Windows. У других агентов всё устроено по-своему, поэтому смотрите их документацию.

3. Отправьте оповещение на телефон

Доставить оповещение на телефон можно тремя способами:

  • Собственное приложение агента. Когда в Claude Code активен Remote Control, выполните /config и включите «Push when Claude decides» (push-уведомление, когда Claude сочтёт нужным), «Push when actions required» (push-уведомление, когда нужны действия) или оба параметра. Для этого нужен подходящий тарифный план и приложение Claude, в котором выполнен вход в тот же аккаунт и разрешены уведомления.
  • Хук, который отправляет push-уведомление, например через curl в push-сервис, приложение которого установлено на вашем телефоне.
  • Приложение-компаньон, которое передаёт события сессии с компьютера.

При любом способе компьютер должен быть включён, не спать и оставаться в сети, а агент должен продолжать работать. Храните токен для хука в ~/.claude/settings.json, а не в .claude/settings.json проекта: этот файл может попасть в коммит репозитория.

4. Скройте текст оповещений на экране блокировки

Миниатюры уведомлений на заблокированном телефоне может прочитать любой, кто окажется рядом. Не включайте в сообщения хуков секреты, содержимое файлов и строки логов. Отправляйте только событие и название проекта: для вымышленного проекта «invoice-export» достаточно «invoice-export: нужно разрешение». На iPhone откройте «Настройки» > «Уведомления» и выберите для параметра «Показ миниатюр» значение «Без блокировки». Android тоже умеет скрывать конфиденциальное содержимое на экране блокировки, но название параметра зависит от модели телефона.

В Mono оповещение о завершении показывает последнее сообщение агента, сокращённое, если оно длинное. Оповещение о запросе разрешения показывает запрос в том виде, в каком его описывает агент (часто это сама команда).

5. Проверьте всё на безобидной задаче до ухода

На домашнем компьютере начните сессию «проверка invoice-export» и попросите агента запустить тесты и сообщить обо всех упавших тестах, ничего не меняя в файлах. Агент спрашивает разрешения перед запуском команд, поэтому запросит npm test. На компьютере переключитесь на другой экран или приложение, затем заблокируйте телефон и уйдите в другую комнату.

В Mono ожидайте следующее:

  1. Оповещение «Запрос разрешения от агента» с тестовой командой.
  2. Нажатие на оповещение открывает эту сессию, где вы выбираете «Разрешить». На следующий запрос придёт отдельное оповещение.
  3. «Агент завершил работу в сессии „проверка invoice-export“» с последним сообщением агента, например: «Один тест в dates.test.ts падает из-за часовых поясов. Файлы я не менял».

Затем запустите вторую задачу, держа сессию открытой на телефоне: пока вы на неё смотрите, оповещение не придёт. Перед уходом убедитесь, что сессия не открыта на экране ни одного устройства.

6. Разберитесь, почему оповещения не приходят

Симптом Что проверить
Не приходит ничего Системное разрешение на уведомления, «Фокусирование» или «Не беспокоить», собственные переключатели приложения
Приходят только на компьютер Включена ли отправка на другие устройства; выполнен ли на телефоне вход и разрешены ли уведомления
Приходят с опозданием или пачкой «Сводка по расписанию» на iPhone, оптимизация батареи на Android, уснувший компьютер
Не приходят, пока вы смотрите Так и задумано: оповещения пропускают сессию или терминал, которые у вас перед глазами
Нет оповещения о разрешении, а агент продолжил работу Режим автоматического принятия, например режим YOLO в Mono

В Mono откройте «Настройки» > «Уведомления» и проверьте «Все уведомления», «Code» (завершённые и остановленные сессии), «Запросы разрешений» и «Отправлять на другие устройства». По умолчанию все они включены. Оповещения приходят с компьютера, на котором работает агент, поэтому Mono должен оставаться там запущенным.

Прежде чем давать разрешение с телефона, прочитайте, что проверять в запросе разрешения. Остальная настройка описана в руководстве о работе с агентами программирования с телефона. Mono пока недоступен, но вы можете записаться в список ожидания.

Автор

Reunified делает приложения, которые снова собирают разрозненное воедино.

Читайте также

Все статьи

Скоро

Запишитесь в список ожидания

Оставьте адрес электронной почты, и мы напишем вам, когда Mono можно будет скачать.

Где вы будете пользоваться Mono?