agent-desktop: как ИИ видит элементы рабочего стола без поиска кнопок по пикселям
В обычной автоматизации агент смотрит на снимок экрана и пытается угадать координату кнопки. После изменения масштаба, темы или расположения окна такой шаг ломается. Открытый инструмент agent-desktop от Vercel Labs предлагает другой вход: читает системное дерево доступности, возвращает элементы с идентификаторами и позволяет действовать по ним. Это не самостоятельная нейросеть и не готовый секретарь; модель и сценарий проверки остаются снаружи.
Что получает агент
Команда snapshot выдаёт структурированное описание текущего окна. Дальше агент может найти поле, нажать элемент по ссылке на него, ввести текст и сделать новый снимок состояния. Репозиторий описывает версии для macOS, Windows и Linux, а также команды для окон, буфера обмена и уведомлений. Ключевое отличие от пиксельного подхода — не нужно заново искать координату после каждого небольшого сдвига. Но дерево доступности зависит от самого приложения: элементы без доступной семантики могут остаться невидимыми или получить неясное имя.
Инструмент не автоматизирует веб-страницы как отдельный браузерный движок; для этого авторы рекомендуют другой маршрут. Не стоит также ожидать, что headless-сеанс получит право управлять пользовательским экраном: документация разделяет наблюдение и действия с активацией переднего плана. Перед пилотом проверьте нужную платформу и разрешения, не переносите выводы с macOS на Windows без собственного теста.
Один безопасный пилот
Создайте тестовый документ и попросите агента открыть его, найти поле заголовка и записать заранее выбранную фразу. Сохраните исходный файл. После ввода проверьте значение повторным чтением и откройте файл обычным способом. Затем повторите опыт в другом масштабе и после смены порядка окон. Если на одном шаге ссылка указывает не на тот элемент, сценарий должен остановиться, а не продолжать печатать наугад. Протокол подтверждения результата описан в гайде по действиям агента.
Главный риск здесь не «магический контроль компьютера», а доступ к данным. Снимок дерева, буфер обмена, скриншот и трасса запуска могут содержать письма, названия внутренних файлов и секреты. Не отправляйте такие логи в публичный трекер ошибок; ограничьте каталог отладки и срок хранения. Агенту выдавайте отдельную учётную запись или тестовую среду, а необратимые операции оставляйте на подтверждение. Для более общего подхода к правам и инструментам см. гайд по проверке прав агента.
Кому не подойдёт
Если программа рисует весь интерфейс как одну картинку и не отдаёт доступные элементы, преимущество дерева пропадает. Если нужен только сбор текста с одной веб-страницы, полноценное управление рабочим столом избыточно. А если операция высокорисковая — платёж, удаление, отправка письма клиенту — наличие стабильного идентификатора кнопки не отменяет человеческого решения.
Нужен ли отдельный LLM-ключ? Сам CLI не содержит модель; агент выбирается отдельно. Можно ли работать только по скриншоту? Есть команда снимка, но основная идея инструмента — структурированное дерево. Это гарантирует правильный клик? Нет, результат надо перепроверять после действия. Итог: agent-desktop интересен как слой наблюдения и управления, а не как доказательство надёжности всей автоматизации.