Об этом проекте
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.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.