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.2.0.tar.gz (16.4 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.2.0-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: openhunt_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 16.4 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.2.0.tar.gz
Algorithm Hash digest
SHA256 240c3a0a7d4abefcd3edca1160899039833a1b9d9741e2cc4ef614678daf8ab8
MD5 eb443c32a9a2abec83db664d268ecede
BLAKE2b-256 e5c4f24ed61dc54dcc26b64f9f4d4df3a9b394cec9a55ad44e334e2da2d0544d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: openhunt_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 22.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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f22ec060f807d5b21b0677c6f2dd7a25115ba7c41ad2df30a487fdfe3f60f3d8
MD5 6d9e45f11d7b408daf1e02b2bcfa49d1
BLAKE2b-256 674288cbd9523312f8d94d82879f7d65702d264af9ec2c1a19b0024dadd2e3b1

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