https://github.com/fikstt2/hh-ai-agent
hh.ru аи бот для откликов
https://github.com/fikstt2/hh-ai-agent
ai-agent anti-captcha automation hh-ru hh-ru-scraper job-search llama3 ollama playwright python scraping scraping-websites stealth
Last synced: 10 days ago
JSON representation
hh.ru аи бот для откликов
- Host: GitHub
- URL: https://github.com/fikstt2/hh-ai-agent
- Owner: fikstt2
- License: mit
- Created: 2026-07-04T11:20:32.000Z (16 days ago)
- Default Branch: main
- Last Pushed: 2026-07-05T14:53:33.000Z (15 days ago)
- Last Synced: 2026-07-09T11:14:39.967Z (11 days ago)
- Topics: ai-agent, anti-captcha, automation, hh-ru, hh-ru-scraper, job-search, llama3, ollama, playwright, python, scraping, scraping-websites, stealth
- Language: Python
- Homepage:
- Size: 25.4 KB
- Stars: 21
- Watchers: 0
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# HH.ru AI Agent (Auto-Responder) 🤖💼
Полностью автономный ИИ-агент для автоматического поиска вакансий на HH.ru, фильтрации мусора и рассылки уникальных сопроводительных писем с помощью локальной нейросети (Llama 3). Управляется и отправляет отчеты через Telegram-бота.
## Фичи
- **Умный парсинг**: обходит Cloudflare и блокировки HH.ru за счет Playwright (сохраняет сессию авторизации).
- **Двойная фильтрация**: хард-фильтр по стоп-словам + интеллектуальный анализ вакансии через локальную LLM (отсекает нерелевантные вакансии вроде "продажников" и "риелторов", даже если они всплыли в поиске по IT).
- **Кастомные сопроводительные письма**: нейросеть читает ваше резюме и текст вакансии, выдавая идеальное персонализированное письмо для отклика.
- **Интеграция с Telegram**: бот присылает уведомления об успешных откликах вместе со сгенерированным письмом, а также пересылает вам ответы от HR напрямую в мессенджер.
- **Работает 24/7**: бесконечный цикл с задержками (по умолчанию 30 минут) позволяет боту работать на вас круглосуточно.
## Требования
- Python 3.9+
- Установленный [Ollama](https://ollama.com/) с загруженной моделью (по умолчанию `llama3` или `llama3:8b`).
## Настройка (Гайд для себя и потомков)
### 1. Установка зависимостей
Склонируйте репозиторий и установите библиотеки:
```bash
pip install -r requirements.txt
playwright install chromium
```
### 2. Настройка окружения
Создайте файл `.env` в корне проекта и добавьте туда свои токены:
```ini
TG_BOT_TOKEN="ВАШ_ТОКЕН_ОТ_BOTFATHER"
TG_USER_ID="ВАШ_TELEGRAM_ID"
OLLAMA_URL="http://localhost:11434/api/generate"
OLLAMA_MODEL="llama3"
```
*(Свой ID можно узнать через бота @userinfobot в ТГ).*
### 3. Настройка поиска под себя
Откройте `config.py` и подстройте логику под своё резюме:
- `SEARCH_QUERIES` — список запросов (например, "Python backend").
- `TARGET_RESUME_NAME` — точное название вашего резюме на HH (чтобы бот выбирал правильное из списка).
- `MY_RESUME_SUMMARY` — подробное текстовое саммари ваших навыков. **Это критически важно**, так как на основе этого текста ИИ будет писать сопроводительные письма. Опишите свой стек, проекты и пожелания максимально подробно.
### 4. Первый запуск (Авторизация)
При самом первом запуске скрипт откроет видимое окно браузера:
```bash
python main.py
```
Вам нужно **вручную войти в свой аккаунт HH.ru** (ввести код из SMS/почты). Как только вы войдете, скрипт сохранит куки в файл `state.json`. После этого можете закрыть скрипт (Ctrl+C).
### 5. Боевой запуск
Запускайте скрипт заново:
```bash
python main.py
```
Теперь браузер запустится в скрытом режиме (headless) и начнет автоматически собирать вакансии. Напишите боту в Telegram `/start`, чтобы он проснулся и начал слать вам отчеты.
## Как изменить локацию поиска?
По умолчанию бот ищет вакансии сначала в Санкт-Петербурге (`&area=2`), а затем удаленку по всей РФ (`&area=113&schedule=remote`).
Вы можете изменить `area` (код региона) в файле `hh_client.py` внутри метода `search_and_apply`.
## Планируемые улучшения (TODO)
- Перевод вызовов LLM с локальной Ollama на бесплатные облачные API (Groq) для разгрузки видеокарты во время игр.
- Команда `/pause` в Telegram-боте.
---
*Disclaimer: Использование скриптов для автоматизации нарушает пользовательское соглашение HH.ru. Используйте на свой страх и риск. Автор не несет ответственности за возможный бан аккаунта.*