Разработать плагин для браузера chrome

Нужно разработать плагин для браузера. Краткий алгоритм работы плагина: 1. модератор устанавливает плагин для браузера хром, нажимает на иконку в браузере, активируя его, авторизуясь через API. 2. плагин запрашивает с каталога по апи данные сайта и компании которые нужно настроить ->getData - ответ [company_id, url, ...] 3. в браузере открывается сайт компании. модератор находит страницу одну из страниц с контактами и выделяет часть страницы которую нужно отслеживать. затем выбирает тип блока из списка: общий, телефон, адрес, время работы, email. Нажимает кнопку "Добавить блок". Плагин запоминает выбор и выводит где-то список с добавленными блоками на текущем сайте. В списке у каждого пункта должна быть возможность сброса, что бы в случае ошибки можно было отменить выделение. Таким образом будет перемешаться по сайту и добавлять блоки с контактами. 4. Когда все блоки добавлены, модератор нажимает на кнопку "Настроено". и плагин отправляет API запрос на сервер. -> setData( company_id, [ [contact_url, startpattern, endpattern, block_title], //например ["http://qwerty/contacts.html", [^] " ", " ", "phone"] [contact_url2, startpattern2, endpattern2, block_title2], ... [contact_urlN, startpatternN, endpatternN, block_titleN] ]) <- ответ [ok|error] 5. - в случае если настроить сайт не возможно - модератор жмёт "Пропустить" - -> setStatus(company_id, message) 6. - переходит к (2)