Зачем это нужно
Поиск работы на hh — это игра в числа. Отклик открывают в среднем на треть резюме, приглашают ещё реже, и чтобы дойти до нормального оффера, откликнуться надо на десятки, а то и сотни вакансий. Руками это выматывает: открыл, прочитал, вставил сопроводительное, нажал, повторил. Час в день на механику, которая не требует головы.
Я выкатил в открытый доступ бота на GitHub, который снимает с тебя эту рутину: сам ищет свежие вакансии по твоим критериям, отсекает мусор, шлёт отклик с сопроводительным и присылает ответы рекрутёров прямо в Telegram. Ты занимаешься собеседованиями, копипаст остаётся боту. Разберу, что он умеет, как поднять его у себя за вечер и как не подставить аккаунт под ограничения.
Сразу прямо: hh запрещает автоматические отклики правилами. Бот ведёт себя аккуратно — через официальный API, с паузами и лимитом, — но риск для аккаунта остаётся. Это инструмент для личного пользования и на свой страх. Про то, как снизить риск, — отдельный раздел ниже.
Три способа откликаться автоматически
«Автоотклик на hh» — это сразу три разные вещи, которые постоянно путают между собой. Разберём, чем они отличаются, чтобы ты выбрал своё и не потратил вечер зря.
Как включить встроенный автоотклик hh
Хочешь остаться внутри hh и ничего не ставить — у площадки есть свой автоотклик. Работает бесплатно, но откликается по её рекомендациям и одним шаблоном сопроводительного. Четыре шага:
Не хочешь ни возни с терминалом, ни слабого контроля встроенного автоотклика — заходи в веб-версию: pawetta.com/hh. Логин через hh по СМС-коду, сервис читает резюме и откликается сам, каждый отклик виден в живом логе. Бесплатно, пароль не спрашиваем. Дальше в статье — про открытый бот для тех, кто хочет держать всё у себя.
Что умеет бот
Это не тупой кликер, который спамит по всему подряд. Логика ближе к личному ассистенту, который знает твои критерии и работает по ним.
| Функция | Что делает |
|---|---|
| Поиск каждые 5 минут | гоняет твои поисковые запросы и ловит вакансии, как только их публикуют |
| Скоринг по правилам | оценивает заголовок, зарплату, стек и опыт — откликается только на то, что подходит |
| Отклик с сопроводительным | шлёт через официальный API с рандомной задержкой и твоим письмом |
| Ответы на тесты | опционально подключает нейросеть, чтобы отвечать на вопросы работодателя |
| Сообщения рекрутёров в Telegram | пересылает ответы и приглашения тебе в бота, чтобы не сидеть на hh |
| Буст резюме и статусы | поднимает резюме в поиске и ведёт историю: кто посмотрел, пригласил, отказал |
Как выглядит решение по конкретной вакансии — каждый критерий даёт свой балл, и только сумма выше порога проходит в отклик:
Как он устроен
Под капотом ничего экзотического — обычный питоновский стек, который поднимается на любом ноутбуке или дешёвом VPS.
Python 3.12 + Playwright. Вход в аккаунт — через настоящий браузер, без подделки заголовков. Ты один раз логинишься руками, сессия сохраняется, дальше бот использует её сам.
Официальный API hh для откликов. Сами отклики идут через API, без кликов по кнопкам — это стабильнее и чище, чем эмуляция мыши.
SQLite. Локальная база помнит, куда ты уже откликался, какие вакансии отсеяны и в каком они статусе.
Telegram Bot API. Весь интерфейс — в Telegram: уведомления об откликах, сообщения рекрутёров, команды управления. Отдельный интерфейс не нужен.
Опциональная нейросеть. Только если хочешь автоответы на вопросы-тесты работодателя. Без неё бот работает полностью бесплатно.
Установка по шагам
Нужен Python 3.12 или новее и терминал. Дальше — пять команд. Если поднимал хоть раз что-то по инструкции, займёт минут десять.
.venv\Scripts\activate вместо source. Остальное одинаково.После этого копируешь .env.example в .env и заполняешь его — это следующий шаг. Без заполненного конфига бот не поймёт, кто ты, что ищешь и куда слать уведомления.
Настройка .env
Весь мозг бота — в одном файле. Кода трогать не нужно, только вписать свои значения. Разберу ключевые поля.
Ключевые для качества поля — NEGATIVE_KEYWORDS и SALARY_MIN. Первое режет вакансии, куда ты идти не хочешь (стажировки, чужой стек, не та роль), второе отсекает низкую вилку. Именно они превращают «спам по всему» в «отклики только на нужное».
Запуск и Telegram
Сначала — разовый вход. Запускаешь manual_login.py, откроется браузер, логинишься в hh руками (включая капчу и SMS, если есть). Сессия сохранится локально, и больше вводить пароль не придётся. После этого стартуешь основной процесс:
Дальше бот живёт сам, а ты видишь его работу в Telegram — примерно так:
Python-разработчик — 180 000 ₽
score 8.5 · ООО «Ромашка»
Стажёр Python — без зарплаты
стоп-слово «стажёр» · score 2.1
«Здравствуйте! Готовы созвониться завтра в 15:00?»
Управлять и смотреть статистику можно командами прямо в чате — не нужно лезть в консоль:
Чтобы бот работал круглосуточно и не выключался вместе с ноутбуком, кинь его на дешёвый VPS и заверни в systemd или tmux — процесс переживёт закрытие сессии. Логика та же, что у любого скрипта-демона.
Сопроводительное письмо: как не выглядеть спамом
Тут важный нюанс. Платные сервисы генерят письмо под каждую вакансию нейросетью — этот бот шлёт один шаблон на всех (поле COVER_LETTER в конфиге). Звучит как минус, но на деле одно хорошо написанное письмо работает не хуже пачки шаблонных AI-текстов — если написать его правильно. А hh показывает сопроводительное рекрутёру прямо в списке откликов: часто именно первые две строки решают, откроют резюме или пролистают.
Раз письмо одно на всех — в нём не должно быть ни названий компаний, ни имён. Пиши под семью ролей, без привязки к конкретной вакансии:
Что держать в голове, когда пишешь свой COVER_LETTER:
Первое предложение — кто ты и ключевой стек. Без «ищу работу» и «пишу по вакансии» — рекрутёр и так в откликах.
Второе — польза или сильная сторона конкретикой. «Поднимал сервисы до N RPS» бьёт «ответственный и стрессоустойчивый» в клочья.
Убери воду. «Коммуникабельный, обучаемый, в команде и сам» — это листают. Каждое слово должно нести факт.
2–4 предложения, не полотно. Длинные письма в списке откликов не читают — обрежется на второй строке.
Часть вакансий требует ответить на вопросы работодателя — без ответа отклик не уходит. Если подключить LLM-ключ (OpenAI или другой), бот отвечает на эти вопросы сам. Без ключа такие вакансии просто пропускаются, чтобы не слать пустой отклик — это нормально, их обычно немного.
Риски и как их снизить
Не буду продавать сказку. Автоматические отклики нарушают правила hh, и площадка может ограничить аккаунт. Полностью убрать риск нельзя — можно только вести себя так, чтобы поведение было неотличимо от активного, но живого соискателя.
Живое сопроводительное под нишу и аккуратный темп решают больше, чем кажется: бот экономит время на механике, но не заменяет нормальное резюме. Если резюме слабое, никакая автоматизация конверсию не вытянет — тут работает та же логика, что и во всём поиске работы.
Бесплатный бот против платных сервисов
Сервисов автооткликов на hh — десяток: hhgo, jobturbo, hh-sniper и другие. Стоят они 300–1000 ₽ в месяц, ставить ничего не надо — зашёл, нажал, погнали. Так зачем возиться со своим ботом? Разложу как есть, где что выигрывает.
| Этот бот (open-source) | Платный сервис | |
|---|---|---|
| Цена | Бесплатно, MIT | 300–1000 ₽/мес |
| Лимит откликов | свой, в разумных рамках | часто 25/день на бесплатном тарифе |
| Где крутится | твой комп или VPS | чужое облако |
| hh-логин и пароль | остаётся у тебя на машине | отдаёшь стороннему сервису |
| Сопроводительное | один шаблон на всех | AI под каждую вакансию |
| Код | открыт, читаешь сам | закрыт |
| Настройка | терминал и .env, ~вечер | готово из коробки |
Вывод простой. Не хочешь возиться с терминалом и нужны письма под каждую вакансию — плати, готовый сервис проще. Важнее цена, контроль и то, что логин от hh не улетает на чужой сервер, — бери этот бот. И главное прямо: оба варианта в серой зоне правил hh, так что «безопаснее» тут про темп и лимиты — а их у своего бота ты держишь сам.
Частые вопросы
Забанят ли аккаунт на hh за автоотклики?
Автоотклик на hh бесплатный?
Нужно ли уметь программировать?
Как бот понимает, на какие вакансии откликаться?
Что с сопроводительным письмом?
Куда приходят ответы рекрутёров?
На чём работает бот технически?
Чем этот автоотклик лучше встроенного в hh?
Есть версия без установки, прямо в браузере?
Главное
Бот берёт на себя механику откликов на hh: ищет вакансии по твоим критериям, отсекает мусор скорингом, шлёт отклик с сопроводительным и присылает ответы рекрутёров в Telegram. Ставится за вечер: пять команд, один файл .env, разовый вход. Помни про правила hh — держи человеческий темп, точные стоп-слова и аккаунт, который не жалко. Автоматизация экономит время, но нормальное резюме за тебя не напишет.
Код открытый — забирай, форкай, дорабатывай под себя: github.com/YAMAKAYAMACO/hh-autoresponder. Звезда репозиторию приветствуется.