Для кого: design ops и инженеры, которые отгружают растровый UI из Figma, Sketch или браузера и хотят одинаковую приёмку PNG каждую ночь на рабочем Apple Silicon. Ключевые слова: OpenClaw, удалённый Mac, мониторинг папки, антиалиасинг краёв, альфа, кратности размеров, ImageMagick, webhook. Этот HowTo стыкуйте с руководством по установке OpenClaw на все платформы, материалом watch, повторы и архив логов PNG и чеклистом Figma Auto Layout и пиксельное выравнивание PNG, чтобы политика пикселей была сквозной. Сравнение прозрачности при экспорте — в Figma/Sketch: прозрачность PNG; пакетные проверки палитры и бюджетов — в пакетной QA PNG.
Содержание
Зачем краям и кратностям размеров нужен watchdog
Дефекты PNG редко видны в инструменте дизайна — они всплывают после растеризации, ресайза в CMS или загрузки в текстуру GPU. Однопиксельное полупрозрачное ореол там, где ожидается жёсткий вырез, раздувает бюджет сжатия, ломает блендинг в движках и не проходит жёсткие тесты иконок приложений. Экспорт 1439×810 вместо 1440×810 вынуждает последующий ресэмплинг и смазывает штрихи. Удалённый Mac с OpenClaw может трактовать каталог экспорта как inbox: каждый дроп получает детерминированные проверки без нагрузки на термалы ноутбука дизайнера.
Автоматизация закрепляет контракт команды в виде порогов и вывода CLI. Цепочки с повторами — PNG CLI и retry на M-серии; переименование после watch — watch folder PNG; иконки — валидация иконок.
Установка и Gateway: минимальные права — одним абзацем
По руководству по установке: зафиксируйте версию, Gateway на 127.0.0.1, токены в env с правами 600; Full Disk Access — только воркеру, читающему экспорт. На аренде — одна служебная учётка и дерево ~/png_jobs/….
Воспроизводимый HowTo: мониторинг папки → пороги → навык OpenClaw и CLI → повтор и отчёт → webhook или локальный лог
1) Прослушивание папки, которое переживает пакетный экспорт
Создайте на локальном NVMe (не в iCloud) дерево вроде ~/png_jobs/ui_watch/{inbox,work,out,quarantine,logs}. Направьте «Export» из Figma или Sketch в inbox. Подключите fswatch или launchd с WatchPaths так, чтобы задание ставилось только после тихого окна — например отсутствия новых записей .png 45 секунд — тогда серия из десятков кадров станет одним батчем. Игнорируйте *.tmp, .DS_Store и файлы, у которых размер меняется между двумя подряд вызовами stat. Держите mutex: перекрывающиеся триггеры схлопываются в один прогон воркера, как в оркестрации пайплайна watch folder.
2) Пороговые правила: размеры, прозрачная кромка, объём файла
Храните правила в YAML или JSON рядом с навыком, чтобы Git показывал смысл политики, а не только код:
- Кратности размеров: например
width % 8 == 0иheight % 8 == 0для UI, стыкуемого с видео; для Retina-пар проверяйте, что уname@2x.pngширина и высота ровно вдвое больше одноимённого@1x, если оба файла присутствуют. - Эвристика прозрачной кромки: для корзины «вырезки» отклоняйте файл, если на самом внешнем ряду или столбце есть пиксель с альфой строго между 0 и 255 (при «кровоточащем» пайплайне можно расширить кольцо до 2 px). Кампании с градиентами вынесите в отдельный префикс и ослабьте правило.
- Потолок по байтам: отсекайте случайный 16-битный экспорт или раздутые метаданные; цифры согласуйте с чеклистом экспорта Sketch/Figma в PNG.
3) Навык OpenClaw или shell-шаг, вызывающий CLI проверки изображения
Держите пробы простыми и быстрыми. Типичная цепочка:
magick identify -format '%w %h %[colorspace]' file.png— ширина, высота и разумность цветового пространства.- Короткий скрипт на Python с Pillow: загрузить альфу, обойти граничное кольцо, вывести JSON с
max_border_alphaиpartial_pixel_count. - По желанию:
pngcheck -vдо тяжёлой обработки, чтобы отсечь битую структуру файла.
Навык OpenClaw должен вызывать оболочку с явным PATH (неинтерактивный SSH часто не видит Homebrew). Код выхода 0 — только если прошли все правила; в stdout удобно печатать по одному JSON на файл для парсера отчёта.
4) Повтор при сбое и шаблон отчёта для вставки в тикет
Разделите сбои: транзиентные (диск занят, кратковременная блокировка) и политика (остаток от деления размеров, альфа на кромке). Транзиентные повторяйте до трёх раз с backoff 5 с → 20 с → 60 с. При нарушении политики переносите PNG в quarantine/ и дописывайте строку в reports/YYYY-MM-DD.md:
| файл | правило | ожидание | факт | заметки |
|------|---------|----------|------|---------|
| hero@2x.png | width % 8 | 0 | 4 | переэкспорт из целочисленного фрейма |
Дублируйте те же поля в manifest.jsonl для машин: path, rule_id, expected, actual, stderr_tail, trace_id. Стиль наблюдаемости совпадает с батчем watch, retry и логами. Цвет и ICC после правок краёв можно дополнительно сверить с контуром ICC и переименования.
5) Webhook или режим только JSONL
При отказах — POST компактного JSON в Slack/внутренний webhook с путём к отчёту или только дописывание logs/png_watchdog.jsonl и tail -f. Ротацию логов унифицируйте с другими заданиями OpenClaw.
FAQ
Это заменяет визуальный ревью?
Нет. Механические нарушения отсекаются раньше, а время дизайнеров уходит на композицию и бренд, а не на «почему не хватает одного пикселя».
У графики намеренно мягкие края — как не получать ложные срабатывания?
Ограничьте правила префиксом пути или манифестом рядом с inbox; строгую проверку кольца альфы включайте только для иконок и стикеров.
Как автоматически проверить пары @1x/@2x?
Разберите имена регулярным выражением, сопоставьте соседние файлы в одной папке, сравните размеры с соотношением 2×; допуск в один пиксель используйте только если экспортёр документирует субпиксель — иначе требуйте точного удвоения и правьте исходный фрейм.
Когда нужен постоянно включённый Apple Silicon для OpenClaw и watchdog экспорта, откройте на MacPng страницы без обязательного входа: сравните узлы и тарифы, оформите аренду и перенесите этот HowTo на свой хост — см. аренду и покупку, тарифы и помощь по SSH/VNC. Другие материалы — в разделе технические идеи.
Выделенный удалённый Mac под OpenClaw и PNG-watchdog
Ещё по теме: установка OpenClaw, пакетная QA PNG, watch, retry и логи, пиксели Figma.