Роботизация в KolibriOS
Posted: Thu Feb 25, 2021 12:53 am
Всем привет, и огромное спасибо всем кто разрабатывает KolibriOS!
Немного о себе: занимаюсь роботизацией с 2013 года, начинал с VK API на php, далее: Selenium+Chromedriver на c#, сейчас активно использую RPA-систему UiPath.
Единственный минус текущих RPA-систем - это прожорливость, дороговизна и большинство функционала только для крупного бизнеса.
Я уже давно думаю, над идей: RPA-система в KolibriOS очень перспективный и монетизируемый проект:
Роботизация для физ.лиц:
В основном это пиар брендов или товаров в социальных сетях(через API этот процесс ограничен или платный). Делал подобное на c#: Selenium+Chromedriver, но столкнулся с проблемой: чтобы Робот каждые 5 минут не напарывался на капчу(разгадывать дорого), надо его делать неторопливым, но тогда через 3-5 часов процесс разрастается до 4гб и зависает. Конечно можно перезапускать через какое-то время, но все равно 4гб на 1 робота - это очень много. Да и ставить на домашний ПК неудобно - забыл запустить/или свет отрубили и потерял клиентов. Если разворачивать на хосте в инете это дорого из-за потребляемых ресурсов и не окупается.
Для юр.лиц:
1. На текущий момент: роботизация дешевле автоматизации. Т.к. для автоматизации требуется: четкое ТЗ, полностью стандартизированный процесс, безошибочный алгоритм, профессиональная команда разработчиков и тп., а для роботизации: мощный комп и автокликер!
2. Основные задачи для роботизации в бизнесе:
2.1. Роботизация Сайтов (судя по графику работ NetSurf: http://www.netsurf-browser.org/documentation/progress.html разрабы приступили к html5 и javascript - а это основа современных сайтов, надеюсь в будущем появится полноценный браузер в KolibriOS)
2.2. API - обработка запросов/ответов: get/post, в json-формате
2.3. Программы: в основном досовские, виндовые
2.4. Работа с файлами: Excel, Word
Что нужно для RPA-системы в KolibriOS(на примере UiPath):
1. Менеджер роботов (запустить/остановить/собрать статистику/расписание запусков/перечень задач) - можно в веб реализовать и к сайту обращаться через API(get/post) из робота.
2. Программа роботизации(на примере Сlickermann): по координатам в окнах программ записывает действия пользователя
3. Редактор записанных действий(скриптов)
4. Дополнительное ПО(служба): опрашивает "Менеджер роботов" и запускает указанного робота, в указанное время c задачей(лайкнуть пост, написать коммент, репостнуть и тп.)
5. Интерпретатор - запуск скрипта, по сути это и есть Робот.
Покопался немного в дистрибутивах, поискал компоненты к будущей RPA-системе:
1. Для программы записи действий:
1.1. Mousemul - эмуляция мыши, почти все можно роботизировать через мышь
1.2. Pipet - получение цвета пикселя - полезная вещь при ожидании изменений(смена статуса с красного на зеленый) от программ
1.3. Видел еще прогу перехвата нажатий клавиш - во многих программ большинство действий продублированы комбинациями клавиш - это помогает в роботизации
2. Интерпретатор:
2.1. на 1 этапе: думаю можно компилить программу из с-- и других языков,
2.2. на 2: аналоги виндовых программ, с поддержкой файлов: Excel, Word(видел, что в WebView - docx распарсили)
2.3. на 3: эмуляторы к программам: tesseract-ocr, AutomationUI и другим,
2.4. на 4: набирать опыт по системам и создавать библиотеки готовых решений,
2.5. на N этапе: для привлечения бизнеса уже нужен Интерпретатор с понятным скриптингом,
2.6. на N+1: рисовалка схем(UiPath procсess), вида: {Exit} <--[No]-- {if a==b} --[Yes]--> {открывает браузер}
2.7. чем больше N, тем прозрачнее робот для бизнеса, и тем охотнее бизнес роботизирует свои процессы
3. Дополнительное ПО(служба):
3.1. Sysmon - получать инфу о ресурсах ПК - полезная вещь для "Менеджера роботов"
3.2. Scrshoot - слежение за роботом, в случае Exception
4. Менеджер роботов - сайт можно за день накатать, это не проблема.
... да, понимаю, идея очень сырая, поэтому продолжаю изучать KolibriOS и искать информацию...
Если кому не сложно, подскажите в каком направлении копать в KolibriOS:
1. Получение характеристик объекта под курсором(например кнопки): в какой программе она находится, ее локальные координаты и глобальные, наименование или как в windows: ClassName?
2. Исходя из характеристик кнопки - программное нажатие на нее например из с-- (может из другого языка)?
3. Как можно программно управлять мышью?
PS
1. Сильно не бейте, если уже что-то подобное разрабатывается в KolibriOS, предварительно я поискал на форуме, и дистрах, также спросил у разрабов в чате в ВК - похожего не нашел, кроме нескольких компонентов.
2. Роботизация супер перспективная тема: любую новую программу и даже стороннюю роботизацию можно роботизировать:)
3. Бизнес начал понимать, что на роботизации он экономит, т.к. робот совершает меньше ошибок, не хочет спать и в отпуск, работает в разы быстрее человека от чего бизнес зарабатывает в разы больше.
4. Понимаю, что эта разработка не на одно десятилетие...
Немного о себе: занимаюсь роботизацией с 2013 года, начинал с VK API на php, далее: Selenium+Chromedriver на c#, сейчас активно использую RPA-систему UiPath.
Единственный минус текущих RPA-систем - это прожорливость, дороговизна и большинство функционала только для крупного бизнеса.
Я уже давно думаю, над идей: RPA-система в KolibriOS очень перспективный и монетизируемый проект:
Роботизация для физ.лиц:
В основном это пиар брендов или товаров в социальных сетях(через API этот процесс ограничен или платный). Делал подобное на c#: Selenium+Chromedriver, но столкнулся с проблемой: чтобы Робот каждые 5 минут не напарывался на капчу(разгадывать дорого), надо его делать неторопливым, но тогда через 3-5 часов процесс разрастается до 4гб и зависает. Конечно можно перезапускать через какое-то время, но все равно 4гб на 1 робота - это очень много. Да и ставить на домашний ПК неудобно - забыл запустить/или свет отрубили и потерял клиентов. Если разворачивать на хосте в инете это дорого из-за потребляемых ресурсов и не окупается.
Для юр.лиц:
1. На текущий момент: роботизация дешевле автоматизации. Т.к. для автоматизации требуется: четкое ТЗ, полностью стандартизированный процесс, безошибочный алгоритм, профессиональная команда разработчиков и тп., а для роботизации: мощный комп и автокликер!
2. Основные задачи для роботизации в бизнесе:
2.1. Роботизация Сайтов (судя по графику работ NetSurf: http://www.netsurf-browser.org/documentation/progress.html разрабы приступили к html5 и javascript - а это основа современных сайтов, надеюсь в будущем появится полноценный браузер в KolibriOS)
2.2. API - обработка запросов/ответов: get/post, в json-формате
2.3. Программы: в основном досовские, виндовые
2.4. Работа с файлами: Excel, Word
Что нужно для RPA-системы в KolibriOS(на примере UiPath):
1. Менеджер роботов (запустить/остановить/собрать статистику/расписание запусков/перечень задач) - можно в веб реализовать и к сайту обращаться через API(get/post) из робота.
2. Программа роботизации(на примере Сlickermann): по координатам в окнах программ записывает действия пользователя
3. Редактор записанных действий(скриптов)
4. Дополнительное ПО(служба): опрашивает "Менеджер роботов" и запускает указанного робота, в указанное время c задачей(лайкнуть пост, написать коммент, репостнуть и тп.)
5. Интерпретатор - запуск скрипта, по сути это и есть Робот.
Покопался немного в дистрибутивах, поискал компоненты к будущей RPA-системе:
1. Для программы записи действий:
1.1. Mousemul - эмуляция мыши, почти все можно роботизировать через мышь
1.2. Pipet - получение цвета пикселя - полезная вещь при ожидании изменений(смена статуса с красного на зеленый) от программ
1.3. Видел еще прогу перехвата нажатий клавиш - во многих программ большинство действий продублированы комбинациями клавиш - это помогает в роботизации
2. Интерпретатор:
2.1. на 1 этапе: думаю можно компилить программу из с-- и других языков,
2.2. на 2: аналоги виндовых программ, с поддержкой файлов: Excel, Word(видел, что в WebView - docx распарсили)
2.3. на 3: эмуляторы к программам: tesseract-ocr, AutomationUI и другим,
2.4. на 4: набирать опыт по системам и создавать библиотеки готовых решений,
2.5. на N этапе: для привлечения бизнеса уже нужен Интерпретатор с понятным скриптингом,
2.6. на N+1: рисовалка схем(UiPath procсess), вида: {Exit} <--[No]-- {if a==b} --[Yes]--> {открывает браузер}
2.7. чем больше N, тем прозрачнее робот для бизнеса, и тем охотнее бизнес роботизирует свои процессы
3. Дополнительное ПО(служба):
3.1. Sysmon - получать инфу о ресурсах ПК - полезная вещь для "Менеджера роботов"
3.2. Scrshoot - слежение за роботом, в случае Exception
4. Менеджер роботов - сайт можно за день накатать, это не проблема.
... да, понимаю, идея очень сырая, поэтому продолжаю изучать KolibriOS и искать информацию...
Если кому не сложно, подскажите в каком направлении копать в KolibriOS:
1. Получение характеристик объекта под курсором(например кнопки): в какой программе она находится, ее локальные координаты и глобальные, наименование или как в windows: ClassName?
2. Исходя из характеристик кнопки - программное нажатие на нее например из с-- (может из другого языка)?
3. Как можно программно управлять мышью?
PS
1. Сильно не бейте, если уже что-то подобное разрабатывается в KolibriOS, предварительно я поискал на форуме, и дистрах, также спросил у разрабов в чате в ВК - похожего не нашел, кроме нескольких компонентов.
2. Роботизация супер перспективная тема: любую новую программу и даже стороннюю роботизацию можно роботизировать:)
3. Бизнес начал понимать, что на роботизации он экономит, т.к. робот совершает меньше ошибок, не хочет спать и в отпуск, работает в разы быстрее человека от чего бизнес зарабатывает в разы больше.
4. Понимаю, что эта разработка не на одно десятилетие...