Об этом проекте

FormPilot — это расширение для браузера для заполнения форм заявок о приёме на работу в один клик. Оно хранит многоразовый профиль (имя, контактные данные, образование, опыт работы, предпочтения по работе) и заполняет целые формы заявок одним нажатием. В README указано, что оно работает на таких платформах, как Moka, Workday, Greenhouse, BOSS, Beisen, Lagou, Zhaopin и Feishu, а также на меньших китайских сайтах рекрутинга. Описаны ключевые возможности: - Заполнение на основе профиля: сохранённый профиль заполняет форму в один клик, поддерживается несколько профилей с возможностью переключения. - Память ответов между сайтами: ответ, введённый один раз, можно повторно использовать, когда тот же вопрос появляется на другом сайте; сопоставление идёт по видимому варианту, а не по внутренним значениям. - Поля с несколькими значениями: такие поля, как телефон или email, могут содержать несколько кандидатов, со встроенным средством выбора одного из них и запоминанием предпочтений для каждого домена. - Сохранение и восстановление черновиков: снимки для каждого URL можно сохранять и восстанавливать в течение 30 дней. - Обработка виджетов: расширение нажимает на видимые пользовательские виджеты (jqradio, iCheck, Select2, wjx) и определяет заголовки групп даже без правильной привязки меток. - Чувствительные поля: номера удостоверений личности, капчи, пароли и банковские карты по умолчанию пропускаются, с возможностью включения для каждого сайта. - Подсветка источника заполнения: цветовые коды показывают, взято ли значение из профиля, является ли оно неопределённым совпадением, взято из памяти страницы, с другого сайта или из восстановленного черновика. Установка в основном осуществляется через Chrome Web Store, с возможностью сборки из исходного кода с использованием Node.js 20+ и Yarn, после чего нужно загрузить несобранную сборку из `.output/chrome-mv3`. Интерфейс поставляется на 18 языках, с двумя отдельными наборами локалей: один для UI внутри расширения и один для локализации манифеста Chrome. Тест связывает эти два набора вместе и проверяет ограничение Chrome на описание в 132 символа. Движок заполнения использует четырёхфазный каскад: адаптеры платформ с жёстко заданными правилами для известных сайтов, эвристическое сопоставление с профилем, память страницы для каждого URL и записи форм между URL, сопоставляемые по сигнатуре вопроса. Все данные хранятся в `chrome.storage.local`; в README указано, что нет облачных или сетевых вызовов, и расширение запрашивает только разрешения `storage` и `activeTab` без разрешений хоста. UI внутри страницы монтируется в shadow roots для изоляции стилей, а MutationObserver вместе с опросом URL обрабатывает навигацию в одностраничных приложениях. В README также описана архитектура (popup, content script, фоновый service worker, ключи хранилища), команды разработки (`yarn dev`, `yarn test`, `yarn build`, `yarn zip`, `yarn verify`), скрипт проверки выходных данных сборки и инструкции по добавлению адаптера платформы. Проект выпущен под лицензией MIT и указан как проект №008 из 365 Open Source Plan.