Привет. Меня зовут Никита.
Наверняка многим знакома ситуация: кто‑то из друзей или родственников просит «почистить комп», «передалать PNG в JPG» или «раскидать свалку файлов в загрузках».
В какой‑то момент мне это надоело и я решил обернуть все свои рутинные скрипты в удобный графический интерфейс. Чтобы можно было просто скинуть человеку один.exe файл, и всё работало из коробки. Никаких установок питона, никаких консолей.
Так появился мое приложение SmartLauncher

Что умеет?
Изначально это был просто запускатор скриптов.
1. Менеджер скриптов (Zero-Install)
Это сердце программы. Вы можете добавлять свои скрипты, вешать на них красивые иконки и раскидывать по категориям. Пользователю не нужно устанавливать Python в систему. Я зашил Embedded Python прямо в сборку приложения.
Из коробки уже идут готовые скрипты:n bnb .0
Сортировка папки по типам файлов.
Пакетный ресайз картинок в папке.
Извлечение аудио из видео.
Создание GIF из набора фото или видео.
Управление питанием (таймер выключения/сна).
Логи работы скриптов перехватываются в реальном времени и выводятся во всплывающее окно внутри интерфейса.

2. Человеческий интерфейс для FFmpeg
FFmpeg - это крутой инструмент, но у него нет графического интерфейса и он управляется только из командной строки. Я сделал простую вкладку "Конвертер", который превращет ffmpeg в графический интерфейс.

3. Очистка системы
Я не люблю "клинеры" c закрытым кодом, которые непонятно что удаляют и откуда. Поэтому я сделал свою прозрачную очистку на базе PowerShell и системных команд.
Многогигабайтный кэш обновлений Windows Update.
Точки восстановления (кроме последней).
Системный и пользовательский Temp.
Кэш иконок, шрифтов, DNS и дампы памяти.
4. Установка базовый приложений
После переустановки Windows нужно качать 7-Zip, браузер, плеер, кодеки, Visual C++ Redistributable и так далее. Я собрал прямые ссылки на всё это добро в одну вкладку. Программа сама скачивает установщики и запускает их с правами админа, а также проверяет реестр, чтобы показать, что у вас уже установлено.

Техническая сторона
Интерфейс написан на Flutter. Работает быстро, выглядит красиво.
Также присутствует система обновлений прямо в приложение. Вам не нужно каждый раз качать новый файл с github, а можно просто проверить обновление и приложение всё сделает за вас.
Итог
Я писал эту утилиту для себя, чтобы экономить время, но в итоге она обросла функционалом, за который не стыдно.
Проект полностью открытый.
GitHub проекта
Скачать релиз
Буду рад звездочкам на GitHub, реквестам с новыми полезными скриптами и любой полезной критике!
Комментарии (39)

PeterH
04.04.2026 06:35Идея вроде неплохая, скачал, запустил и сразу заметил целый ряд недочетов:
1. Версия питона 3.12. Мы же под Windows, сейчас на дворе уже 3.14.
2. Переустановить Git. У меня стоит 2.52, а скачивает и предлагает установить 2.47.
3. Открыть папку скриптов, папку приложений. Почему-то открывает папку Documents.
4. Ваши скрипты питон без типизации :(
На этом эксперименты закончил. Если эта утилита чисто для Вас, ОК, никаких вопросов нет. Если же Вы хотите, чтобы она шла в мир и ей пользовались другие, надо делать работу над ошибками.
janvarev
04.04.2026 06:35сразу заметил целый ряд недочетов:
Если видите недочеты - идете, исправляете, и при желании поддерживаете свой форк. Это называется опенсорс, тут вам никто ничего не должен.
Мне лично вполне норм и Python 3.12, и Git 2.46, и нетипизированный питон - не понимаю, почему нужно позарез нужно использовать самые последние версии.

min8
04.04.2026 06:35Еще не пробовал, но есть такой момент, если у вас установлен софт более новый, а программа просит установить старой, вам не кажется это нелогичным и проьивоестественным?

janvarev
04.04.2026 06:35Мне кажется нормальным, если софт работает. Обычно все подобные вещи устанавливают свой локальный Питон, в который и засовывают все нужные согласованные пакеты, чтобы не мучатся с зависимостями. 3.14 может быть несовместимым с какими-то пакетами, легко - в Питоне такое сплошь и рядом, на Automatic (система генерации изображений нейросетями) вообще была фраза: "Работает на 3.10, issues с другими версиями не рассматриваются и будут отклонены".

zelenin
04.04.2026 06:35вы что-то перепутали. возможность давать фидбек не зависит от открытости или закрытости исходных кодов

janvarev
04.04.2026 06:35Ну, а я даю фидбек на фидбек - раз уж человек "высказал свое мнение".
Мое мнение - предложенные исправления а) даны в меру в хамском виде ("надо делать работу над ошибками.") б) не дают ценности продукту (что реально даст апдейт Git на 2.52?).
Посему автору предложений предлагается реализовать их самостоятельно.

Pavel1114
04.04.2026 06:35А, если нет желания/времени исправлять? Человек вроде без претензий высказал свои соображения(довольно полезные на мой взгляд).
И про опенсорс не соглашусь с вами. С момента, когда вы презентуете и приглашаете использовать ваш код, у вас появляется и какая то ответственность. Это, конечно, не про обязательство править баги. Но и говорит "никто вам ничего не должен" тоже неправильно.
janvarev
04.04.2026 06:35А на мой взгляд - не очень полезные, о чем я и сообщаю в комментарии.
Мое мнение - предложенные исправления а) даны в меру в хамском виде ("надо делать работу над ошибками.") - вы бы вот коллеге по работе так написали? б) не дают ценности продукту (что реально даст апдейт Git на 2.52?).
Посему человеку это и объясняется.
С момента, когда вы презентуете и приглашаете использовать ваш код, у вас появляется и какая то ответственность.
Ок, давайте немного про ответственность.
Формально она регулируется MIT License или что там - можете почитать, там явно сказано про отказ об ответственности.
-
Неявная - из-за того, что автор написал на Хабре, т.е. публично анонсировал свое решение. И тут у меня, как у части комьюнити и автора опенсорса и комментариев есть два варианта
Посчитать, что прав автор комментария, который дает его в форме "делай работу над ошибками", а также предлагает решения, которые в значительной степени неавторские (может, автору нравится нетипизированный питон?) и не приносящие значимой ценности (апдейт версий - тестирование совместимости на авторе). Возможный результат: автор не хочет продолжать работу из-за негативного фидбека, на Хабре остаются корпоративные блоги и статьи, переведенные ИИ.
Я поддерживаю автора в его DIY-инициативе и говорю, что раз у комментатора есть желание показать разницу между Python 3.12 и 3.14 в этом продукте - он может его реализовать самостоятельно, а не пытаться самоутвердиться своим комментарием (от критиков, вы не поверите, очень мало пользы в 99% случаев - а от тех, что есть польза, те не пишут в стиле комментатора выше). Надеюсь, автор это оценит и останется на Хабре чуть больше.
Так вот, мне больше нравится второй вариант. И это и называется - ответственность за публичное выражение мнения - я взвешиваю как автора, так и комментатора - который также несет ответственность за своё предложение. issues должны нести ценность - как в прикладном плане, так и в эмоциональном (ну, или хотя бы в одном). Могу заверить, как автор опенсорса - на желающих писать "я посмотрел, и мне не понравилось" я насмотрелся, и могу сказать, что долгосрочного толку от них никакого, как правило.

Pavel1114
04.04.2026 06:35Если видите недочеты - идете, исправляете, и при желании поддерживаете свой форк. Это называется опенсорс, тут вам никто ничего не должен.
это не хамский ответ? Для меня звучит как будто кто-то свысока поучает незнакомого человека куда ему идти и что делать.
от критиков, вы не поверите, очень мало пользы
не поверю

janvarev
04.04.2026 06:35Для меня звучит как будто кто-то свысока поучает незнакомого человека куда ему идти и что делать.
Для меня так звучит оригинальный коммент, и я объяснил, почему. И вообще - я напоминаю об ограниченной ответственности автора опенсорса и абсолютно такой же ответственности за высказывание мнения публично для комментатора - или по каким-то причинам на комментаторов это не распространяется?
не поверю
Хорошо, не верьте, имеете право. У меня есть Гитхаб с публичным опенсорс, есть еще несколько более ранних проектов, там не представленных. В опенсорсе я лет 10 уже - это если про взаимодействие с комьюнити, сам же делал и раньше.
И, заметьте - я вам детально расписываю, почему так, а не иначе, несколько абзацев получилось, а вы просто говорите "ну, я считаю по-другому".

Alexufo
04.04.2026 06:35Мы же под Windows, сейчас на дворе уже 3.14.
И чего вам не хватает в 3.12?

PeterH
04.04.2026 06:35В целом всего хватает (кроме производительности).
Если у меня легаси-система, то 3.12 вполне ОК, еще пару лет на ней можно спокойно работать. Но для новых продуктов предпочту 3.14, чтобы использовать улучшенную производительность и более длительный срок поддержки.
Кроме того, у меня есть набор собственных скриптов, которые в этом году перевел на 3.14, для которых удобный универсальный лончер возможно будет удобным.
Но делать и развивать собственный форк я не готов.
janvarev
04.04.2026 06:35Пожалуйста, тогда старайтесь давать фидбек в более адекватной манере в духе "Не мог бы автор рассмотреть возможность перевести лаунчер на 3.14 или дать возможность опционально задавать версию Python?"
Потому что так высказывать issue имхо нехорошо.

PeterH
04.04.2026 06:35В целом с Вашим мнением на счет формы комментария автору согласен.
А с Вашими замечанием, что мой комментарий носит хамский характер -- нет.
Автор просил фидбек по его работе, от меня (почти единственного) он его получил. Был ли он полезен автору или нет, мы не знаем, потому что от него комментариев нет.
А заниматься дискуссиями, кто кому должен или не должен в интернете, считаю бесперспективным.

Bratken
04.04.2026 06:35Вместо установщика можно прикрутить chocolatey/scoop или аналоги. Реально помогает, когда надо 60 приложений накатить. Или может winget'ом обойтись, хоть там и не всё будет

V1tol
04.04.2026 06:35Вот такая штука есть - https://github.com/Devolutions/UniGetUI. Красивая, с кнопочками и иконкой в трее - и сразу все вышеперечисленные источники содержит.

d3d12
04.04.2026 06:35Flutter, Python - что за набор анти-паттернов? Слабо написать на нативном языке?

0xdefec8ed
04.04.2026 06:35Это для ИИ задача посложнее уже.
Как же разочаровывает этот прекрасный новый мир, где README.md сгенерирован машиной и набит смайликами, а чтобы добавить фичу, "программист" пишет "calude, add the feature as described, make no mistakes", и потом нам заявляет "я написал". Ну да, промт написал.

Daiichi
04.04.2026 06:35Каждый компьютерный волшебник, рано или поздно, делает себе свой собственный гримуар :)
Кто-то делает программу с кнопками «Сделать всё хорошо», кто-то ограничивается текстовым файлом или файлом формата Markdown, из которого копипастит скрипты в консоль.

Triton5
04.04.2026 06:35А чтобы не зависеть от наличия Интернета , можно вместе с инсталлятором и дистрибутивы записать.... Здравствуй , Zver-CD :)

cleaner_it
Друг предлагал написать такое в 2003 году, только для установки драйверов) Идея хорошая, обязательно попробую