An open API service indexing awesome lists of open source software.

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 аи бот для откликов

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. Используйте на свой страх и риск. Автор не несет ответственности за возможный бан аккаунта.*