Проблема, которую все знают, но мало кто решал

Ваш AI-агент умеет рефакторить монорепозитории, писать миграции и объяснять монады — но когда ему нужно, чтобы вы нажали одну кнопку, он печатает «please click Allow in the dialog» в терминал, на который вы не смотрите. Разработчик Франц Энценхофер решил эту проблему радикально просто: bigarrow даёт агенту палец.

bigarrow — MIT-лицензированный macOS CLI и скилл для Claude Code и Codex. Агент использует его, чтобы нарисовать большую стрелку и текстовую подпись поверх любого приложения — и человек точно знает, какую кнопку нажать. При этом инструмент никогда сам ничего не нажимает и не вводит.

ℹ Что такое bigarrow
bigarrow (big-arrow-on-the-screen) — утилита командной строки для macOS, написанная на Swift. Рисует стрелки, рамки и текст поверх всех окон. Клики проходят сквозь оверлей, фокус клавиатуры не теряется, а стрелка убирается сама через заданное время.

Как это работает

Стрелка рисуется в прозрачном окне поверх всех остальных. Клики проходят сквозь него к приложению под ним, фокус клавиатуры остаётся на месте. Цели задаются координатами экрана, заголовком окна, меткой UI-элемента через macOS Accessibility или ID снимка Peekaboo. Каждая стрелка самоуничтожается по таймеру (8 секунд для point), при завершении процесса-агента или по команде bigarrow stop.

Инструмент работает на каждом дисплее и в каждом Space, не требует никаких разрешений macOS для отрисовки. Это один небольшой Swift-бинарник: никакого демона, иконки в строке меню, аккаунта, телеметрии и — авторы проверяли дважды — никакого AI внутри.

Три главные команды для агента

# Указать на элемент по метке
bigarrow point --element "Allow" --app "System Settings" --text "Franz, click Allow"

# Указать по координатам
bigarrow point --at 760,500 --text "Franz, click HERE"

# Постоянная стрелка (до команды stop)
bigarrow start --window "Safari:Inbox" --text "This window" && bigarrow stop
💡 Автоматическая очистка
Агентам не нужно убирать стрелки вручную. Они исчезают сами: по таймеру, при завершении процесса-агента (CLAUDE_PID или BIGARROW_OWNER_PID) или когда пользователь отвечает через хук UserPromptSubmit.

Сценарии использования

Инструмент решает распространённое ограничение AI-агентов в macOS: неспособность взаимодействовать с диалогами, требующими явного действия пользователя. Хотя AI может выполнять сложные задачи вроде рефакторинга кода, он часто останавливается перед системными диалогами, запросами разрешений или шагами аутентификации.

Инструмент позволяет агентам делегировать пользователю чувствительные действия — ввод кода 2FA, прохождение CAPTCHA, подтверждение платежей — сохраняя безопасность и контроль человека, пока агент ждёт продолжения.


graph TD
    A["AI-агент выполняет задачу"] --> B{"Требуется действие человека?"}
    B -- Нет --> C["Агент продолжает работу"]
    B -- Да --> D["bigarrow рисует стрелку на экране"]
    D --> E["Человек видит стрелку и подпись"]
    E --> F["Человек нажимает нужную кнопку"]
    F --> G["Стрелка исчезает автоматически"]
    G --> C

Реальные примеры

СитуацияЧто делает агентЧто делает человек
Запрос разрешений macOSУказывает стрелкой на кнопку AllowНажимает кнопку
2FA / CAPTCHA / оплатаПоказывает нужное поле с подсказкойВводит код или подтверждает
Вставка кода/PINОтображает значение {{482913}} с кнопкой копированияКопирует и вставляет
Обучение пользователяПоследовательно указывает на элементы интерфейсаУчится, повторяя шаги
Помощь удалённоУказывает на нужный элемент при экранном шарингеНаходит кнопку без путаницы

Внешний вид и кастомизация

Авторы явно потратили «неразумно много времени» на то, как выглядят стрелки:

  • Формы (--shape): bend, straight, zigzag, spiral — зигзаг для срочного, спираль для «невозможно не заметить»
  • Стили (--style): arrow, ring, box — кольца и рамки не перекрывают цель
  • Размеры (--size): S, M, L
  • Цвета (--color): 10 именованных цветов + HEX (#RRGGBB)
  • Спецэффекты: --say зачитывает подпись вслух, --follow следует за окном, --until-click закрывается по клику на цель
📝 Пример: помочь маме распечатать PDF
bigarrow start --element PDF --role button --app TextEdit \
  --text "Мама, нажми PDF, потом Save as PDF" \
  --from bottom --color pink --border white-black

bigarrow start --element Cancel --role button --app TextEdit \
  --text "Не эту, мама" \
  --from bottom-right --color black --size S

Несколько стрелок на экране одновременно — подписи автоматически не перекрывают друг друга.

Установка и интеграция с агентами

# Установка через Homebrew
brew install franzenzenhofer/tap/bigarrow

# Установить скилл для Claude Code (~/.claude/skills) и Codex (~/.agents/skills)
bigarrow install-skill

Агенты-кодировщики часто останавливаются на шагах, которые может выполнить только человек: коды 2FA, диалоги разрешений macOS, подтверждения. Указать прямо на нужный элемент управления быстрее, чем длинное текстовое описание, а инструмент безопасен по дизайну: он только указывает, но никогда не кликает, не вводит текст и не захватывает экран.

Почему это важно для отрасли

Агенты теперь делают реальную работу на вашем Mac — и раньше или позже упираются в шаг, который может сделать только человек, или который человек хочет сделать сам.

Claude Code и OpenAI Codex — ведущие AI-агенты для написания кода. Оба агента теперь умеют управлять GUI: если раньше только Codex имел computer use, теперь Claude Code тоже получил эту возможность через CLI на macOS и интеграцию с Chrome. Но даже с computer use остаётся класс действий — оплата, подписи, OAuth-согласие — где агент не должен действовать сам.

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

Проект уже набрал более 200 звёзд на GitHub и активно обновляется: только за 9 октября 2026 года вышло несколько патч-релизов после волны обратной связи с Hacker News.