Skip to main content

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

# Ограничить количество откликов (по умолчанию 10)
openhunt apply --query "backend python" --limit 20

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

# Пробный запуск — показать вакансии без отправки откликов
openhunt apply --query "backend python" --dry-run

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

Автоматически пропускаются:

  • Вакансии, на которые вы уже откликались
  • Вакансии с обязательной анкетой

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

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

Стратегия

Управляйте тем, когда и как отправляется сопроводительное письмо:

# Через флаг (на один запуск)
openhunt apply --query "python" --letter auto

# Сохранить стратегию (на все запуски)
openhunt letter strategy auto

Доступные стратегии:

Стратегия Необязательное письмо Обязательное письмо Токены LLM
off Пропустить Шаблон 0
template Шаблон Шаблон 0
llm LLM-генерация LLM-генерация Много
auto Пропустить LLM если настроен, иначе шаблон Мало

По умолчанию: llm если LLM настроен, template если нет.

auto — оптимальный баланс: экономит токены на необязательных письмах, но генерирует персональное письмо когда работодатель его требует.

Шаблон

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

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

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

LLM-генерация

Для генерации персональных писем через LLM:

openhunt llm setup --provider openrouter --api-key <ключ> --model <модель>

Поддерживаются OpenRouter и кастомные OpenAI-совместимые провайдеры. После настройки LLM автоматически генерирует письма на основе описания вакансии.

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

Поднимает все резюме в поиске (доступно раз в 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openhunt_cli-0.3.0.tar.gz (19.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openhunt_cli-0.3.0-py3-none-any.whl (26.8 kB view details)

Uploaded Python 3

File details

Details for the file openhunt_cli-0.3.0.tar.gz.

File metadata

  • Download URL: openhunt_cli-0.3.0.tar.gz
  • Upload date:
  • Size: 19.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Pop!_OS","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for openhunt_cli-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c8bb202386fafade79d0b57095ea772c4e4099e712d1c6ef2c98ff90a0ff90fb
MD5 8096d5b82859ce70e33b42586265304e
BLAKE2b-256 43fbdf442c564afb46e2cc97825672c2961991ebfd435a68669d8d34ca263a35

See more details on using hashes here.

File details

Details for the file openhunt_cli-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: openhunt_cli-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 26.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Pop!_OS","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for openhunt_cli-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 81cd1c4da95b1c2c9ce20db4ceb606a6e193d042710c56c0c5ddec7b30d922bf
MD5 0be47a018d6453854ddee5677f03ef05
BLAKE2b-256 d15f6a3457bc58ec39a635ce369a7cad259cb5d08f010596089879320eab84c6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page