hhcli
hhcli — это неофициальный CLI-клиент для поиска работы и откликов на hh.ru, позволяющий искать вакансии, просматривать их, отмечать понравившиеся и откликаться на них в интерфейсе терминала.
У приложения есть канал в Telegram, где публикуются основные новости проекта и сайт, где можно запустить тестовую версию утилиты для ознакомления с интерфейсом и фичами.
.
Ключевые возможности
- Локальная база данных SQLite, хранящая профили, историю, кэш вакансий, справочники и т.д.
- Кроссплатформенный TUI-интерфейс (Linux, Windows).
- Профили для разных аккаунтов с поддержкой нескольких резюме внутри одного аккаунта.
- Два режима поиска: автоматический по рекомендациям hh.ru и ручной с настраиваемыми фильтрами.
- Отклик на несколько выбранных вакансий с отправкой сопроводительного письма.
- Хранение истории всех откликов и переписок с работодателями.
- Переписка с работодателями и форматирование текста сообщений прямо внутри приложения.
- Фильтры и отсев дубликатов вакансий (спама по городам).
- Подсветка компаний, в которые ранее был отклик.
- Подсветка вакансий, на которые был отклик (по названию+компания или по id вакансии).
- Приложение чистит базу данных от устаревшего кэша вакансий (старше 5 дней) и логов (старше 20 дней).
- Выбор и возможность создания собственных тем оформления.
Установка
Linux
Ubuntu / Debian / Mint (apt)
sudo apt update && sudo apt install -y
python3 python3-pip pipx git
python3-gi gir1.2-webkit2-4.1 gir1.2-gtk-3.0 libwebkit2gtk-4.1-0
pipx install hhcli --system-site-packages
python3 -m pipx ensurepath
# Перезапустите терминал прежде, чем запускать программу
Arch / Manjaro (pacman)
sudo pacman -Syu python python-pip pipx git webkit2gtk python-gobject gtk3
pipx install hhcli --system-site-packages
python3 -m pipx ensurepath
# Перезапустите терминал прежде, чем запускать программу
Fedora / RHEL / Rocky (dnf / yum)
sudo dnf install python3 python3-pip pipx git # либо sudo yum install ...
# Пакеты WebKit2GTK могут называться webkit2gtk4.1 / webkit2gtk3 / pywebkitgtk
sudo dnf install webkit2gtk4.1 gtk3 gobject-introspection
pipx install hhcli --system-site-packages
python3 -m pipx ensurepath
# Перезапустите терминал прежде, чем запускать программу
Другие дистрибутивы
- Установите Python ≥3.9 и
pipxиз стандартного репозитория. - Установите WebKit2GTK+ и Python GObject bindings (названия пакетов зависят от дистрибутива).
- Выполните
pipx install hhcli --system-site-packages. - Если
pipxотсутствует, можно поставить локально:pip install --user pipx && pipx ensurepath.
Windows
Windows 10/11
- Скачайте Python 3.9+ с python.org и поставьте галочку “Add Python to PATH”.
- Установите
pipx(PowerShell или CMD, права администратора не нужны):
python -m pip install --upgrade pip
python -m pip install pipx
python -m pipx ensurepath
Перезапустите PowerShell (или CMD) и выполните установку hhcli:
pipx install hhcli
После установки откройте новое окно PowerShell/CMD и введите hhcli.
Для окна авторизации нужен WebView2 Runtime. Обычно он уже предустановлен в Windows 10/11. Если окно авторизации не появляется, откройте страницу Microsoft и скачайте Evergreen Bootstrapper (x64 для большинства ПК). Fixed Version не требуется.
Запуск и авторизация
После установки запустите программу.
hhcli
Будет предложено создать новый профиль. Придумать короткое имя для вашего профиля (go, python, pm, analyst и т.д). В открывшемся мини-браузере загрузится страница hh.ru для аутентификации на сайте. После успешной аутентификации программа предложит выбрать способ поиска вакансий. Если в аккаунте несколько резюме, сначала будет предложено выбрать, какое из них использовать для поиска.
Настройка
Настройка приложения (ключевые слова для поиска, шаблон сопроводительного письма, внешний вид) производится внутри приложения. Нажмите клавишу c на любом из основных экранов, чтобы перейти в меню настроек.
Горячие клавиши
| Клавиша | Действие |
|---|---|
Пробел |
Выбрать/снять выбор с текущей вакансии. |
A |
Откликнуться на все выбранные вакансии. |
H |
Открыть экран с историей откликов для текущего резюме. |
C |
Открыть экран настроек профиля. |
Q / Esc |
Вернуться на предыдущий экран или выйти из приложения. |
← / → |
Переключение между страницами в списке поиска вакансий. |
Темы оформления
У приложения есть своя дизайн-система для переключения тем оформления. Чтобы создать новую тему, скопируйте содержимое любого существующего файла .tcss из каталога hhcli/ui/themes в новый файл и настройте палитру. Новая тема будет доступна на экране настроек.
Переменные стилей: базовые переменные отвечают за основные цвета темы (остальные значения собираются автоматически в hhcli/ui/themes/design_system.tcss):
background1— основной фон приложения.background2— фон панелей, карточек, списков.background3— фон шапок, рамок и выделений.foreground1— вторичный текст (подписи, подсказки).foreground2— основной текст.foreground3— акцентный текст/заголовки.primary— главный акцент (кнопки, ссылки, выделения).secondary— дополнительный акцент и ховеры.red,orange,yellow,green,blue,purple,magenta,cyan— цвета статусов и вспомогательных подсветок.scrim— полупрозрачная подложка для модальных окон.
Основные команды
| Команда | Описание |
|---|---|
hhcli |
Запускает основной интерфейс. |
hhcli -v / hhcli --version |
Показывает текущую версию. |
hhcli -i / hhcli --info |
Выводит информацию о версии, пути к локальной базе и доступных профилях. |
Обновление / удаление
Обновить:
Windows (PowerShell/CMD):
pipx upgrade hhcli
Linux:
pipx install hhcli --force --system-site-packages
Удалить:
pipx uninstall hhcli
Если ставили из исходников, удалите виртуальное окружение и данные по пути:
- Linux:
~/.local/share/hhcli - Windows:
%LOCALAPPDATA%\hhcli
TO DO
Дальнейшие планы:
- Поддержка macOS.
- Расширение возможностей фильтрации и аналитики по истории откликов.
- Нотификация и уведомление о непрочитанных сообщениях работодателей.
- Возможность изменения отправленного ранее сообщения работодателю.
Предыстория
Изначально hhcli не планировался как большой и долго поддерживаемый проект. Но текущая ситуация на рынке труда: глупые алгоритмы отбора, фейковые вакансии, некомпетентные HR'ы и в целом низкая эффективность ручного поиска и откликов через сайт мотивируют меня развивать этот инструмент дальше.
Прежняя версия hhcli делегировала практически всю работу с API утилите hh-applicant-tool, отчасти поэтому была полностью переписана в текущее исполнение. Подробнее можно ознакомиться в ветке legacy.
Legacy-версия перестала поддерживаться 26.10.2025, её дальнейшая работоспособность не гарантирована и полностью зависит от hh-applicant-tool.
Лицензия
Проект распространяется под лицензией MIT. Смотрите файл LICENSE для подробностей.
Metadata
Release files for hhcli 0.6.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hhcli-0.6.4.tar.gz | 84.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hhcli-0.6.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 186.6 kB
Release files / hhcli-0.6.4.tar.gz
| Download URL | hhcli-0.6.4.tar.gz |
|---|---|
| Size | 84.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eb496f3492b7f3fb9ff3f306ae2186ca51d8db13e627737e62faf042b3bba510
|
|
BLAKE2b-256 checksum How to use checksums |
7a54c2b5f5ac715b9e7d82ceeaa85a163d769247d13a93b9cf82e35874d2140f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / hhcli-0.6.4-py3-none-any.whl
| Download URL | hhcli-0.6.4-py3-none-any.whl |
|---|---|
| Size | 102.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b455295856ce63543f1594c88e6c01572add48e1dcca61b53c317f39a283080d
|
|
BLAKE2b-256 checksum How to use checksums |
ee266faab19171210ea4f64cbd43a8908cc29948eb9b082cbf05687ad5996dee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|