Skip to main content

Неофициальный CLI-клиент для поиска работы и откликов на hh.ru.

Project description

hh-cli

PyPI version License: MIT Follow on Telegram

Неофициальный CLI-клиент для поиска работы и откликов на hh.ru.

hh-cli — это авторизованное приложение, позволяющее искать вакансии, просматривать их, отмечать понравившиеся и откликаться на них в интерфейсе терминала. У приложения есть канал в Telegram, где публикуются основные новости проекта.

Примечание: hhcli — это авторизованное (легальное) приложение, одобренное hh.ru, однако, оно разрабатывается независимым разработчиком и не является официальным!

gif-of-hhcli.

Ключевые возможности

  • TUI-интерфейс: Современный и отзывчивый интерфейс на базе Textual, работающий в любом современном терминале.
  • Два режима поиска: Автоматический (на основе рекомендаций hh.ru для вашего резюме) и ручной (гибкий поиск по ключевым словам, городу, формату работы и другим критериям).
  • Отклики: Возможно выбрать несколько вакансий и откликнуться на все одной командой, используя персональный шаблон сопроводительного письма.
  • Локальная база данных: Вся информация: профили, история откликов, кэш вакансий и справочников — хранятся в локальной базе данных SQLite. Сервер hhcli ничего не хранит и не обрабатывает персональные данные, вся информация хранится у вас локально.
  • Интеллектуальная фильтрация: Приложение позволяет скрывать дубликаты (sity spam) и выделять вакансии, на которые ранее уже были отклики (по точному ID или по связке "Название+Компания").
  • Профили: Приложение позволяет создавать несколько профилей (аккаунтов hh.ru) с поддержкой нескольких резюме внутри профиля.
  • Конфигурация: Все параметры ручного поиска, шаблоны сопроводительных писем и внешний вид приложения настраиваются через экран настроек внутри самого приложения.

Установка

Убедитесь, что у вас установлен Python 3.9+ и pip.

Установка производится одной командой. Скрипт исключает конфликты с другими Python-пакетами в системе, установка всех зависимостей происходит в изолированное окружение с помощью pipx.

bash <(curl -sSL -H "Cache-Control: no-cache" https://raw.githubusercontent.com/fovendor/hhcli/master/install.sh)

Примечание: Если pipx отсутствует в системе, скрипт запросит пароль (sudo) для его установки. Выполнение скриптов из интернета несёт потенциальные риски, ознакомьтесь с кодом скрипта перед запуском.

Удаление

Для удаления приложения выполните команду:

bash <(curl -sSL https://raw.githubusercontent.com/fovendor/hhcli/master/install.sh) uninstall

Команда удаляет приложение, но не ваши данные. Для удаления всех данных (база данных, профили, кэш, отклики), удалите каталог ~/.local/share/hhcli.

Первый запуск и настройка

1. Авторизация

После установки запустите процесс аутентификации. Вам нужно будет придумать короткое имя для вашего профиля (go, python, pm, analyst и т.д).

hhcli --auth analyst

В системном браузере загрузится страница hh.ru для аутентификации на сайте. После успешного входа нужно запустить приложение.

2. Запуск

Выполните команду:

hhcli

При первом запуске с несколькими резюме приложение предложит выбрать, какое из них использовать для поиска.

3. Настройка

Вся настройка (ключевые слова для поиска, шаблон сопроводительного письма, внешний вид) производится внутри приложения. Нажмите клавишу c на любом из основных экранов, чтобы перейти в меню настроек.

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

Основное взаимодействие с приложением происходит через TUI-интерфейс.

Основные команды (CLI)

Команда Описание
hhcli Запускает основной TUI-интерфейс.
hhcli --auth <имя_профиля> Выполняет аутентификацию для нового профиля или обновляет токен авторизации для существующего.
hhcli -v / hhcli --version Показывает текущую версию (из PyPI).

Горячие клавиши (внутри приложения)

Клавиша Действие
Пробел Выбрать/снять выбор с текущей вакансии.
A Откликнуться на все выбранные вакансии.
H Открыть экран с историей откликов для текущего резюме.
C Открыть экран настроек профиля.
Q / Esc Вернуться на предыдущий экран или выйти из приложения.
/ Переключение между страницами в списке вакансий.

Темы оформления

Интерфейс hhcli использует дизайн-систему на основе цветовых токенов Textual, которые настраиваются через файлы стилей. Чтобы создать новую тему, скопируйте содержимое любого существующего файла .tcss из каталога hhcli/ui/themes в новый файл и настройте желаемую палитру.

Переменные стилей: базовые токены отвечают за основные цвета темы (остальные значения выводятся автоматически в styles.tcss):

  • background1 — основной фон приложения.
  • background2 — фон панелей, карточек, списков.
  • background3 — фон шапок, рамок и выделений.
  • foreground1 — вторичный текст (подписи, подсказки).
  • foreground2 — основной текст.
  • foreground3 — акцентный текст/заголовки.
  • primary — главный акцент (кнопки, ссылки, выделения).
  • secondary — дополнительный акцент и ховеры.
  • red, orange, yellow, green, blue, purple, magenta, cyan — цвета статусов и вспомогательных подсветок.
  • scrim — полупрозрачная подложка для модальных окон.

TO DO

Дальнейшие планы:

  • Переработка первых двух экранов (были унаследованы от старой bash-версии).
  • Интерактивное добавление профилей без ввода команды hhcli --auth <profile>.
  • Улучшение поддержки и тестирование на других ОС (macOS, Windows).
  • Расширение возможностей фильтрации и аналитики по истории откликов.
  • Добавление экрана с дашбордом на основе истории откликов.
  • Добавление переписки с работодателями.
  • Добавление кастомизации сопроводительного письма для некоторых из выбранных вакансий.

История

Изначально hhcli не планировался как большой и долго поддерживаемый проект. Но текущая ситуация на рынке труда: глупые алгоритмы отбора, фейковые вакансии, некомпетентные HR'ы и в целом низкая эффективность ручного поиска и откликов через сайт мотивируют меня развивать этот инструмент дальше.

Прежняя версия hhcli делегировала практически всю работу с API утилите hh-applicant-tool, отчасти поэтому была полностью переписана в текущее исполнение. Подробнее можно ознакомиться в ветке legacy.

Legacy-версия перестала поддерживаться 26.10.2025, её дальнейшая работоспособность не гарантирована и полностью зависит от hh-applicant-tool.

Лицензия

Проект распространяется под лицензией MIT. Смотрите файл LICENSE для подробностей.

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

hhcli-0.2.5.tar.gz (55.6 kB view details)

Uploaded Source

Built Distribution

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

hhcli-0.2.5-py3-none-any.whl (61.6 kB view details)

Uploaded Python 3

File details

Details for the file hhcli-0.2.5.tar.gz.

File metadata

  • Download URL: hhcli-0.2.5.tar.gz
  • Upload date:
  • Size: 55.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hhcli-0.2.5.tar.gz
Algorithm Hash digest
SHA256 ce8afea18c42cda48d3a5785abb3cc596e3df77487dc45e43439344b678d4b37
MD5 fb1a8369d0cba2797df9baf27ba87569
BLAKE2b-256 139499b899d98f4bc161bb3bea39b00ef2a35552178dca5ba2b94b37b32dae8c

See more details on using hashes here.

File details

Details for the file hhcli-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: hhcli-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 61.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hhcli-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9c48c772210d18c2dc39fd6efa02ea8939c3c7f0768083280f19ecf6e1e37fb7
MD5 0f9958b1103b60d1f81000589aa83590
BLAKE2b-256 7e0853d6930bfab848f3ac9d0c135890b641953d86f9f1ac823514c73c7d2558

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