Разработчик с помощью ИИ сделал приложение RoboDust, где робот-пылесос собирает файлы с рабочего стола Mac

Дизайнер Мухаммад Рауфан Юсуп выпустил RoboDust, бесплатную утилиту для macOS. Она запускает по рабочему столу Mac виртуального робота-пылесоса. Юсуп работает продуктовым дизайнером в токийской Cybozu. Его виртуальный робот составляет карту беспорядка, собирает файлы по одному и отвозит их на свою базу. До финального подтверждения на диске ничего не меняется.

Поводом стали более 300 объектов на рабочем столе самого разработчика, в основном скриншоты. Ещё одним толчком стало приложение другого энтузиаста, которое прячет рабочий стол под ковёр. Юсуп решил сделать версию, где вместо ковра работает робот.

Поведение копирует настоящий робот-пылесос. Робот появляется на столе вместе с док-станцией, сканирует пространство лидаром и убирает рядами. Перед тем как исчезнуть, файлы теряют подписи, а крупные заставляют робота замедляться и напрягаться. Скриншот при этом засасывается моментально.

Когда контейнер заполняется, робот задним ходом возвращается на базу и опустошает его, а наполнение мешка видно на экране. Если поднять робота во время уборки, он будет возмущаться, пока его не поставят обратно. В браузерной демоверсии в робота можно бросать файлы или перегораживать ему путь курсором.

После уборки пользователь выбирает, что сделать с собранными файлами:

  • разложить их аккуратными колонками по типам без удаления

  • отправить в Корзину macOS

  • удалить безвозвратно

Для сортировки и перемещения в Корзину есть отмена, а для удаления предусмотрен обратный отсчёт. Перед удалением приложение запрашивает финальное подтверждение, и любые файлы можно исключить. Опытные пользователи могут отключить этот вопрос, но тогда удаление идёт с 10-секундным отсчётом и крупной кнопкой "Стоп", так как действие необратимо.

При перемещении в Корзину и удалении RoboDust не трогает следующие объекты:

  • файлы, изменённые за последние 10 минут

  • заблокированные файлы

  • папки с каталогом .git внутри

  • приложения

Диски утилита не затрагивает вовсе. Каждый файл проверяется повторно прямо перед операцией, и если он изменился во время уборки, то просто вылетает обратно на своё место. При синхронизации рабочего стола с iCloud приложение предупреждает, что удалённое исчезнет и с других девайсов. Файлы, не загруженные из облака, отправляются в Корзину без скачивания.

Тем, кто хочет просто посмотреть на робота без риска, доступен режим с выдуманным беспорядком, за которым не стоит ни одного реального файла.

Технически RoboDust обходит ограничения системы. macOS не позволяет сторонним приложениям двигать иконки Finder, так что утилита запрашивает у Finder их координаты, берёт обои и рисует копию всего рабочего стола в окне поверх настоящих иконок, но под остальными окнами. Копия отрисовывается через Metal, иконки представлены небольшими мешами, которые изгибаются в сторону всасывающего отверстия. Робот и база освещаются шейдером, поэтому свет не смещается при поворотах, а все звуки синтезируются без аудиофайлов.

По завершении уборки приложение вносит реальные изменения, ждёт, пока Finder их отобразит, и плавно убирает копию. За все операции с диском отвечает единственный файл FileOps.swift, и разработчик сам советует изучить его код перед использованием.

Дизайн RoboDust создал Юсуп, а в реализации ему активно помогал Claude. Обновления приходят через Sparkle, исходный код открыт под лицензией MIT.

Билд подписан разработчиком и прошёл нотаризацию Apple. Утилита занимает 4 МБ и работает на Mac с Apple silicon и Intel под управлением macOS 14 и новее.

Больше статей на Shazoo
Тэги:

Об авторе

Эксперт по Fallout
Главный редактор
Более 16 лет в индустрии освещения видеоигр, кино, сериалов, науки и техники. Особенно разбираюсь в серии Fallout, ценитель The Elder Scrolls. Поклонник Arcanum и Fallout Tactics. Больше всего играю в Civilization, Old World и градостроители. Изучаю ИИ и загадки космоса.