Metadata-Version: 2.4
Name: openhunt-cli
Version: 0.1.0
Summary: CLI tool for automating job seeker actions on hh.ru
Author: Mikhail
Author-email: Mikhail <tarminik@gmail.com>
License-Expression: MIT
Requires-Dist: textual>=3.0
Requires-Dist: playwright>=1.50
Requires-Dist: click>=8.0
Requires-Dist: tomli-w>=1.0
Requires-Python: >=3.12
Description-Content-Type: text/markdown

# openhunt

CLI-инструмент для автоматизации поиска работы на hh.ru.

## Возможности

- Автоматические отклики на вакансии (по поисковому запросу или из рекомендаций)
- Сохранение поисковых запросов для повторного использования
- Сохранение сессии — авторизация один раз, дальше всё работает автоматически

### В планах

- Генерация сопроводительных писем (LLM)
- Автоматическое заполнение анкет работодателей
- Общение с работодателями в чатах
- TUI-интерфейс
- Система памяти — openhunt учится на ваших ответах и со временем работает автономно

## Установка

Требуется Python 3.12+.

```bash
uv tool install openhunt-cli
```

Или через pipx / pip:

```bash
pipx install openhunt-cli
# или
pip install openhunt-cli
```

Браузер Chromium установится автоматически при первом запуске.

## Использование

### Авторизация

При первом запуске нужно авторизоваться на hh.ru. Откроется браузер — введите номер телефона, решите капчу и введите код из SMS:

```bash
openhunt login
```

Сессия сохраняется между запусками. Повторный логин нужен только когда сессия истечёт.

### Настройка резюме

Сохраните ID резюме один раз (ID можно найти в URL вашего резюме на hh.ru):

```bash
openhunt resume set <id>
```

После этого `--resume` можно не указывать — сохранённое резюме используется автоматически.

### Отклики на вакансии

```bash
# По поисковому запросу
openhunt apply --query "python developer"

# С использованием языка запросов hh.ru
openhunt apply --query "NAME:(python OR golang) AND NOT стажёр"

# Из рекомендованных вакансий (на основе вашего резюме)
openhunt apply --recommended

# Ограничить количество откликов
openhunt apply --query "backend python" --limit 20

# По сохранённому запросу
openhunt apply --saved backend

# Переопределить резюме для конкретного запуска
openhunt apply --resume <другой_id> --query "frontend react"
```

Автоматически пропускаются:
- Вакансии, на которые вы уже откликались
- Вакансии с обязательной анкетой

К вакансиям с сопроводительным письмом (обязательным или опциональным) автоматически прикрепляется шаблон.

Подробнее о языке поисковых запросов hh.ru: https://hh.ru/article/25295

### Сопроводительное письмо

По умолчанию используется стандартный шаблон. Можно задать свой:

```bash
# Посмотреть текущий шаблон
openhunt letter show

# Задать свой
openhunt letter set "Здравствуйте! Буду рад обсудить вакансию."

# Вернуть стандартный
openhunt letter reset
```

### Поднятие резюме

Поднимает все резюме в поиске (доступно раз в 4 часа):

```bash
openhunt resume raise
```

### Сохранённые запросы

Сложные запросы можно сохранить и использовать по имени:

```bash
# Сохранить запрос
openhunt query save backend "NAME:(python OR golang) AND NOT стажёр"

# Список сохранённых запросов
openhunt query list

# Удалить запрос
openhunt query delete backend
```

## Разработка

```bash
git clone https://github.com/tarminik/openhunt.git
cd openhunt
uv sync
uv run openhunt --help
```

## Лицензия

MIT
