ГлавнаяБлогАвтоотклик на hh

Автоотклик на вакансии hh.ru: бесплатный бот — как настроить за вечер

Зачем это нужно

Поиск работы на hh — это игра в числа. Отклик открывают в среднем на треть резюме, приглашают ещё реже, и чтобы дойти до нормального оффера, откликнуться надо на десятки, а то и сотни вакансий. Руками это выматывает: открыл, прочитал, вставил сопроводительное, нажал, повторил. Час в день на механику, которая не требует головы.

Я выкатил в открытый доступ бота на GitHub, который снимает с тебя эту рутину: сам ищет свежие вакансии по твоим критериям, отсекает мусор, шлёт отклик с сопроводительным и присылает ответы рекрутёров прямо в Telegram. Ты занимаешься собеседованиями, копипаст остаётся боту. Разберу, что он умеет, как поднять его у себя за вечер и как не подставить аккаунт под ограничения.

Сразу прямо: hh запрещает автоматические отклики правилами. Бот ведёт себя аккуратно — через официальный API, с паузами и лимитом, — но риск для аккаунта остаётся. Это инструмент для личного пользования и на свой страх. Про то, как снизить риск, — отдельный раздел ниже.

Руками
⏱ ~1 час в день
📄 20–30 откликов
😮‍💨 копипаст сопроводительного
🔕 ответы ловишь вручную на hh
С ботом
⏱ 10 минут настройки — один раз
📄 до 50 откликов в день
🤖 сопроводительное подставляется само
🔔 ответы рекрутёров в Telegram
Выигрыш в том, что рутину забирает бот — тебе остаётся то, что требует головы.

Три способа откликаться автоматически

«Автоотклик на hh» — это сразу три разные вещи, которые постоянно путают между собой. Разберём, чем они отличаются, чтобы ты выбрал своё и не потратил вечер зря.

Способ 1
Встроенный автоотклик hh
Прямо в кабинете hh, без сторонних программ. Бесплатно, включается одним тумблером. Откликается по фильтрам площадки, шлёт один шаблон и не отсеивает мусор тонко.
Кому: «включил и забыл», без заморочек
Способ 2 · проще всего
Веб-сервис pawetta
Заходишь на pawetta.com/hh через hh по СМС-коду — ставить ничего не надо. Сервис читает резюме, сам подбирает вакансии и откликается, всё видно в живом логе. Пароль не спрашивает, бесплатно.
Кому: без терминала, в один клик
Способ 3 · максимум контроля
Свой бот из репозитория
Открытый код крутится у тебя на компе или VPS. Тонкий скоринг, ответы на тесты работодателя через нейросеть, уведомления в Telegram, логин от hh остаётся на твоей машине. Нужен терминал и Python.
Кому: полный контроль, консоль не пугает
Про способ 1 — прямо сейчас, про способ 2 — коротко ниже, а весь остаток статьи — подробный разбор способа 3.

Как включить встроенный автоотклик hh

Хочешь остаться внутри hh и ничего не ставить — у площадки есть свой автоотклик. Работает бесплатно, но откликается по её рекомендациям и одним шаблоном сопроводительного. Четыре шага:

1
Открой раздел «Мои резюме» и выбери резюме, с которым ищешь работу.
2
Под резюме нажми кнопку настройки автоотклика (hh иногда переименовывает — ищи «автоотклик» рядом с резюме).
3
Задай фильтры поиска — должность, регион, зарплату — и текст сопроводительного.
4
Переведи тумблер «Автоотклик» в положение «Вкл» и подтверди. Дальше hh откликается сам, результаты копятся в кабинете.
Минус встроенного — мало контроля: откликается по рекомендациям hh, без тонкого скоринга по стеку и вилке и без уведомлений в Telegram. За это и берутся бот с сервисом.

Не хочешь ни возни с терминалом, ни слабого контроля встроенного автоотклика — заходи в веб-версию: pawetta.com/hh. Логин через hh по СМС-коду, сервис читает резюме и откликается сам, каждый отклик виден в живом логе. Бесплатно, пароль не спрашиваем. Дальше в статье — про открытый бот для тех, кто хочет держать всё у себя.

Что умеет бот

Это не тупой кликер, который спамит по всему подряд. Логика ближе к личному ассистенту, который знает твои критерии и работает по ним.

Функция Что делает
Поиск каждые 5 минутгоняет твои поисковые запросы и ловит вакансии, как только их публикуют
Скоринг по правиламоценивает заголовок, зарплату, стек и опыт — откликается только на то, что подходит
Отклик с сопроводительнымшлёт через официальный API с рандомной задержкой и твоим письмом
Ответы на тестыопционально подключает нейросеть, чтобы отвечать на вопросы работодателя
Сообщения рекрутёров в Telegramпересылает ответы и приглашения тебе в бота, чтобы не сидеть на hh
Буст резюме и статусыподнимает резюме в поиске и ведёт историю: кто посмотрел, пригласил, отказал
Вся история откликов хранится локально в SQLite — на одну вакансию бот не откликнется дважды.

Как выглядит решение по конкретной вакансии — каждый критерий даёт свой балл, и только сумма выше порога проходит в отклик:

Python-разработчик
ООО «Ромашка» · 180 000 ₽ · опыт 1–3 года
Заголовок совпал с запросом+3.0
Зарплата выше вилки+2.5
Стек: python, fastapi+2.0
Опыт подходит+1.0
Итог8.5 — откликаемся
Порог проходного балла задаёшь в .env. Ниже порога вакансия отсеивается с причиной — увидишь её в Telegram.

Как он устроен

Под капотом ничего экзотического — обычный питоновский стек, который поднимается на любом ноутбуке или дешёвом VPS.

Python 3.12 + Playwright. Вход в аккаунт — через настоящий браузер, без подделки заголовков. Ты один раз логинишься руками, сессия сохраняется, дальше бот использует её сам.

Официальный API hh для откликов. Сами отклики идут через API, без кликов по кнопкам — это стабильнее и чище, чем эмуляция мыши.

SQLite. Локальная база помнит, куда ты уже откликался, какие вакансии отсеяны и в каком они статусе.

Telegram Bot API. Весь интерфейс — в Telegram: уведомления об откликах, сообщения рекрутёров, команды управления. Отдельный интерфейс не нужен.

Опциональная нейросеть. Только если хочешь автоответы на вопросы-тесты работодателя. Без неё бот работает полностью бесплатно.

🔍
Поиск hh
каждые 5 мин
⚖️
Скоринг
фильтр по правилам
📤
Отклик
через API hh
📲
Telegram
уведомления тебе
Полный цикл без твоего участия: от находки вакансии до уведомления об отклике и ответе рекрутёра.

Установка по шагам

Нужен Python 3.12 или новее и терминал. Дальше — пять команд. Если поднимал хоть раз что-то по инструкции, займёт минут десять.

terminal
# 1. клонируем репозиторий
git clone https://github.com/YAMAKAYAMACO/hh-autoresponder
cd hh-autoresponder

# 2. виртуальное окружение и зависимости
python -m venv .venv && source .venv/bin/activate
pip install -e .

# 3. ставим браузер для входа
playwright install chromium
На Windows активация окружения — .venv\Scripts\activate вместо source. Остальное одинаково.

После этого копируешь .env.example в .env и заполняешь его — это следующий шаг. Без заполненного конфига бот не поймёт, кто ты, что ищешь и куда слать уведомления.

Настройка .env

Весь мозг бота — в одном файле. Кода трогать не нужно, только вписать свои значения. Разберу ключевые поля.

.env
# Telegram — интерфейс бота
TG_BOT_TOKEN=токен от @BotFather
TG_ADMIN_CHAT_ID=твой chat id

# доступ к hh
HH_LOGIN=твой логин
HH_PASSWORD=пароль

# что искать и что отсекать
SEARCH_QUERIES_RAW=Python разработчик; backend developer
STACK=python, fastapi, postgres
NEGATIVE_KEYWORDS=стажёр, 1С, продажи
SALARY_MIN=150000

# сопроводительное и темп
COVER_LETTER=Здравствуйте! Меня заинтересовала...
APPLY_DELAY_MIN=40
APPLY_DELAY_MAX=180
DAILY_LIMIT=50
Значения для примера. Поля стоп-слов и стека — твой фильтр качества: чем точнее заполнишь, тем меньше мусорных откликов.

Ключевые для качества поля — NEGATIVE_KEYWORDS и SALARY_MIN. Первое режет вакансии, куда ты идти не хочешь (стажировки, чужой стек, не та роль), второе отсекает низкую вилку. Именно они превращают «спам по всему» в «отклики только на нужное».

Запуск и Telegram

Сначала — разовый вход. Запускаешь manual_login.py, откроется браузер, логинишься в hh руками (включая капчу и SMS, если есть). Сессия сохранится локально, и больше вводить пароль не придётся. После этого стартуешь основной процесс:

# разовый вход в аккаунт python manual_login.py # запуск бота python -m app.main

Дальше бот живёт сам, а ты видишь его работу в Telegram — примерно так:

🤖 hh-autoresponder
Отклик отправлен
Python-разработчик — 180 000 ₽
score 8.5 · ООО «Ромашка»
Пропущено
Стажёр Python — без зарплаты
стоп-слово «стажёр» · score 2.1
💬 Ответ рекрутёра · Ромашка
«Здравствуйте! Готовы созвониться завтра в 15:00?»
сегодня отправлено 12 из 50
Так выглядят уведомления бота: отклик отправлен, вакансия отсеяна с причиной, пришёл ответ рекрутёра. Пример интерфейса.

Управлять и смотреть статистику можно командами прямо в чате — не нужно лезть в консоль:

Команды бота
/stats — статистика
/today — что за сегодня
/pause — пауза откликов
/resume — продолжить
/boost — поднять резюме
Сводка за день
📤 Отправлено — 47
👀 Открыли резюме — 16
💬 Ответили — 5
🎯 Пригласили — 3
Пауза, буст резюме и вся статистика — из Telegram одной командой. Значения для примера.

Чтобы бот работал круглосуточно и не выключался вместе с ноутбуком, кинь его на дешёвый VPS и заверни в systemd или tmux — процесс переживёт закрытие сессии. Логика та же, что у любого скрипта-демона.

Сопроводительное письмо: как не выглядеть спамом

Тут важный нюанс. Платные сервисы генерят письмо под каждую вакансию нейросетью — этот бот шлёт один шаблон на всех (поле COVER_LETTER в конфиге). Звучит как минус, но на деле одно хорошо написанное письмо работает не хуже пачки шаблонных AI-текстов — если написать его правильно. А hh показывает сопроводительное рекрутёру прямо в списке откликов: часто именно первые две строки решают, откроют резюме или пролистают.

Раз письмо одно на всех — в нём не должно быть ни названий компаний, ни имён. Пиши под семью ролей, без привязки к конкретной вакансии:

✗ Так пролистают
«Здравствуйте! Хочу у вас работать, рассмотрите моё резюме. Ответственный, коммуникабельный, быстро обучаюсь.»
✓ Так откроют резюме
«Здравствуйте! Backend-разработчик на Python, 3 года на FastAPI и высоконагруженных сервисах. Готов обсудить задачи вашей команды — релевантные проекты в резюме, на связи в любое время.»
Разница в конкретике: во втором сразу видно роль, стек и опыт.

Что держать в голове, когда пишешь свой COVER_LETTER:

Первое предложение — кто ты и ключевой стек. Без «ищу работу» и «пишу по вакансии» — рекрутёр и так в откликах.

Второе — польза или сильная сторона конкретикой. «Поднимал сервисы до N RPS» бьёт «ответственный и стрессоустойчивый» в клочья.

Убери воду. «Коммуникабельный, обучаемый, в команде и сам» — это листают. Каждое слово должно нести факт.

2–4 предложения, не полотно. Длинные письма в списке откликов не читают — обрежется на второй строке.

Часть вакансий требует ответить на вопросы работодателя — без ответа отклик не уходит. Если подключить LLM-ключ (OpenAI или другой), бот отвечает на эти вопросы сам. Без ключа такие вакансии просто пропускаются, чтобы не слать пустой отклик — это нормально, их обычно немного.

Риски и как их снизить

Не буду продавать сказку. Автоматические отклики нарушают правила hh, и площадка может ограничить аккаунт. Полностью убрать риск нельзя — можно только вести себя так, чтобы поведение было неотличимо от активного, но живого соискателя.

Держи человеческий темп
У самого hh потолок — 200 откликов в день. Держись заметно ниже: рандомные задержки 40–180 секунд и 40–60 откликов в день. Сотни откликов в час — самый быстрый способ словить ограничение.
Не откликайся на всё
Точные стоп-слова и вилка. Отклики только на релевантное выглядят естественно и повышают конверсию в приглашения.
Аккаунт — который не жалко
Не гоняй автоответчик на единственном рабочем аккаунте с идеальной историей, если он тебе критичен.
Не оставляй без присмотра
Раз в день загляни: что отправилось, нет ли странных откликов. Telegram-уведомления для этого и сделаны.

Живое сопроводительное под нишу и аккуратный темп решают больше, чем кажется: бот экономит время на механике, но не заменяет нормальное резюме. Если резюме слабое, никакая автоматизация конверсию не вытянет — тут работает та же логика, что и во всём поиске работы.

Бесплатный бот против платных сервисов

Сервисов автооткликов на hh — десяток: hhgo, jobturbo, hh-sniper и другие. Стоят они 300–1000 ₽ в месяц, ставить ничего не надо — зашёл, нажал, погнали. Так зачем возиться со своим ботом? Разложу как есть, где что выигрывает.

Этот бот (open-source) Платный сервис
ЦенаБесплатно, MIT300–1000 ₽/мес
Лимит откликовсвой, в разумных рамкахчасто 25/день на бесплатном тарифе
Где крутитсятвой комп или VPSчужое облако
hh-логин и парольостаётся у тебя на машинеотдаёшь стороннему сервису
Сопроводительноеодин шаблон на всехAI под каждую вакансию
Кодоткрыт, читаешь самзакрыт
Настройкатерминал и .env, ~вечерготово из коробки
Зелёным — где вариант объективно сильнее. У каждого свой набор.

Вывод простой. Не хочешь возиться с терминалом и нужны письма под каждую вакансию — плати, готовый сервис проще. Важнее цена, контроль и то, что логин от hh не улетает на чужой сервер, — бери этот бот. И главное прямо: оба варианта в серой зоне правил hh, так что «безопаснее» тут про темп и лимиты — а их у своего бота ты держишь сам.

Частые вопросы

Забанят ли аккаунт на hh за автоотклики?
hh прямо запрещает автоматические отклики, и аккаунт теоретически могут ограничить. Бот шлёт отклики через официальный API с рандомными задержками и дневным лимитом, чтобы поведение было похоже на ручное, но полностью риск это не убирает. Гоняй на аккаунте, который не жалко, и не ставь лимит в сотни откликов в день.
Автоотклик на hh бесплатный?
Да, код открытый и лежит на GitHub — берёшь и запускаешь у себя. Платными будут только опциональные вещи: если подключишь нейросеть для ответов на тесты работодателя, заплатишь за токены модели. Сам бот денег не просит и подписок не требует.
Нужно ли уметь программировать?
Кода писать не нужно — вся настройка через один файл .env. Но базовые навыки терминала пригодятся: склонировать репозиторий, поставить Python и зависимости, один раз залогиниться. Если разворачивал что-то по инструкции хоть раз, справишься за вечер.
Как бот понимает, на какие вакансии откликаться?
Ты задаёшь поисковые запросы, стоп-слова, нужный стек и вилку по зарплате в .env. Бот ищет вакансии каждые 5 минут, прогоняет каждую через правила-скоринг (заголовок, зарплата, стек, опыт) и откликается только на подходящие. Мусор отсекается до отправки отклика.
Что с сопроводительным письмом?
В .env лежит твой шаблон сопроводительного, и бот прикладывает его к каждому отклику. Если работодатель задаёт вопросы-тесты, можно подключить нейросеть — она ответит за тебя. Без неё вакансии с обязательными вопросами просто пропускаются.
Куда приходят ответы рекрутёров?
Бот мониторит сообщения от работодателей и пересылает их тебе в Telegram — не нужно сидеть в отклике на hh. Там же видно статусы: кто посмотрел резюме, кто пригласил, кто отказал.
На чём работает бот технически?
Python 3.12, Playwright для входа в аккаунт, SQLite для хранения истории откликов, Telegram Bot API как интерфейс. Вход разовый: логинишься руками через manual_login.py, сессия сохраняется локально, дальше бот работает сам.
Чем этот автоотклик лучше встроенного в hh?
Встроенный автоотклик hh включается одним тумблером в настройках резюме, но откликается по рекомендациям площадки и одним шаблоном на всё. Бот и веб-сервис дают тонкий скоринг по стеку и зарплате, ответы на вопросы-тесты работодателя через нейросеть, ответы рекрутёров в Telegram и контроль над темпом. Плата за это — настройка, которой у встроенного почти нет.
Есть версия без установки, прямо в браузере?
Да, веб-сервис на pawetta.com/hh: заходишь через hh по СМС-коду, он читает резюме и откликается сам, ставить ничего не нужно. Свой бот из репозитория берут те, кому нужен полный контроль и работа на своём сервере.

Главное

Если коротко

Бот берёт на себя механику откликов на hh: ищет вакансии по твоим критериям, отсекает мусор скорингом, шлёт отклик с сопроводительным и присылает ответы рекрутёров в Telegram. Ставится за вечер: пять команд, один файл .env, разовый вход. Помни про правила hh — держи человеческий темп, точные стоп-слова и аккаунт, который не жалко. Автоматизация экономит время, но нормальное резюме за тебя не напишет.

Код открытый — забирай, форкай, дорабатывай под себя: github.com/YAMAKAYAMACO/hh-autoresponder. Звезда репозиторию приветствуется.

Больше автоматизаций и разборов в Telegram — «Digital-трафик»

Читать дальше

Все статьи
Ссылка скопирована