API-интерфейсы специальных возможностей, распознавание текста на устройстве, обезглавленный код Claude и Кодекс, чтение данных об использовании из локальных журналов и собственное приложение Swift размером 4,5 МБ. Я использую агентов искусственного интеллекта весь день, и медленная часть никогда не была моей моделью. Это была ручная работа: скопировать ошибку, переключиться на...
API-интерфейсы специальных возможностей, распознавание текста на устройстве, обезглавленный код Claude и Кодекс, чтение данных об использовании из локальных журналов и собственное приложение Swift размером 4,5 МБ.
Теги: Macos, Swift, AI, производительность
Я использую агентов искусственного интеллекта весь день, и медленная часть никогда не была моей моделью. Это была передача: скопируйте ошибку, переключитесь на агента, вставьте, объясните, какой проект и файл, повторите для следующего агента.
Поэтому я создал Beckon: нажмите ⌥⇧Пробел в любом приложении Mac, и из нижней части экрана поднимется полоса с уже прикрепленным объектом, на который вы смотрите. Выберите «Код Клода», «Кодекс», «Курсор» или другой агент, нажмите «Return», и ответ вернется на панель.
В этом посте рассказывается о том, как это работает: чтение содержимого других приложений, безопасная передача его агентам CLI, потоковая передача ответов без заголовка и считывание использования каждого агента без сервера.
1. Чтение того, что на экране
Не существует единого API для определения того, «на что смотрит пользователь». Beckon спрашивает каждый тип приложения, как оно понимает себя.
API Accessibility покрывает большую часть этого. Выделенный текст практически в любом приложении находится на расстоянии одного атрибута:
пусть приложение = AXUIElementCreateApplication (pid)
вар сфокусирован: CFTypeRef?
AXUIElementCopyAttributeValue (приложение, kAXFocusedUIElementAttribute как CFString, &focused)
// затем kAXSelecte