Принцип «Raw Primitives» вместо готовых инструментов
Традиционные AI-агенты часто ограничены набором заранее написанных «инструментов» (tools) для конкретных приложений, что делает их хрупкими и сложными в поддержке. macOS Harness предлагает радикально иной подход: он предоставляет LLM-агенту прямой доступ к базовым примитивам операционной системы. Агент не получает готовых команд для Spotify или Slack; вместо этого он видит экран, взаимодействует с процессами через mac.* API и пишет недостающую логику на обычном Python в реальном времени.
Это решение работает как единый Python-процесс, подключенный к macOS, реальному браузеру и файловой системе. Агент сам определяет, какие действия необходимы, используя шесть ключевых примитивов:
Техническая архитектура и API
Инструмент использует комбинацию низкоуровневых вызовов macOS для обхода ограничений стандартных UI-автоматизаторов. Ниже приведена таблица основных функций, доступных агенту:
| Функция | Описание | Техническая основа |
|---|---|---|
mac.see() |
Получение скриншота окна приложения | CGWindow (CoreGraphics) |
mac.key() |
Отправка комбинаций клавиш конкретному приложению | CGEvent (CoreGraphics) |
mac.click() |
Клик по координатам в окне приложения | CGEvent (CoreGraphics) |
mac.ax.at() |
Доступ к элементам интерфейса через Accessibility API | AX (Accessibility) |
mac.script() |
Выполнение AppleScript | Apple Events |
browser.* |
Взаимодействие с реальным браузером | CDP (Chrome DevTools Protocol) |
Безопасность и приватность
Разработчики подчеркивают, что Harness не перемещает физический курсор мыши и не выводит целевые приложения на передний план, если это не требуется для задачи. Для проверки настроек предусмотрена команда macos-harness doctor, которая проверяет необходимые права доступа macOS.
По умолчанию включена анонимная телеметрия, которая фиксирует только технические метрики: категорию CLI-команды, статус выполнения, длительность, версию пакета, архитектуру ОС и тип агента. В телеметрию не попадают промпты, имена приложений, скриншоты, текст UI, скрипты, пути к файлам или заголовки окон.
Установка и интеграция
Инструмент лицензирован под MIT и требует Python 3.12. Установка осуществляется через менеджер пакетов uv:
- Установка:
uv pip install macos-harness(или через GitHub репозиторий). - Регистрация навыка:
macos-harness skill. - Проверка:
macos-harness doctor.
Авторы рекомендуют интегрировать Harness в Codex или Claude Code, позволяя модели самостоятельно изучать документацию, запрашивать разрешения и верифицировать подключение, захватив уже запущенное приложение без вывода его на передний план.
Источник: Github ↗
