TGViewer
Pavel Zloi Pavel Zloi @evilfreelancer · 4.5K subscribers
Post #1837 2.77K
/screenshotting-gui скил создания скриншотов GUI-приложений

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

Ну я и попросил агента накидать пару скриптов, чтобы он делал это сам, и результат мне настолько понравился, что я решил упаковать эту историю в формате скила screenshotting-gui.

Чтобы получить картинку поднимается виртуальный экран через Xvfb, это X-сервер, который рисует в память. На этом экране из-под моей же учётки стартует нужное приложение, дальше агент водит по нему синтетическим вводом через XTEST (клики, клавиши, скролл, драг), снимает кадр через ImageMagick и им же его размечает, то есть рисует рамку со скруглением вокруг нужной кнопки, обрезает лишнее, ставит стрелку или склеивает два кадра в один.

Удобство в том, что всё это живёт в headless-режиме на отдельном дисплее :99. Приложение не всплывает поверх моих окон, не ворует фокус и не дёргает курсор, я спокойно работаю дальше, пока где-то в фоне агент тыкает по кнопкам Cursor, не сравнить с тем как работает Playwright MCP постоянно отбирающий у меня мышку.

На клодкод ставится как плагин из моего каталога rpa-skills парой команд:
/plugin marketplace add EvilFreelancer/rpa-skills
/plugin install screenshotting-gui@rpa-skills


Пользоваться можно и руками, весь цикл выглядит примерно вот так:
export XCTL_DISPLAY=:99
Xvfb :99 -screen 0 1920x1080x24 -ac & sleep 1

DISPLAY=:99 cursor & sleep 3
python3 scripts/xctl.py winlist

python3 scripts/xctl.py click 1490 1003
python3 scripts/xctl.py shot raw.png --crop 1270 560 650 520
python3 scripts/annotate.py box raw.png final.png 1300 600 1720 680

Но по-хорошему всё это агент делает сам, ему достаточно сказать "перечитай скил и пересними скриншот окна настроек с подсветкой поля модели".

Реп: https://github.com/EvilFreelancer/screenshotting-gui
Каталог скилов: https://github.com/EvilFreelancer/rpa-skills
  • 🔥 15
  • 👍 5
  • ❤ 4
  • 🤣 1
  • 🫡 1
  • 🆒 1
More from @evilfreelancer
  1. Sep 20, 2026Post #1913
  2. Sep 18, 2026Чем дальше по пути развития кодовых агентов мы идем тем чаще замечаю, что с коллегами обме…
  3. Sep 17, 2026Меня тут ошарашили тем, что мой небольшой скил на базе учебника логики Челпанова для агент…
  4. Sep 17, 2026Представляю вашему вниманию Hub Defence! Игра в жанре Tower Defence о том, как Валера Кова…
  5. Sep 15, 2026Важное объявление! Сегодня 16.09.2026 c 00:00 до 04:00 MSK по всему neuraldeep.ru будут пр…
  6. Sep 13, 2026Увидел в чате ссылку на статью Тернарная нейронка на C# на Хабре и залип. Там автор собрал…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →