hh-ru-apply: автоматизация отклика на hh.ru
hh-ru-apply
Скрипты на Node.js и Playwright ищут вакансии на hh.ru, оценивают их через LLM, пишут сопроводительные и открывают отклик в браузере
Высокий риск
Высокий уровень ставим, когда инструмент пишет во внешние системы, работает с деньгами, рабочими базами или секретами либо выполняет произвольные команды. CLI поставит его только после вашего согласия.
Почему такой уровень
- Сценарий hh-apply-chat может автоматически отправить отклик и сообщение работодателю без флагов --dry-run или --no-submit
- Массовая автоматизация откликов, по прямому предупреждению README, может привести к ограничению аккаунта hh.ru
Установка
Ручная установка
git clone https://github.com/jacintacaryophyllaceous404/hh-ru-apply && cd hh-ru-apply && npm install && npx playwright install chromium && cp .env.example .envЛокальная установка, способ А из README.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Инструмент управляет реальным браузером Chromium через Playwright с сохраненным профилем, чтобы не логиниться заново. npm run vacancies ищет вакансии по ключевым словам из файла, npm run harvest прогоняет их через LLM по OpenRouter и ставит три оценки: релевантность вакансии, совпадение с резюме из папки CV и общую оценку, результат складывается в локальную очередь. Веб-дашборд на localhost:3849 показывает очередь, дает сгенерировать и отредактировать сопроводительное письмо и запустить отклик прямо из интерфейса. Два сценария отклика: hh-fill-letter вставляет письмо в форму на странице вакансии и намеренно не нажимает отправку, ожидая ручной проверки, а hh-apply-chat отправляет отклик с письмом через чат с работодателем и может отправить его автоматически, если не передан флаг --dry-run или --no-submit. Есть отдельный сценарий сканирования вакансий из Telegram-каналов через бота.
Для кого. Для соискателей, которые откликаются на много вакансий hh.ru и хотят, чтобы агент отсеивал нерелевантные и готовил сопроводительные, но сам контролировал момент отправки.
Подходит, если
- Нужно отсеять большой поток вакансий hh.ru по совпадению с резюме перед откликом
- Нужны черновики сопроводительных писем в своем стиле по примерам
- Готовы держать браузер и ручной контроль перед каждой отправкой отклика
Не подходит, если
- Не готовы к риску ограничения аккаунта hh.ru: README прямо предупреждает, что массовая автоматизация откликов может нарушать правила сервиса
- Нужен официальный API вместо управления реальным браузером: селекторы Playwright ломаются при смене верстки hh.ru
- Нужна полностью автономная отправка без просмотра писем: сценарий с формой намеренно не отправляет отклик сам
Пример запроса к агенту
Собери вакансии python backend за сегодня, оцени по моему резюме и подготовь сопроводительные, отклик отправлю самОграничения
README и SKILL.md прямо предупреждают: массовая автоматизация откликов может противоречить правилам hh.ru и привести к ограничению аккаунта, использование на свой страх и риск. Возможна капча и другие защиты, ручной вход в сессию закладывается заранее. Сценарий hh-apply-chat может отправить отклик автоматически без флагов --dry-run или --no-submit. Селекторы Playwright для формы и чата привязаны к текущей верстке hh.ru и требуют ручного обновления через codegen при ее изменении.
Как отключить. Остановите dashboard и контейнеры (docker compose down) и удалите локальную папку проекта вместе с сохраненным профилем Chromium в data/session.
Проверка безопасности
- Сценарий hh-apply-chat может автоматически отправить отклик и сообщение работодателю без флагов --dry-run или --no-submit
- Массовая автоматизация откликов, по прямому предупреждению README, может привести к ограничению аккаунта hh.ru
Коротко о README
README на русском открыто предупреждает о риске нарушения правил hh.ru и ограничения аккаунта при массовой автоматизации. Описаны восемь npm-команд: вход с сохранением сессии, поиск вакансий, сбор и оценка через LLM, дашборд, сканирование Telegram, два сценария отклика и генерация селекторов. Даны настройка ключевых слов, резюме, шаблона письма и переменных окружения для OpenRouter и Telegram-бота, а также структура проекта и запуск через Docker Compose. Лицензия MIT.
Частые вопросы
Отправляет ли инструмент отклики без моего участия?
Сценарий с формой (hh-fill-letter) только вставляет письмо и ждет ручной проверки, а сценарий с чатом (hh-apply-chat) может отправить автоматически, если не передать --dry-run или --no-submit.
Что если hh.ru изменит верстку страницы вакансии?
Селекторы Playwright перестанут находить элементы, нужно перегенерировать их командой npm run codegen-hh и обновить файлы lib/hh-response-selectors.mjs и lib/hh-chat-selectors.mjs.
Похожие
Самостоятельно размещаемая база знаний с блочными ссылками и встроенным MCP-сервером для подключения AI-агентов к заметкам
CLI для всех API Google Workspace с выводом в JSON и набором скиллов для агентов: Drive, Gmail, Calendar, Sheets и другие
Локальный поиск по заметкам, документации и расшифровкам встреч в Markdown: ключевые слова, смысловой поиск и ранжирование, есть MCP
Менеджер задач для AI-разработки: разбирает PRD на задачи с зависимостями и ведет агента по ним через MCP или CLI