CLI tool for automating job seeker actions on hh.ru
Project description
openhunt
CLI-инструмент для автоматизации поиска работы на hh.ru.
Возможности
- Автоматические отклики на вакансии (по поисковому запросу или из рекомендаций)
- Сохранение поисковых запросов для повторного использования
- Сохранение сессии — авторизация один раз, дальше всё работает автоматически
В планах
- Генерация сопроводительных писем (LLM)
- Автоматическое заполнение анкет работодателей
- Общение с работодателями в чатах
- TUI-интерфейс
- Система памяти — openhunt учится на ваших ответах и со временем работает автономно
Установка
Требуется Python 3.12+.
uv tool install openhunt-cli
Или через pipx / pip:
pipx install openhunt-cli
# или
pip install openhunt-cli
Браузер Chromium установится автоматически при первом запуске.
Использование
Авторизация
При первом запуске нужно авторизоваться на hh.ru. Откроется браузер — введите номер телефона, решите капчу и введите код из SMS:
openhunt login
Сессия сохраняется между запусками. Повторный логин нужен только когда сессия истечёт.
Настройка резюме
Сохраните ID резюме один раз (ID можно найти в URL вашего резюме на hh.ru):
openhunt resume set <id>
После этого --resume можно не указывать — сохранённое резюме используется автоматически.
Отклики на вакансии
# По поисковому запросу
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
Сопроводительное письмо
По умолчанию используется стандартный шаблон. Можно задать свой:
# Посмотреть текущий шаблон
openhunt letter show
# Задать свой
openhunt letter set "Здравствуйте! Буду рад обсудить вакансию."
# Вернуть стандартный
openhunt letter reset
Поднятие резюме
Поднимает все резюме в поиске (доступно раз в 4 часа):
openhunt resume raise
Сохранённые запросы
Сложные запросы можно сохранить и использовать по имени:
# Сохранить запрос
openhunt query save backend "NAME:(python OR golang) AND NOT стажёр"
# Список сохранённых запросов
openhunt query list
# Удалить запрос
openhunt query delete backend
Разработка
git clone https://github.com/tarminik/openhunt.git
cd openhunt
uv sync
uv run openhunt --help
Лицензия
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openhunt_cli-0.1.0.tar.gz.
File metadata
- Download URL: openhunt_cli-0.1.0.tar.gz
- Upload date:
- Size: 9.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1abaf59894a3fe326de34af778dd1773b7d8cac87913e81d75e12df66f1da6cd
|
|
| MD5 |
47a4583879f7777aca82f0b89fa95c39
|
|
| BLAKE2b-256 |
09d2eb6ea30ac0510181d3329b13dccc5c260981f5f8dc43d7ee7720f3edd975
|
Provenance
The following attestation bundles were made for openhunt_cli-0.1.0.tar.gz:
Publisher:
publish.yml on tarminik/openhunt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openhunt_cli-0.1.0.tar.gz -
Subject digest:
1abaf59894a3fe326de34af778dd1773b7d8cac87913e81d75e12df66f1da6cd - Sigstore transparency entry: 1224697908
- Sigstore integration time:
-
Permalink:
tarminik/openhunt@6a2b85752a4732654b6739989d391d41f9c3d097 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/tarminik
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6a2b85752a4732654b6739989d391d41f9c3d097 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openhunt_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: openhunt_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f29eb924fce1fe0fb3546113ac5ceddcfb0cf1eb14a9df67e6cf6841da2c80b
|
|
| MD5 |
55613acdc6abbf59c8852be1df2cbe8a
|
|
| BLAKE2b-256 |
5dfc141dfbcf84a7c054d34d11d63cfbd4230d5d9694f13c267f691209e9f3d2
|
Provenance
The following attestation bundles were made for openhunt_cli-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on tarminik/openhunt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openhunt_cli-0.1.0-py3-none-any.whl -
Subject digest:
0f29eb924fce1fe0fb3546113ac5ceddcfb0cf1eb14a9df67e6cf6841da2c80b - Sigstore transparency entry: 1224697938
- Sigstore integration time:
-
Permalink:
tarminik/openhunt@6a2b85752a4732654b6739989d391d41f9c3d097 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/tarminik
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6a2b85752a4732654b6739989d391d41f9c3d097 -
Trigger Event:
push
-
Statement type: