hh-ru-apply
Автоматизация поиска работы на hh.ru: сбор вакансий, оценка по CV через LLM, сопроводительные письма и отклики
Высокий риск
Высокий уровень ставим, когда инструмент пишет во внешние системы, работает с деньгами, рабочими базами или секретами либо выполняет произвольные команды. CLI поставит его только после вашего согласия.
Почему такой уровень
- Автоматизирует отклики от вашего имени, что может привести к ограничению аккаунта по правилам hh.ru
- Хранит браузерную сессию и резюме локально, отправляет фрагменты вакансий и CV во внешний LLM через OpenRouter
Установка
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/hh-ru-applyОпределит агенты на машине, проверит риск и зафиксирует версию.
Другие способы установки
Выполните в терминале в папке проекта
npx skills add steev193/hh-ru-apply --skill hh-ru-apply-workflow -a claude-code -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 7a56af1
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/steev193/hh-ru-apply.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.cursor/skills/hh-ru-apply-workflow/
git -C "$tmp" checkout 7a56af1e004e3908c15bea5d3c1d805ca2503c32
mkdir -p .claude/skills
cp -R "$tmp/.cursor/skills/hh-ru-apply-workflow" .claude/skills/hh-ru-apply-workflowКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add steev193/hh-ru-apply --skill hh-ru-apply-workflow -a cursor -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 7a56af1
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/steev193/hh-ru-apply.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.cursor/skills/hh-ru-apply-workflow/
git -C "$tmp" checkout 7a56af1e004e3908c15bea5d3c1d805ca2503c32
mkdir -p .agents/skills
cp -R "$tmp/.cursor/skills/hh-ru-apply-workflow" .agents/skills/hh-ru-apply-workflowКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add steev193/hh-ru-apply --skill hh-ru-apply-workflow -a github-copilot -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 7a56af1
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/steev193/hh-ru-apply.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.cursor/skills/hh-ru-apply-workflow/
git -C "$tmp" checkout 7a56af1e004e3908c15bea5d3c1d805ca2503c32
mkdir -p .github/skills
cp -R "$tmp/.cursor/skills/hh-ru-apply-workflow" .github/skills/hh-ru-apply-workflowКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add steev193/hh-ru-apply --skill hh-ru-apply-workflow -a codex -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 7a56af1
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/steev193/hh-ru-apply.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.cursor/skills/hh-ru-apply-workflow/
git -C "$tmp" checkout 7a56af1e004e3908c15bea5d3c1d805ca2503c32
mkdir -p .agents/skills
cp -R "$tmp/.cursor/skills/hh-ru-apply-workflow" .agents/skills/hh-ru-apply-workflowКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add steev193/hh-ru-apply --skill hh-ru-apply-workflow -a gemini-cli -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 7a56af1
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/steev193/hh-ru-apply.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.cursor/skills/hh-ru-apply-workflow/
git -C "$tmp" checkout 7a56af1e004e3908c15bea5d3c1d805ca2503c32
mkdir -p .agents/skills
cp -R "$tmp/.cursor/skills/hh-ru-apply-workflow" .agents/skills/hh-ru-apply-workflowКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/steev193/hh-ru-apply.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.cursor/skills/hh-ru-apply-workflow/
git -C "$tmp" checkout 7a56af1e004e3908c15bea5d3c1d805ca2503c32
mkdir -p .devin/skills
cp -R "$tmp/.cursor/skills/hh-ru-apply-workflow" .devin/skills/hh-ru-apply-workflowКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Бывший Windsurf.
Выполните в терминале в папке проекта
npx skills add steev193/hh-ru-apply --skill hh-ru-apply-workflow -a cline -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 7a56af1
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/steev193/hh-ru-apply.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.cursor/skills/hh-ru-apply-workflow/
git -C "$tmp" checkout 7a56af1e004e3908c15bea5d3c1d805ca2503c32
mkdir -p .cline/skills
cp -R "$tmp/.cursor/skills/hh-ru-apply-workflow" .cline/skills/hh-ru-apply-workflowКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add steev193/hh-ru-apply --skill hh-ru-apply-workflow -a roo -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 7a56af1
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/steev193/hh-ru-apply.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.cursor/skills/hh-ru-apply-workflow/
git -C "$tmp" checkout 7a56af1e004e3908c15bea5d3c1d805ca2503c32
mkdir -p .roo/skills
cp -R "$tmp/.cursor/skills/hh-ru-apply-workflow" .roo/skills/hh-ru-apply-workflowКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Форк Roo Code, папки .roo те же.
Выполните в терминале в папке проекта
npx skills add steev193/hh-ru-apply --skill hh-ru-apply-workflow -a opencode -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 7a56af1
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/steev193/hh-ru-apply.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.cursor/skills/hh-ru-apply-workflow/
git -C "$tmp" checkout 7a56af1e004e3908c15bea5d3c1d805ca2503c32
mkdir -p .agents/skills
cp -R "$tmp/.cursor/skills/hh-ru-apply-workflow" .agents/skills/hh-ru-apply-workflowКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/steev193/hh-ru-apply.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.cursor/skills/hh-ru-apply-workflow/
git -C "$tmp" checkout 7a56af1e004e3908c15bea5d3c1d805ca2503c32
mkdir -p .agents/skills
cp -R "$tmp/.cursor/skills/hh-ru-apply-workflow" .agents/skills/hh-ru-apply-workflowКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/steev193/hh-ru-apply.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.cursor/skills/hh-ru-apply-workflow/
git -C "$tmp" checkout 7a56af1e004e3908c15bea5d3c1d805ca2503c32
mkdir -p .agents/skills
cp -R "$tmp/.cursor/skills/hh-ru-apply-workflow" .agents/skills/hh-ru-apply-workflowКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Склонируй Steev193/hh-ru-apply, выполни npm install и npx playwright install chromium, заполни .env и config/search-keywords.txt, выполни npm run login для сохранения сессии, затем npm run harvest и npm run dashboard для просмотра очереди откликов.
Другие способы из описания автора
git clone https://github.com/Steev193/hh-ru-apply.git
cd hh-ru-apply
npm install
npx playwright install chromium
cp .env.example .envЛокальный запуск, после установки выполните npm run login для сохранения браузерной сессии.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Проект на Node.js и Playwright автоматизирует поиск работы соискателя на hh.ru от его собственного имени. Скрипты собирают вакансии по ключевым словам, оценивают их через LLM (OpenRouter) тремя баллами: релевантность, совпадение с CV и общий счет, генерируют персональные сопроводительные письма по вашему стилю и вставляют их в форму отклика. Есть веб-дашборд для просмотра очереди и правки писем перед отправкой, сканирование вакансий из Telegram-каналов, и отдельный режим hh-fill-letter, который только вставляет текст без автоотправки. Браузерная сессия сохраняется локально, повторный вход не нужен. Автор прямо предупреждает, что массовые действия могут нарушать правила hh.ru и привести к ограничению аккаунта.
Для кого. Для соискателей, которые ищут работу на hh.ru и хотят автоматизировать отбор вакансий и написание сопроводительных под свое резюме.
Подходит, если
- Ищете работу на hh.ru и хотите, чтобы LLM оценивала вакансии по совпадению с вашим CV
- Нужны персональные сопроводительные письма под ваш стиль без ручного написания каждого
- Хотите проверить и отредактировать письмо в дашборде перед отправкой, а не отправлять вслепую
Не подходит, если
- Не готовы рисковать ограничением аккаунта hh.ru за автоматизацию массовых действий
- Ищете инструмент для рассылки предложений сторонним компаниям, а не для своего поиска работы
- Нет своего CV в поддерживаемом формате .md, .txt или .pdf для оценки LLM
Пример запроса к агенту
Собери свежие вакансии python developer в Москве, оцени их по моему CV и подготовь сопроводительные для лучших пятиОграничения
Автор прямо предупреждает, что автоматизация откликов и массовые действия могут нарушать правила hh.ru и привести к ограничению аккаунта, использование на свой риск. Оценка вакансий через OpenRouter требует ключа API, по умолчанию используется бесплатная модель. Отклики идут только через ваш собственный залогиненный браузерный профиль, без официального API hh.ru.
Как отключить. Удалите папку hh-ru-apply и локальный профиль браузера в data/session, либо остановите Docker Compose командой docker compose down.
Проверка безопасности
- Автоматизирует отклики от вашего имени, что может привести к ограничению аккаунта по правилам hh.ru
- Хранит браузерную сессию и резюме локально, отправляет фрагменты вакансий и CV во внешний LLM через OpenRouter
Коротко о README
README на русском открыто предупреждает о риске ограничения аккаунта за автоматизацию и описывает восемь npm-команд: вход с сохранением сессии, поиск вакансий, сбор и оценку через LLM, веб-дашборд, сканирование Telegram, вставку письма без отправки, отклик в чате и генерацию Playwright-селекторов через Codegen. Даны два варианта запуска: локально и через Docker Compose с дашбордом на порту 3849, и подробная настройка CV, шаблона письма и ключей OpenRouter и Telegram-бота.
Частые вопросы
Отклики отправляются автоматически?
Есть отдельная команда hh-fill-letter, которая только вставляет письмо без отправки, и npm run apply для полного цикла, выбор за пользователем.
Нужен ли платный OpenRouter?
Нет, по умолчанию используется бесплатная модель, платные модели включаются флагом OPENROUTER_ALLOW_PAID=1.
Похожие
Самостоятельно размещаемая база знаний с блочными ссылками и встроенным MCP-сервером для подключения AI-агентов к заметкам
CLI для всех API Google Workspace с выводом в JSON и набором скиллов для агентов: Drive, Gmail, Calendar, Sheets и другие
Локальный поиск по заметкам, документации и расшифровкам встреч в Markdown: ключевые слова, смысловой поиск и ранжирование, есть MCP
Менеджер задач для AI-разработки: разбирает PRD на задачи с зависимостями и ведет агента по ним через MCP или CLI