Мой блог
Интеграция новых ИИ-агентов в Lumio: обзор обновления 1.3
Утилита Lumio для MacBook пополнилась поддержкой новых ИИ-агентов в версии 1.3. Теперь приложение умеет работать с OpenCode, Kilo Code и Pi, что потребовало реализации нестандартных способов подключения и тщательной проверки на реальных сценариях.
Интеграция новых инструментов охватывает различные механизмы взаимодействия, включая специфические форматы хуков, плагины и автоматическое управление питанием компьютера.
Особенности интеграции различных ИИ-агентов
Изначально приложение взаимодействовало с такими инструментами, как Claude Code, Codex, Cursor, GitHub Copilot и Antigravity. С выходом версии 1.3 разработчики добавили OpenCode, Kilo Code и Pi, столкнувшись с необходимостью адаптации под индивидуальные особенности каждого сервиса. Все поступающие события внутри программы приводятся к единому формату хуков Claude Code, что позволяет сохранять унифицированный интерфейс карточек, пиксельного офиса и сводок активности.
Способы получения данных и архитектура плагинов
Каждый агент передает информацию о своей работе по-своему. Для OpenCode и Kilo применяются JavaScript-плагины, размещаемые в соответствующих конфигурационных директориях, а для Pi задействовано специальное расширение. Внутренний переводчик для Pi формирует записи в системный журнал, используя защищенную конструкцию try-catch для предотвращения возможных сбоев в работе сторонних процессов.
Особое внимание уделяется обработке разрешений. В то время как Claude Code и Cursor блокируют выполнение до ответа пользователя, OpenCode и Kilo действуют иначе. Они генерируют событие запроса разрешения, но не приостанавливают собственную работу, что приводит к параллельному отображению карточки в интерфейсе утилиты и запроса в терминале. Кроме того, Kilo требует наличия специального флага интерактивности при отправке ответа, иначе подтверждение отклоняется.

Тестирование на реальных данных и проверка версий
Первичная разработка плагинов сопровождалась созданием тестовых сценариев на имитациях. Однако полноценная проверка потребовала запуска реальных агентов из npm во временном окружении с тестовым сервером. Такой подход позволил выявить расхождения в поведении версий, например, изменения в логике завершения хода у различных модификаций Pi.
Перед публичным релизом код проходит дополнительную проверку независимым агентом на предмет поиска потенциальных трудностей, с которыми может столкнуться владелец компьютера, включая особенности расположения утилит в системе при использовании различных менеджментов пакетов вроде nvm, volta или pnpm.
Инструменты анализа и вкладка «Итоги»
Пятая вкладка интерфейса содержит детальную статистику активности, разделенную на двенадцать двухчасовых интервалов для текущего дня и недели. Названия задач формируются на основе содержательных фраз из ответов самих моделей, а не исходных формулировок запросов. Доступны динамические плитки сравнения показателей с предыдущим днем, отслеживание измененных файлов и учет непрерывной серии дней использования.
Для пользователей заметок в Obsidian предусмотрена опция сохранения уменьшенных копий изображений, сгенерированных или открытых в процессе выполнения задач. Все данные обрабатываются локально без передачи на внешние серверы.
Управление питанием и сном MacBook
Для предотвращения преждевременного перехода ноутбука в спящий режим во время выполнения длительных задач утилита использует системную блокировку PreventUserIdleSystemSleep. При работе от электросети блокировка поддерживается в течение всего периода активности агента и некоторое время после его завершения. В автономном режиме действуют более строгие правила: режим сна не блокируется при низком уровне заряда батареи, отсутствии действий пользователя или включенном энергосбережении.
Длительные операции, такие как компиляция или сборка тестов, учитываются как непрерывная активность в течение заданного временного интервала, даже если в этот момент отсутствуют промежуточные системные события.
Дальнейшее развитие проекта
В следующем обновлении под номером 1.4 планируется расширить список поддерживаемых инструментов за счет интеграции Qwen Code и Crush. Программа распространяется бесплатно и устанавливается с помощью стандартной команды через Терминал.
